From 8ed3c5f71d847e870ea5a5e915f98fccc416cba7 Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Mon, 29 Jul 2019 13:42:00 +1000 Subject: [PATCH 01/31] Add seeking for live transcodes via video.js --- pkg/api/routes_scene.go | 21 +- pkg/ffmpeg/encoder_transcode.go | 13 +- ui/v2/package.json | 8 +- .../scenes/ScenePlayer/ScenePlayer.tsx | 110 +++++++++- ui/v2/src/index.scss | 5 + ui/v2/yarn.lock | 201 +++++++++++++++++- 6 files changed, 336 insertions(+), 22 deletions(-) diff --git a/pkg/api/routes_scene.go b/pkg/api/routes_scene.go index 965a6cb1a..ebc36b7fc 100644 --- a/pkg/api/routes_scene.go +++ b/pkg/api/routes_scene.go @@ -1,17 +1,18 @@ package api import ( - "io" "context" + "io" + "net/http" + "strconv" + "strings" + "github.com/go-chi/chi" + "github.com/stashapp/stash/pkg/ffmpeg" "github.com/stashapp/stash/pkg/logger" "github.com/stashapp/stash/pkg/manager" "github.com/stashapp/stash/pkg/models" "github.com/stashapp/stash/pkg/utils" - "github.com/stashapp/stash/pkg/ffmpeg" - "net/http" - "strconv" - "strings" ) type sceneRoutes struct{} @@ -41,7 +42,7 @@ func (rs sceneRoutes) Routes() chi.Router { func (rs sceneRoutes) Stream(w http.ResponseWriter, r *http.Request) { scene := r.Context().Value(sceneKey).(*models.Scene) - + // detect if not a streamable file and try to transcode it instead filepath := manager.GetInstance().Paths.Scene.GetStreamPath(scene.Path, scene.Checksum) @@ -58,10 +59,14 @@ func (rs sceneRoutes) Stream(w http.ResponseWriter, r *http.Request) { logger.Errorf("[stream] error reading video file: %s", err.Error()) return } - + + // start stream based on query param, if provided + r.ParseForm() + startTime := r.Form.Get("start") + encoder := ffmpeg.NewEncoder(manager.GetInstance().FFMPEGPath) - stream, process, err := encoder.StreamTranscode(*videoFile) + stream, process, err := encoder.StreamTranscode(*videoFile, startTime) if err != nil { logger.Errorf("[stream] error transcoding video file: %s", err.Error()) return diff --git a/pkg/ffmpeg/encoder_transcode.go b/pkg/ffmpeg/encoder_transcode.go index d8942b36b..32f8d1cca 100644 --- a/pkg/ffmpeg/encoder_transcode.go +++ b/pkg/ffmpeg/encoder_transcode.go @@ -26,8 +26,14 @@ func (e *Encoder) Transcode(probeResult VideoFile, options TranscodeOptions) { _, _ = e.run(probeResult, args) } -func (e *Encoder) StreamTranscode(probeResult VideoFile) (io.ReadCloser, *os.Process, error) { - args := []string{ +func (e *Encoder) StreamTranscode(probeResult VideoFile, startTime string) (io.ReadCloser, *os.Process, error) { + args := []string{} + + if startTime != "" { + args = append(args, "-ss", startTime) + } + + args = append(args, "-i", probeResult.Path, "-c:v", "libvpx-vp9", "-vf", "scale=iw:-2", @@ -37,6 +43,7 @@ func (e *Encoder) StreamTranscode(probeResult VideoFile) (io.ReadCloser, *os.Pro "-b:v", "0", "-f", "webm", "pipe:", - } + ) + return e.stream(probeResult, args) } diff --git a/ui/v2/package.json b/ui/v2/package.json index b2309d2e1..4e5c65601 100644 --- a/ui/v2/package.json +++ b/ui/v2/package.json @@ -12,6 +12,7 @@ "@types/react": "16.8.18", "@types/react-dom": "16.8.4", "@types/react-router-dom": "4.3.3", + "@types/video.js": "^7.2.11", "apollo-boost": "0.4.0", "axios": "0.18.0", "bulma": "0.7.5", @@ -30,7 +31,8 @@ "react-photo-gallery": "7.0.2", "react-router-dom": "5.0.0", "react-scripts": "3.0.1", - "react-use": "9.1.2" + "react-use": "9.1.2", + "video.js": "^7.6.0" }, "scripts": { "start": "react-scripts start", @@ -53,12 +55,12 @@ "devDependencies": { "graphql-code-generator": "0.18.2", "graphql-codegen-add": "0.18.2", + "graphql-codegen-time": "0.18.2", "graphql-codegen-typescript-client": "0.18.2", "graphql-codegen-typescript-common": "0.18.2", "graphql-codegen-typescript-react-apollo": "0.18.2", - "graphql-codegen-time": "0.18.2", "tslint": "5.16.0", "tslint-react": "4.0.0", "typescript": "3.4.5" } -} \ No newline at end of file +} diff --git a/ui/v2/src/components/scenes/ScenePlayer/ScenePlayer.tsx b/ui/v2/src/components/scenes/ScenePlayer/ScenePlayer.tsx index e1ce9a4b6..f05a3537a 100644 --- a/ui/v2/src/components/scenes/ScenePlayer/ScenePlayer.tsx +++ b/ui/v2/src/components/scenes/ScenePlayer/ScenePlayer.tsx @@ -4,15 +4,95 @@ import ReactJWPlayer from "react-jw-player"; import * as GQL from "../../../core/generated-graphql"; import { SceneHelpers } from "../helpers"; import { ScenePlayerScrubber } from "./ScenePlayerScrubber"; +import videojs from "video.js"; +import "video.js/dist/video-js.css"; interface IScenePlayerProps { scene: GQL.SceneDataFragment; timestamp: number; + onReady?: any; + onSeeked?: any; + onTime?: any; } interface IScenePlayerState { scrubberPosition: number; } +export class VideoJSPlayer extends React.Component { + private player: any; + private videoNode: any; + + constructor(props: IScenePlayerProps) { + super(props); + } + + componentDidMount() { + this.player = videojs(this.videoNode); + + this.player.src(this.props.scene.paths.stream); + + // hack duration + this.player.duration = () => { return this.props.scene.file.duration; }; + this.player.start = 0; + this.player.oldCurrentTime = this.player.currentTime; + this.player.currentTime = (time: any) => { + if( time == undefined ) + { + return this.player.oldCurrentTime() + this.player.start; + } + this.player.start = time; + this.player.oldCurrentTime(0); + this.player.src(this.props.scene.paths.stream + "?start=" + time); + this.player.play(); + + return this; + }; + + this.player.ready(() => { + // dirty hack - make this player look like JWPlayer + this.player.seek = this.player.currentTime; + this.player.getPosition = this.player.currentTime; + + // hook it into the window function + (window as any).jwplayer = () => { + return this.player; + } + + this.player.on("timeupdate", () => { + this.props.onTime(); + }); + + this.player.on("seeked", () => { + this.props.onSeeked(); + }); + + this.props.onReady(); + }); + } + + componentWillUnmount() { + if (this.player) { + this.player.dispose(); + } + } + + render() { + return ( +
+
+ +
+
+ ); + } +} + @HotkeysTarget export class ScenePlayer extends React.Component { private player: any; @@ -36,12 +116,11 @@ export class ScenePlayer extends React.Component -
- + ); + } else { + return ( + + + ) + } + } + + public render() { + return ( + <> +
+ {this.renderPlayer()} Date: Thu, 1 Aug 2019 11:27:53 +1000 Subject: [PATCH 02/31] Fix viewing jwplayer after non-jwplayer video --- .../scenes/SceneDetails/SceneMarkersPanel.tsx | 2 +- .../scenes/ScenePlayer/ScenePlayer.tsx | 18 ++++++++---------- ui/v2/src/components/scenes/helpers.tsx | 18 +++++++++++++++++- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/ui/v2/src/components/scenes/SceneDetails/SceneMarkersPanel.tsx b/ui/v2/src/components/scenes/SceneDetails/SceneMarkersPanel.tsx index 63f4e71b4..bf74b6281 100644 --- a/ui/v2/src/components/scenes/SceneDetails/SceneMarkersPanel.tsx +++ b/ui/v2/src/components/scenes/SceneDetails/SceneMarkersPanel.tsx @@ -40,7 +40,7 @@ export const SceneMarkersPanel: FunctionComponent = (pr const sceneMarkerUpdate = StashService.useSceneMarkerUpdate(); const sceneMarkerDestroy = StashService.useSceneMarkerDestroy(); - const jwplayer = SceneHelpers.getJWPlayer(); + const jwplayer = SceneHelpers.getPlayer(); function onOpenEditor(marker: GQL.SceneMarkerDataFragment | null = null) { setIsEditorOpen(true); diff --git a/ui/v2/src/components/scenes/ScenePlayer/ScenePlayer.tsx b/ui/v2/src/components/scenes/ScenePlayer/ScenePlayer.tsx index f05a3537a..1b33408d5 100644 --- a/ui/v2/src/components/scenes/ScenePlayer/ScenePlayer.tsx +++ b/ui/v2/src/components/scenes/ScenePlayer/ScenePlayer.tsx @@ -29,6 +29,12 @@ export class VideoJSPlayer extends React.Component { componentDidMount() { this.player = videojs(this.videoNode); + // dirty hack - make this player look like JWPlayer + this.player.seek = this.player.currentTime; + this.player.getPosition = this.player.currentTime; + + SceneHelpers.registerJSPlayer(this.player); + this.player.src(this.props.scene.paths.stream); // hack duration @@ -49,15 +55,6 @@ export class VideoJSPlayer extends React.Component { }; this.player.ready(() => { - // dirty hack - make this player look like JWPlayer - this.player.seek = this.player.currentTime; - this.player.getPosition = this.player.currentTime; - - // hook it into the window function - (window as any).jwplayer = () => { - return this.player; - } - this.player.on("timeupdate", () => { this.props.onTime(); }); @@ -73,6 +70,7 @@ export class VideoJSPlayer extends React.Component { componentWillUnmount() { if (this.player) { this.player.dispose(); + SceneHelpers.deregisterJSPlayer(); } } @@ -225,7 +223,7 @@ export class ScenePlayer extends React.Component 0) { this.player.seek(this.props.timestamp); } diff --git a/ui/v2/src/components/scenes/helpers.tsx b/ui/v2/src/components/scenes/helpers.tsx index 6749be137..3d7b0e3af 100644 --- a/ui/v2/src/components/scenes/helpers.tsx +++ b/ui/v2/src/components/scenes/helpers.tsx @@ -3,9 +3,12 @@ import { } from "@blueprintjs/core"; import React, { } from "react"; import { Link } from "react-router-dom"; +import videojs from "video.js"; import * as GQL from "../../core/generated-graphql"; export class SceneHelpers { + private static videoJSPlayer: videojs.Player | null; + public static maybeRenderStudio( scene: GQL.SceneDataFragment | GQL.SlimSceneDataFragment, height: number, @@ -33,8 +36,21 @@ export class SceneHelpers { ); } + public static registerJSPlayer(player : videojs.Player) { + this.videoJSPlayer = player; + } + + public static deregisterJSPlayer() { + this.videoJSPlayer = null; + } + public static getJWPlayerId(): string { return "main-jwplayer"; } - public static getJWPlayer(): any { + public static getPlayer(): any { + // return videoJSPlayer if it is set, otherwise use jwplayer() + if (this.videoJSPlayer) { + return this.videoJSPlayer; + } + return (window as any).jwplayer("main-jwplayer"); } } From aeef01a64c8482ff50372828d2e20b1c31009e5d Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Thu, 1 Aug 2019 11:36:29 +1000 Subject: [PATCH 03/31] Add row-based multithreading for live transcodes --- pkg/ffmpeg/encoder_transcode.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/ffmpeg/encoder_transcode.go b/pkg/ffmpeg/encoder_transcode.go index 32f8d1cca..5f336d439 100644 --- a/pkg/ffmpeg/encoder_transcode.go +++ b/pkg/ffmpeg/encoder_transcode.go @@ -39,6 +39,7 @@ func (e *Encoder) StreamTranscode(probeResult VideoFile, startTime string) (io.R "-vf", "scale=iw:-2", "-deadline", "realtime", "-cpu-used", "5", + "-row-mt", "1", "-crf", "30", "-b:v", "0", "-f", "webm", From 8cc276624482568203ec8287f954b0c5e0f031f8 Mon Sep 17 00:00:00 2001 From: ExceptionalError <43562640+ExceptionalError@users.noreply.github.com> Date: Thu, 29 Aug 2019 18:10:39 +0200 Subject: [PATCH 04/31] fix docker tag fix docker tag so it works with dockerhub (fixes #111) --- docker/production/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/production/docker-compose.yml b/docker/production/docker-compose.yml index 3d9bffa89..86c890b23 100644 --- a/docker/production/docker-compose.yml +++ b/docker/production/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.4' services: stash: - image: stashapp/stash:x86_64 + image: stashapp/stash:latest restart: unless-stopped ports: - "9999:9999" From 1d4feab4789f79513fe01e42ded392701dbbfbaa Mon Sep 17 00:00:00 2001 From: ExceptionalError <43562640+ExceptionalError@users.noreply.github.com> Date: Sat, 31 Aug 2019 07:11:01 +0200 Subject: [PATCH 05/31] Added quotes to path fixes #48 --- pkg/ffmpeg/encoder_screenshot.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/ffmpeg/encoder_screenshot.go b/pkg/ffmpeg/encoder_screenshot.go index 14ced4d18..47853249d 100644 --- a/pkg/ffmpeg/encoder_screenshot.go +++ b/pkg/ffmpeg/encoder_screenshot.go @@ -21,7 +21,7 @@ func (e *Encoder) Screenshot(probeResult VideoFile, options ScreenshotOptions) { "-v", options.Verbosity, "-ss", fmt.Sprintf("%v", options.Time), "-y", - "-i", probeResult.Path, // TODO: Wrap in quotes? + "-i", `"` + probeResult.Path + `"`, "-vframes", "1", "-q:v", fmt.Sprintf("%v", options.Quality), "-vf", fmt.Sprintf("scale=%v:-1", options.Width), From ac2bc77407fcec403373dcfc3a8be19b44c787a0 Mon Sep 17 00:00:00 2001 From: bill <48220860+bnkai@users.noreply.github.com> Date: Mon, 16 Sep 2019 00:52:02 +0300 Subject: [PATCH 06/31] fix isMissing date filter --- pkg/models/querybuilder_scene.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/models/querybuilder_scene.go b/pkg/models/querybuilder_scene.go index ee6090e95..a6f32fc2b 100644 --- a/pkg/models/querybuilder_scene.go +++ b/pkg/models/querybuilder_scene.go @@ -206,6 +206,8 @@ func (qb *SceneQueryBuilder) Query(sceneFilter *SceneFilterType, findFilter *Fin whereClauses = append(whereClauses, "scenes.studio_id IS NULL") case "performers": whereClauses = append(whereClauses, "performers_join.scene_id IS NULL") + case "date": + whereClauses = append(whereClauses, "scenes.date IS \"\" OR scenes.date IS \"0001-01-01\"") default: whereClauses = append(whereClauses, "scenes."+*isMissingFilter+" IS NULL") } From d2820f9a2304e934023eeca7f497c5a10cbbcc93 Mon Sep 17 00:00:00 2001 From: bill <48220860+bnkai@users.noreply.github.com> Date: Sun, 22 Sep 2019 00:47:03 +0300 Subject: [PATCH 07/31] fix apache thrift issue messing up with go test --- go.mod | 2 ++ go.sum | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index ff733f97b..f96b40437 100644 --- a/go.mod +++ b/go.mod @@ -22,3 +22,5 @@ require ( github.com/vektah/gqlparser v1.1.2 golang.org/x/image v0.0.0-20190118043309-183bebdce1b2 // indirect ) + +replace git.apache.org/thrift.git => github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999 diff --git a/go.sum b/go.sum index ddb5a70ee..7507f973d 100644 --- a/go.sum +++ b/go.sum @@ -9,8 +9,6 @@ dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= -git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= -git.apache.org/thrift.git v0.0.0-20180924222215-a9235805469b/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/99designs/gqlgen v0.4.5-0.20190127090136-055fb4bc9a6a h1:oTsAt8YXjEk1fo7uZR7gya1jrH48oPulx5oF6zWTHRw= github.com/99designs/gqlgen v0.4.5-0.20190127090136-055fb4bc9a6a/go.mod h1:st7qHA6ssU3uRZkmv+wzrzgX4srvIqEIdE5iuRW8GhE= github.com/99designs/gqlgen v0.8.2 h1:xOkDPWn/MZjkQ32pu6Axx15mNah0NAq9WalFqT+RavA= @@ -38,6 +36,7 @@ github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo github.com/andybalholm/cascadia v1.0.0 h1:hOCXnnZ5A+3eVDX8pvgl4kofXv2ELss0bKcqRySc45o= github.com/andybalholm/cascadia v1.0.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/aws/aws-sdk-go v1.15.54/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= From 0787ead25e35e053648a4901b5616e1186a196e5 Mon Sep 17 00:00:00 2001 From: joyov <56232119+joyov@users.noreply.github.com> Date: Mon, 7 Oct 2019 17:46:32 +0000 Subject: [PATCH 08/31] Install ca-certificates in Docker container --- docker/production/x86_64/Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docker/production/x86_64/Dockerfile b/docker/production/x86_64/Dockerfile index f0ac02349..d70a0883a 100644 --- a/docker/production/x86_64/Dockerfile +++ b/docker/production/x86_64/Dockerfile @@ -2,8 +2,7 @@ FROM ubuntu:18.04 as prep LABEL MAINTAINER="leopere [at] nixc [dot] us" RUN apt-get update && \ - apt-get -y install curl xz-utils ca-certificates -y && \ - update-ca-certificates && \ + apt-get -y install curl xz-utils && \ apt-get autoclean -y && \ rm -rf /var/lib/apt/lists/* WORKDIR / @@ -16,7 +15,9 @@ RUN curl -L -o /stash $(curl -s https://api.github.com/repos/stashapp/stash/rele mv /ffmpeg*/ /ffmpeg/ FROM ubuntu:18.04 as app -RUN adduser stash --gecos GECOS --shell /bin/bash --disabled-password --home /home/stash +RUN apt-get update && \ + apt-get -y install ca-certificates && \ + adduser stash --gecos GECOS --shell /bin/bash --disabled-password --home /home/stash COPY --from=prep /stash /ffmpeg/ffmpeg /ffmpeg/ffprobe /usr/bin/ EXPOSE 9999 CMD ["stash"] From d082580ee04dee2fbac71a8186e6fe7a78e4d275 Mon Sep 17 00:00:00 2001 From: ExceptionalError <43562640+ExceptionalError@users.noreply.github.com> Date: Wed, 9 Oct 2019 06:15:00 +0200 Subject: [PATCH 09/31] modified args for screenshot --- pkg/ffmpeg/encoder_screenshot.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/ffmpeg/encoder_screenshot.go b/pkg/ffmpeg/encoder_screenshot.go index 47853249d..cb018e33b 100644 --- a/pkg/ffmpeg/encoder_screenshot.go +++ b/pkg/ffmpeg/encoder_screenshot.go @@ -18,14 +18,14 @@ func (e *Encoder) Screenshot(probeResult VideoFile, options ScreenshotOptions) { options.Quality = 1 } args := []string{ - "-v", options.Verbosity, - "-ss", fmt.Sprintf("%v", options.Time), + "-v " + options.Verbosity, + fmt.Sprintf("-ss %v", options.Time), "-y", - "-i", `"` + probeResult.Path + `"`, - "-vframes", "1", - "-q:v", fmt.Sprintf("%v", options.Quality), - "-vf", fmt.Sprintf("scale=%v:-1", options.Width), - "-f", "image2", + "-i \"" + probeResult.Path + "\"", + "-vframes 1", + fmt.Sprintf("-q:v %v", options.Quality), + fmt.Sprintf("-vf scale=%v:-1", options.Width), + "-f image2", options.OutputPath, } _, _ = e.run(probeResult, args) From 10af75a6701b50fabc0ce1b273da2d43df8b10d4 Mon Sep 17 00:00:00 2001 From: ExceptionalError <43562640+ExceptionalError@users.noreply.github.com> Date: Wed, 9 Oct 2019 06:16:17 +0200 Subject: [PATCH 10/31] Added output of error message --- pkg/ffmpeg/encoder.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/ffmpeg/encoder.go b/pkg/ffmpeg/encoder.go index caf6413b6..2cf03d483 100644 --- a/pkg/ffmpeg/encoder.go +++ b/pkg/ffmpeg/encoder.go @@ -57,7 +57,7 @@ func (e *Encoder) run(probeResult VideoFile, args []string) (string, error) { stdoutString := string(stdoutData) if err := cmd.Wait(); err != nil { - logger.Errorf("ffmpeg error when running command <%s>", strings.Join(cmd.Args, " ")) + logger.Errorf("ffmpeg error when running command <%s>: %s", strings.Join(cmd.Args, " "), stdoutString) return stdoutString, err } From 7c9426202013674757f2d3bbbb0969ecf022099f Mon Sep 17 00:00:00 2001 From: Friendly C <52448715+friendlycrab@users.noreply.github.com> Date: Tue, 2 Jul 2019 12:01:12 +0200 Subject: [PATCH 11/31] Freeones Scrape: Fix scraping by alias --- pkg/scraper/freeones.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/scraper/freeones.go b/pkg/scraper/freeones.go index 9a26af08e..a2063a3bf 100644 --- a/pkg/scraper/freeones.go +++ b/pkg/scraper/freeones.go @@ -65,6 +65,10 @@ func GetPerformer(performerName string) (*models.ScrapedPerformer, error) { if strings.ToLower(s.Text()) == strings.ToLower(performerName) { return true } + alias := s.ParentsFiltered(".babeNameBlock").Find(".babeAlias").First(); + if strings.EqualFold(alias.Text(), "aka " + performerName) { + return true + } return false }) From 2c9675b48bd32f1d14d2e3a315d903e016b0b0c3 Mon Sep 17 00:00:00 2001 From: joyov <56232119+joyov@users.noreply.github.com> Date: Fri, 11 Oct 2019 20:01:18 +0200 Subject: [PATCH 12/31] Fix scheme detection when reverse proxy is used --- pkg/api/server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/api/server.go b/pkg/api/server.go index bbda0a649..85fe2e05a 100644 --- a/pkg/api/server.go +++ b/pkg/api/server.go @@ -222,7 +222,7 @@ func BaseURLMiddleware(next http.Handler) http.Handler { ctx := r.Context() var scheme string - if strings.Compare("https", r.URL.Scheme) == 0 || r.Proto == "HTTP/2.0" { + if strings.Compare("https", r.URL.Scheme) == 0 || r.Proto == "HTTP/2.0" || r.Header.Get("X-Forwarded-Proto") == "https" { scheme = "https" } else { scheme = "http" From e317fd934b16e21fb828f1f7b4b158dfc80da257 Mon Sep 17 00:00:00 2001 From: Leopere <1068374+Leopere@users.noreply.github.com> Date: Fri, 11 Oct 2019 16:51:11 -0400 Subject: [PATCH 13/31] partial reversion of PR #117 --- pkg/ffmpeg/encoder_screenshot.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/ffmpeg/encoder_screenshot.go b/pkg/ffmpeg/encoder_screenshot.go index 47853249d..14ced4d18 100644 --- a/pkg/ffmpeg/encoder_screenshot.go +++ b/pkg/ffmpeg/encoder_screenshot.go @@ -21,7 +21,7 @@ func (e *Encoder) Screenshot(probeResult VideoFile, options ScreenshotOptions) { "-v", options.Verbosity, "-ss", fmt.Sprintf("%v", options.Time), "-y", - "-i", `"` + probeResult.Path + `"`, + "-i", probeResult.Path, // TODO: Wrap in quotes? "-vframes", "1", "-q:v", fmt.Sprintf("%v", options.Quality), "-vf", fmt.Sprintf("scale=%v:-1", options.Width), From afcadd941b90af2260a054b2e8b789aa4e9f73eb Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Sat, 12 Oct 2019 19:20:27 +1100 Subject: [PATCH 14/31] Make title from file metadata optional --- .../queries/settings/metadata.graphql | 4 +- graphql/schema/schema.graphql | 2 +- graphql/schema/types/metadata.graphql | 4 ++ pkg/api/resolver_query_metadata.go | 5 +- pkg/ffmpeg/ffprobe.go | 6 +- pkg/manager/manager_tasks.go | 4 +- pkg/manager/task_scan.go | 8 ++- pkg/models/generated_exec.go | 62 +++++++++++++++++-- pkg/models/generated_models.go | 4 ++ .../SettingsTasksPanel/SettingsTasksPanel.tsx | 13 ++-- ui/v2/src/core/StashService.ts | 3 +- ui/v2/src/core/generated-graphql.tsx | 14 +++-- 12 files changed, 105 insertions(+), 24 deletions(-) diff --git a/graphql/documents/queries/settings/metadata.graphql b/graphql/documents/queries/settings/metadata.graphql index 603ecaadb..ef45011f9 100644 --- a/graphql/documents/queries/settings/metadata.graphql +++ b/graphql/documents/queries/settings/metadata.graphql @@ -6,8 +6,8 @@ query MetadataExport { metadataExport } -query MetadataScan { - metadataScan +query MetadataScan($input: ScanMetadataInput!) { + metadataScan(input: $input) } query MetadataGenerate($input: GenerateMetadataInput!) { diff --git a/graphql/schema/schema.graphql b/graphql/schema/schema.graphql index 1bac03071..466c406e3 100644 --- a/graphql/schema/schema.graphql +++ b/graphql/schema/schema.graphql @@ -57,7 +57,7 @@ type Query { """Start an export. Returns the job ID""" metadataExport: String! """Start a scan. Returns the job ID""" - metadataScan: String! + metadataScan(input: ScanMetadataInput!): String! """Start generating content. Returns the job ID""" metadataGenerate(input: GenerateMetadataInput!): String! """Clean metadata. Returns the job ID""" diff --git a/graphql/schema/types/metadata.graphql b/graphql/schema/types/metadata.graphql index f332c0b2c..28190c487 100644 --- a/graphql/schema/types/metadata.graphql +++ b/graphql/schema/types/metadata.graphql @@ -3,4 +3,8 @@ input GenerateMetadataInput { previews: Boolean! markers: Boolean! transcodes: Boolean! +} + +input ScanMetadataInput { + nameFromMetadata: Boolean! } \ No newline at end of file diff --git a/pkg/api/resolver_query_metadata.go b/pkg/api/resolver_query_metadata.go index 1e00000f9..925d86d8e 100644 --- a/pkg/api/resolver_query_metadata.go +++ b/pkg/api/resolver_query_metadata.go @@ -2,12 +2,13 @@ package api import ( "context" + "github.com/stashapp/stash/pkg/manager" "github.com/stashapp/stash/pkg/models" ) -func (r *queryResolver) MetadataScan(ctx context.Context) (string, error) { - manager.GetInstance().Scan() +func (r *queryResolver) MetadataScan(ctx context.Context, input models.ScanMetadataInput) (string, error) { + manager.GetInstance().Scan(input.NameFromMetadata) return "todo", nil } diff --git a/pkg/ffmpeg/ffprobe.go b/pkg/ffmpeg/ffprobe.go index 98f2f9dc3..cbddb14d3 100644 --- a/pkg/ffmpeg/ffprobe.go +++ b/pkg/ffmpeg/ffprobe.go @@ -89,7 +89,7 @@ func parse(filePath string, probeJSON *FFProbeJSON) (*VideoFile, error) { if result.Title == "" { // default title to filename - result.Title = filepath.Base(result.Path) + result.SetTitleFromPath() } result.Comment = probeJSON.Format.Tags.Comment @@ -161,3 +161,7 @@ func (v *VideoFile) getStreamIndex(fileType string, probeJSON FFProbeJSON) int { return -1 } + +func (v *VideoFile) SetTitleFromPath() { + v.Title = filepath.Base(v.Path) +} diff --git a/pkg/manager/manager_tasks.go b/pkg/manager/manager_tasks.go index 3d64e1c03..0d8580fa0 100644 --- a/pkg/manager/manager_tasks.go +++ b/pkg/manager/manager_tasks.go @@ -11,7 +11,7 @@ import ( "github.com/stashapp/stash/pkg/utils" ) -func (s *singleton) Scan() { +func (s *singleton) Scan(nameFromMetadata bool) { if s.Status != Idle { return } @@ -31,7 +31,7 @@ func (s *singleton) Scan() { var wg sync.WaitGroup for _, path := range results { wg.Add(1) - task := ScanTask{FilePath: path} + task := ScanTask{FilePath: path, NameFromMetadata: nameFromMetadata} go task.Start(&wg) wg.Wait() } diff --git a/pkg/manager/task_scan.go b/pkg/manager/task_scan.go index b2e11d7cc..795d02d51 100644 --- a/pkg/manager/task_scan.go +++ b/pkg/manager/task_scan.go @@ -16,7 +16,8 @@ import ( ) type ScanTask struct { - FilePath string + FilePath string + NameFromMetadata bool } func (t *ScanTask) Start(wg *sync.WaitGroup) { @@ -90,6 +91,11 @@ func (t *ScanTask) scanScene() { return } + // Override title to be filename if nameFromMetadata is false + if !t.NameFromMetadata { + videoFile.SetTitleFromPath() + } + checksum, err := t.calculateChecksum() if err != nil { logger.Error(err.Error()) diff --git a/pkg/models/generated_exec.go b/pkg/models/generated_exec.go index a3a1aa11c..41d0c4dc2 100644 --- a/pkg/models/generated_exec.go +++ b/pkg/models/generated_exec.go @@ -175,7 +175,7 @@ type ComplexityRoot struct { MetadataExport func(childComplexity int) int MetadataGenerate func(childComplexity int, input GenerateMetadataInput) int MetadataImport func(childComplexity int) int - MetadataScan func(childComplexity int) int + MetadataScan func(childComplexity int, input ScanMetadataInput) int SceneMarkerTags func(childComplexity int, sceneID string) int SceneWall func(childComplexity int, q *string) int ScrapeFreeones func(childComplexity int, performerName string) int @@ -351,7 +351,7 @@ type QueryResolver interface { Directories(ctx context.Context, path *string) ([]string, error) MetadataImport(ctx context.Context) (string, error) MetadataExport(ctx context.Context) (string, error) - MetadataScan(ctx context.Context) (string, error) + MetadataScan(ctx context.Context, input ScanMetadataInput) (string, error) MetadataGenerate(ctx context.Context, input GenerateMetadataInput) (string, error) MetadataClean(ctx context.Context) (string, error) AllPerformers(ctx context.Context) ([]*Performer, error) @@ -1156,7 +1156,12 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - return e.complexity.Query.MetadataScan(childComplexity), true + args, err := ec.field_Query_metadataScan_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.MetadataScan(childComplexity, args["input"].(ScanMetadataInput)), true case "Query.sceneMarkerTags": if e.complexity.Query.SceneMarkerTags == nil { @@ -1887,7 +1892,7 @@ type Query { """Start an export. Returns the job ID""" metadataExport: String! """Start a scan. Returns the job ID""" - metadataScan: String! + metadataScan(input: ScanMetadataInput!): String! """Start generating content. Returns the job ID""" metadataGenerate(input: GenerateMetadataInput!): String! """Clean metadata. Returns the job ID""" @@ -2070,6 +2075,10 @@ type FindGalleriesResultType { previews: Boolean! markers: Boolean! transcodes: Boolean! +} + +input ScanMetadataInput { + nameFromMetadata: Boolean! }`}, &ast.Source{Name: "graphql/schema/types/performer.graphql", Input: `type Performer { id: ID! @@ -2803,6 +2812,20 @@ func (ec *executionContext) field_Query_metadataGenerate_args(ctx context.Contex return args, nil } +func (ec *executionContext) field_Query_metadataScan_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 ScanMetadataInput + if tmp, ok := rawArgs["input"]; ok { + arg0, err = ec.unmarshalNScanMetadataInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScanMetadataInput(ctx, tmp) + if err != nil { + return nil, err + } + } + args["input"] = arg0 + return args, nil +} + func (ec *executionContext) field_Query_sceneMarkerTags_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} @@ -5357,10 +5380,17 @@ func (ec *executionContext) _Query_metadataScan(ctx context.Context, field graph IsMethod: true, } ctx = graphql.WithResolverContext(ctx, rctx) + rawArgs := field.ArgumentMap(ec.Variables) + args, err := ec.field_Query_metadataScan_args(ctx, rawArgs) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + rctx.Args = args ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().MetadataScan(rctx) + return ec.resolvers.Query().MetadataScan(rctx, args["input"].(ScanMetadataInput)) }) if resTmp == nil { if !ec.HasError(rctx) { @@ -8623,6 +8653,24 @@ func (ec *executionContext) unmarshalInputPerformerUpdateInput(ctx context.Conte return it, nil } +func (ec *executionContext) unmarshalInputScanMetadataInput(ctx context.Context, v interface{}) (ScanMetadataInput, error) { + var it ScanMetadataInput + var asMap = v.(map[string]interface{}) + + for k, v := range asMap { + switch k { + case "nameFromMetadata": + var err error + it.NameFromMetadata, err = ec.unmarshalNBoolean2bool(ctx, v) + if err != nil { + return it, err + } + } + } + + return it, nil +} + func (ec *executionContext) unmarshalInputSceneFilterType(ctx context.Context, v interface{}) (SceneFilterType, error) { var it SceneFilterType var asMap = v.(map[string]interface{}) @@ -11454,6 +11502,10 @@ func (ec *executionContext) unmarshalNPerformerUpdateInput2githubᚗcomᚋstasha return ec.unmarshalInputPerformerUpdateInput(ctx, v) } +func (ec *executionContext) unmarshalNScanMetadataInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScanMetadataInput(ctx context.Context, v interface{}) (ScanMetadataInput, error) { + return ec.unmarshalInputScanMetadataInput(ctx, v) +} + func (ec *executionContext) marshalNScene2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx context.Context, sel ast.SelectionSet, v Scene) graphql.Marshaler { return ec._Scene(ctx, sel, &v) } diff --git a/pkg/models/generated_models.go b/pkg/models/generated_models.go index 6967b914a..129b1cd5a 100644 --- a/pkg/models/generated_models.go +++ b/pkg/models/generated_models.go @@ -153,6 +153,10 @@ type PerformerUpdateInput struct { Image *string `json:"image"` } +type ScanMetadataInput struct { + NameFromMetadata bool `json:"nameFromMetadata"` +} + type SceneFileType struct { Size *string `json:"size"` Duration *float64 `json:"duration"` diff --git a/ui/v2/src/components/Settings/SettingsTasksPanel/SettingsTasksPanel.tsx b/ui/v2/src/components/Settings/SettingsTasksPanel/SettingsTasksPanel.tsx index d98062bf9..d1c5e5ab4 100644 --- a/ui/v2/src/components/Settings/SettingsTasksPanel/SettingsTasksPanel.tsx +++ b/ui/v2/src/components/Settings/SettingsTasksPanel/SettingsTasksPanel.tsx @@ -1,13 +1,10 @@ import { Alert, Button, + Checkbox, Divider, FormGroup, - H1, H4, - H6, - InputGroup, - Tag, } from "@blueprintjs/core"; import React, { FunctionComponent, useState } from "react"; import * as GQL from "../../../core/generated-graphql"; @@ -21,6 +18,7 @@ interface IProps {} export const SettingsTasksPanel: FunctionComponent = (props: IProps) => { const [isImportAlertOpen, setIsImportAlertOpen] = useState(false); + const [nameFromMetadata, setNameFromMetadata] = useState(true); function onImport() { setIsImportAlertOpen(false); @@ -48,7 +46,7 @@ export const SettingsTasksPanel: FunctionComponent = (props: IProps) => async function onScan() { try { - await StashService.queryMetadataScan(); + await StashService.queryMetadataScan({nameFromMetadata}); ToastUtils.success("Started scan"); } catch (e) { ErrorUtils.handle(e); @@ -65,6 +63,11 @@ export const SettingsTasksPanel: FunctionComponent = (props: IProps) => labelFor="scan" inline={true} > + setNameFromMetadata(!nameFromMetadata)} + />
); } else if (filter.displayMode === DisplayMode.List) { - return

TODO

; + return ; } else if (filter.displayMode === DisplayMode.Wall) { return ; } diff --git a/ui/v2/src/components/scenes/SceneListTable.tsx b/ui/v2/src/components/scenes/SceneListTable.tsx new file mode 100644 index 000000000..7b7937131 --- /dev/null +++ b/ui/v2/src/components/scenes/SceneListTable.tsx @@ -0,0 +1,104 @@ +import { + H4, + HTMLTable, + H5, + H6, + } from "@blueprintjs/core"; + import React, { FunctionComponent } from "react"; + import { Link } from "react-router-dom"; + import * as GQL from "../../core/generated-graphql"; + import { TextUtils } from "../../utils/text"; + import { TagLink } from "../Shared/TagLink"; +import { NavigationUtils } from "../../utils/navigation"; + + interface ISceneListTableProps { + scenes: GQL.SlimSceneDataFragment[]; + } + + export const SceneListTable: FunctionComponent = (props: ISceneListTableProps) => { + + function renderDuration(scene : GQL.SlimSceneDataFragment) { + if (scene.file.duration === undefined) { return; } + return TextUtils.secondsToTimestamp(scene.file.duration); + } + + function renderTags(tags : GQL.SlimSceneDataTags[]) { + return tags.map((tag) => ( + +
{tag.name}
+ + )); + } + + function renderPerformers(performers : GQL.SlimSceneDataPerformers[]) { + return performers.map((performer) => ( + +
{performer.name}
+ + )); + } + + function renderStudio(studio : GQL.SlimSceneDataStudio | undefined) { + if (!!studio) { + return ( + +
{studio.name}
+ + ); + } + } + + function renderSceneRow(scene : GQL.SlimSceneDataFragment) { + return ( + <> + + + +
+ {!!scene.title ? scene.title : TextUtils.fileNameFromPath(scene.path)} +
+ + + + {scene.rating ? scene.rating : ''} + + + {renderDuration(scene)} + + + {renderTags(scene.tags)} + + + {renderPerformers(scene.performers)} + + + {renderStudio(scene.studio)} + + + + ) + } + + return ( + <> +
+ + + + Title + Rating + Duration + Tags + Performers + Studio + + + + {props.scenes.map(renderSceneRow)} + + +
+ + ); + }; + \ No newline at end of file From bdd704ddef340fa9bdbc0459f9f00889afb6b294 Mon Sep 17 00:00:00 2001 From: Friendly C <52448715+friendlycrab@users.noreply.github.com> Date: Tue, 2 Jul 2019 13:17:30 +0200 Subject: [PATCH 24/31] Remove UI V1 --- ui/v1/LICENSE | 21 - ui/v1/README.md | 8 - ui/v1/angular.json | 105 - ui/v1/codegen.yml | 13 - ui/v1/package.json | 66 - ui/v1/src/app/app-routing.module.ts | 25 - ui/v1/src/app/app.component.ts | 12 - ui/v1/src/app/app.module.ts | 30 - ui/v1/src/app/core/core.module.ts | 45 - .../core/dashboard/dashboard.component.css | 0 .../core/dashboard/dashboard.component.html | 50 - .../app/core/dashboard/dashboard.component.ts | 23 - ui/v1/src/app/core/graphql-generated.ts | 2305 ----- .../navigation-bar.component.css | 0 .../navigation-bar.component.html | 38 - .../navigation-bar.component.ts | 22 - .../page-not-found.component.css | 0 .../page-not-found.component.html | 1 - .../page-not-found.component.ts | 15 - ui/v1/src/app/core/stash.service.ts | 508 -- .../app/galleries/galleries-routing.module.ts | 22 - ui/v1/src/app/galleries/galleries.module.ts | 25 - ui/v1/src/app/galleries/galleries.service.ts | 11 - .../galleries/galleries.component.ts | 13 - .../gallery-detail.component.css | 40 - .../gallery-detail.component.html | 22 - .../gallery-detail.component.ts | 92 - .../gallery-list/gallery-list.component.html | 7 - .../gallery-list/gallery-list.component.ts | 23 - .../performer-detail.component.css | 0 .../performer-detail.component.html | 122 - .../performer-detail.component.ts | 56 - .../performer-form.component.css | 0 .../performer-form.component.html | 118 - .../performer-form.component.ts | 204 - .../performer-list.component.html | 7 - .../performer-list.component.ts | 23 - .../performers/performers-routing.module.ts | 29 - ui/v1/src/app/performers/performers.module.ts | 29 - .../src/app/performers/performers.service.ts | 11 - .../performers/performers.component.ts | 13 - .../marker-list/marker-list.component.ts | 16 - .../scene-detail-marker-manager.component.css | 0 ...scene-detail-marker-manager.component.html | 87 - .../scene-detail-marker-manager.component.ts | 162 - .../scene-detail-scrubber.component.css | 128 - .../scene-detail-scrubber.component.html | 30 - .../scene-detail-scrubber.component.ts | 232 - .../scene-detail/scene-detail.component.css | 0 .../scene-detail/scene-detail.component.html | 96 - .../scene-detail/scene-detail.component.ts | 82 - .../scene-form/scene-form.component.css | 0 .../scene-form/scene-form.component.html | 98 - .../scenes/scene-form/scene-form.component.ts | 87 - .../scenes/scene-list/scene-list.component.ts | 16 - .../scene-wall/scene-wall.component.css | 0 .../scene-wall/scene-wall.component.html | 37 - .../scenes/scene-wall/scene-wall.component.ts | 84 - ui/v1/src/app/scenes/scenes-routing.module.ts | 32 - ui/v1/src/app/scenes/scenes.module.ts | 35 - ui/v1/src/app/scenes/scenes.service.ts | 11 - .../src/app/scenes/scenes/scenes.component.ts | 13 - .../app/settings/settings-routing.module.ts | 16 - ui/v1/src/app/settings/settings.module.ts | 16 - .../settings/settings/settings.component.html | 20 - .../settings/settings/settings.component.ts | 58 - ui/v1/src/app/shared/age.pipe.ts | 23 - .../base-wall-item.component.ts | 85 - ui/v1/src/app/shared/capitalize.pipe.ts | 15 - ui/v1/src/app/shared/file-name.pipe.ts | 13 - ui/v1/src/app/shared/file-size.pipe.ts | 29 - .../gallery-card/gallery-card.component.css | 0 .../gallery-card/gallery-card.component.html | 9 - .../gallery-card/gallery-card.component.ts | 28 - .../gallery-preview.component.css | 0 .../gallery-preview.component.html | 11 - .../gallery-preview.component.ts | 98 - .../shared/jwplayer/jwplayer.component.css | 0 .../shared/jwplayer/jwplayer.component.html | 4 - .../app/shared/jwplayer/jwplayer.component.ts | 139 - .../list-filter/list-filter.component.html | 121 - .../list-filter/list-filter.component.ts | 105 - ui/v1/src/app/shared/list/list.component.css | 0 ui/v1/src/app/shared/list/list.component.html | 85 - ui/v1/src/app/shared/list/list.component.ts | 95 - ui/v1/src/app/shared/models/gallery.model.ts | 5 - .../src/app/shared/models/list-state.model.ts | 426 - .../performer-card.component.css | 0 .../performer-card.component.html | 18 - .../performer-card.component.ts | 21 - .../performer-list-item.component.html | 32 - .../performer-list-item.component.scss | 0 .../performer-list-item.component.ts | 44 - .../scene-card/scene-card.component.css | 0 .../scene-card/scene-card.component.html | 89 - .../shared/scene-card/scene-card.component.ts | 58 - .../scene-list-item.component.css | 0 .../scene-list-item.component.html | 36 - .../scene-list-item.component.ts | 32 - .../scene-marker-wall-item.component.html | 38 - .../scene-marker-wall-item.component.ts | 25 - .../scene-wall-item.component.html | 13 - .../scene-wall-item.component.ts | 37 - ui/v1/src/app/shared/seconds.pipe.ts | 12 - ui/v1/src/app/shared/shared.module.ts | 105 - ui/v1/src/app/shared/shuffle.pipe.ts | 30 - .../studio-card/studio-card.component.css | 0 .../studio-card/studio-card.component.html | 5 - .../studio-card/studio-card.component.ts | 27 - .../sui-pagination.component.css | 0 .../sui-pagination.component.html | 19 - .../sui-pagination.component.ts | 39 - ui/v1/src/app/shared/truncate.pipe.ts | 12 - ui/v1/src/app/shared/visible.directive.ts | 57 - .../studio-detail.component.html | 51 - .../studio-detail.component.scss | 0 .../studio-detail/studio-detail.component.ts | 48 - .../studio-form/studio-form.component.html | 38 - .../studio-form/studio-form.component.ts | 89 - .../studio-list/studio-list.component.html | 7 - .../studio-list/studio-list.component.ts | 22 - .../src/app/studios/studios-routing.module.ts | 25 - ui/v1/src/app/studios/studios.module.ts | 27 - ui/v1/src/app/studios/studios.service.ts | 11 - .../app/studios/studios/studios.component.ts | 13 - .../tags/tag-detail/tag-detail.component.ts | 47 - .../app/tags/tag-form/tag-form.component.html | 13 - .../app/tags/tag-form/tag-form.component.scss | 0 .../app/tags/tag-form/tag-form.component.ts | 71 - .../app/tags/tag-list/tag-list.component.html | 35 - .../app/tags/tag-list/tag-list.component.scss | 0 .../app/tags/tag-list/tag-list.component.ts | 44 - ui/v1/src/app/tags/tags-routing.module.ts | 25 - ui/v1/src/app/tags/tags.module.ts | 22 - ui/v1/src/app/tags/tags/tags.component.ts | 13 - ui/v1/src/assets/.gitkeep | 0 ui/v1/src/assets/semantic.min.css | 372 - .../default/assets/fonts/brand-icons.eot | Bin 98640 -> 0 bytes .../default/assets/fonts/brand-icons.svg | 1008 --- .../default/assets/fonts/brand-icons.ttf | Bin 98404 -> 0 bytes .../default/assets/fonts/brand-icons.woff | Bin 63728 -> 0 bytes .../default/assets/fonts/brand-icons.woff2 | Bin 54488 -> 0 bytes .../themes/default/assets/fonts/icons.eot | Bin 106004 -> 0 bytes .../themes/default/assets/fonts/icons.otf | Bin 93888 -> 0 bytes .../themes/default/assets/fonts/icons.svg | 1518 ---- .../themes/default/assets/fonts/icons.ttf | Bin 105784 -> 0 bytes .../themes/default/assets/fonts/icons.woff | Bin 50524 -> 0 bytes .../themes/default/assets/fonts/icons.woff2 | Bin 40148 -> 0 bytes .../default/assets/fonts/outline-icons.eot | Bin 31156 -> 0 bytes .../default/assets/fonts/outline-icons.svg | 366 - .../default/assets/fonts/outline-icons.ttf | Bin 30928 -> 0 bytes .../default/assets/fonts/outline-icons.woff | Bin 14712 -> 0 bytes .../default/assets/fonts/outline-icons.woff2 | Bin 12240 -> 0 bytes .../themes/default/assets/images/flags.png | Bin 28123 -> 0 bytes ui/v1/src/browserslist | 9 - ui/v1/src/environments/environment.prod.ts | 3 - ui/v1/src/environments/environment.ts | 15 - ui/v1/src/favicon.ico | Bin 3134 -> 0 bytes ui/v1/src/index.html | 18 - ui/v1/src/main.ts | 12 - ui/v1/src/polyfills.ts | 80 - ui/v1/src/styles.scss | 432 - ui/v1/src/tsconfig.app.json | 12 - ui/v1/src/tslint.json | 18 - ui/v1/tsconfig.json | 22 - ui/v1/tslint.json | 130 - ui/v1/yarn.lock | 7833 ----------------- 167 files changed, 19999 deletions(-) delete mode 100644 ui/v1/LICENSE delete mode 100644 ui/v1/README.md delete mode 100644 ui/v1/angular.json delete mode 100644 ui/v1/codegen.yml delete mode 100644 ui/v1/package.json delete mode 100644 ui/v1/src/app/app-routing.module.ts delete mode 100644 ui/v1/src/app/app.component.ts delete mode 100644 ui/v1/src/app/app.module.ts delete mode 100644 ui/v1/src/app/core/core.module.ts delete mode 100644 ui/v1/src/app/core/dashboard/dashboard.component.css delete mode 100644 ui/v1/src/app/core/dashboard/dashboard.component.html delete mode 100644 ui/v1/src/app/core/dashboard/dashboard.component.ts delete mode 100644 ui/v1/src/app/core/graphql-generated.ts delete mode 100644 ui/v1/src/app/core/navigation-bar/navigation-bar.component.css delete mode 100644 ui/v1/src/app/core/navigation-bar/navigation-bar.component.html delete mode 100644 ui/v1/src/app/core/navigation-bar/navigation-bar.component.ts delete mode 100644 ui/v1/src/app/core/page-not-found/page-not-found.component.css delete mode 100644 ui/v1/src/app/core/page-not-found/page-not-found.component.html delete mode 100644 ui/v1/src/app/core/page-not-found/page-not-found.component.ts delete mode 100644 ui/v1/src/app/core/stash.service.ts delete mode 100644 ui/v1/src/app/galleries/galleries-routing.module.ts delete mode 100644 ui/v1/src/app/galleries/galleries.module.ts delete mode 100644 ui/v1/src/app/galleries/galleries.service.ts delete mode 100644 ui/v1/src/app/galleries/galleries/galleries.component.ts delete mode 100644 ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.css delete mode 100644 ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.html delete mode 100644 ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.ts delete mode 100644 ui/v1/src/app/galleries/gallery-list/gallery-list.component.html delete mode 100644 ui/v1/src/app/galleries/gallery-list/gallery-list.component.ts delete mode 100644 ui/v1/src/app/performers/performer-detail/performer-detail.component.css delete mode 100644 ui/v1/src/app/performers/performer-detail/performer-detail.component.html delete mode 100644 ui/v1/src/app/performers/performer-detail/performer-detail.component.ts delete mode 100644 ui/v1/src/app/performers/performer-form/performer-form.component.css delete mode 100644 ui/v1/src/app/performers/performer-form/performer-form.component.html delete mode 100644 ui/v1/src/app/performers/performer-form/performer-form.component.ts delete mode 100644 ui/v1/src/app/performers/performer-list/performer-list.component.html delete mode 100644 ui/v1/src/app/performers/performer-list/performer-list.component.ts delete mode 100644 ui/v1/src/app/performers/performers-routing.module.ts delete mode 100644 ui/v1/src/app/performers/performers.module.ts delete mode 100644 ui/v1/src/app/performers/performers.service.ts delete mode 100644 ui/v1/src/app/performers/performers/performers.component.ts delete mode 100644 ui/v1/src/app/scenes/marker-list/marker-list.component.ts delete mode 100644 ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.css delete mode 100644 ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.html delete mode 100644 ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.ts delete mode 100644 ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.css delete mode 100644 ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.html delete mode 100644 ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.ts delete mode 100644 ui/v1/src/app/scenes/scene-detail/scene-detail.component.css delete mode 100644 ui/v1/src/app/scenes/scene-detail/scene-detail.component.html delete mode 100644 ui/v1/src/app/scenes/scene-detail/scene-detail.component.ts delete mode 100644 ui/v1/src/app/scenes/scene-form/scene-form.component.css delete mode 100644 ui/v1/src/app/scenes/scene-form/scene-form.component.html delete mode 100644 ui/v1/src/app/scenes/scene-form/scene-form.component.ts delete mode 100644 ui/v1/src/app/scenes/scene-list/scene-list.component.ts delete mode 100644 ui/v1/src/app/scenes/scene-wall/scene-wall.component.css delete mode 100644 ui/v1/src/app/scenes/scene-wall/scene-wall.component.html delete mode 100644 ui/v1/src/app/scenes/scene-wall/scene-wall.component.ts delete mode 100644 ui/v1/src/app/scenes/scenes-routing.module.ts delete mode 100644 ui/v1/src/app/scenes/scenes.module.ts delete mode 100644 ui/v1/src/app/scenes/scenes.service.ts delete mode 100644 ui/v1/src/app/scenes/scenes/scenes.component.ts delete mode 100644 ui/v1/src/app/settings/settings-routing.module.ts delete mode 100644 ui/v1/src/app/settings/settings.module.ts delete mode 100644 ui/v1/src/app/settings/settings/settings.component.html delete mode 100644 ui/v1/src/app/settings/settings/settings.component.ts delete mode 100644 ui/v1/src/app/shared/age.pipe.ts delete mode 100644 ui/v1/src/app/shared/base-wall-item/base-wall-item.component.ts delete mode 100644 ui/v1/src/app/shared/capitalize.pipe.ts delete mode 100644 ui/v1/src/app/shared/file-name.pipe.ts delete mode 100644 ui/v1/src/app/shared/file-size.pipe.ts delete mode 100644 ui/v1/src/app/shared/gallery-card/gallery-card.component.css delete mode 100644 ui/v1/src/app/shared/gallery-card/gallery-card.component.html delete mode 100644 ui/v1/src/app/shared/gallery-card/gallery-card.component.ts delete mode 100644 ui/v1/src/app/shared/gallery-preview/gallery-preview.component.css delete mode 100644 ui/v1/src/app/shared/gallery-preview/gallery-preview.component.html delete mode 100644 ui/v1/src/app/shared/gallery-preview/gallery-preview.component.ts delete mode 100644 ui/v1/src/app/shared/jwplayer/jwplayer.component.css delete mode 100644 ui/v1/src/app/shared/jwplayer/jwplayer.component.html delete mode 100644 ui/v1/src/app/shared/jwplayer/jwplayer.component.ts delete mode 100644 ui/v1/src/app/shared/list-filter/list-filter.component.html delete mode 100644 ui/v1/src/app/shared/list-filter/list-filter.component.ts delete mode 100644 ui/v1/src/app/shared/list/list.component.css delete mode 100644 ui/v1/src/app/shared/list/list.component.html delete mode 100644 ui/v1/src/app/shared/list/list.component.ts delete mode 100644 ui/v1/src/app/shared/models/gallery.model.ts delete mode 100644 ui/v1/src/app/shared/models/list-state.model.ts delete mode 100644 ui/v1/src/app/shared/performer-card/performer-card.component.css delete mode 100644 ui/v1/src/app/shared/performer-card/performer-card.component.html delete mode 100644 ui/v1/src/app/shared/performer-card/performer-card.component.ts delete mode 100644 ui/v1/src/app/shared/performer-list-item/performer-list-item.component.html delete mode 100644 ui/v1/src/app/shared/performer-list-item/performer-list-item.component.scss delete mode 100644 ui/v1/src/app/shared/performer-list-item/performer-list-item.component.ts delete mode 100644 ui/v1/src/app/shared/scene-card/scene-card.component.css delete mode 100644 ui/v1/src/app/shared/scene-card/scene-card.component.html delete mode 100644 ui/v1/src/app/shared/scene-card/scene-card.component.ts delete mode 100644 ui/v1/src/app/shared/scene-list-item/scene-list-item.component.css delete mode 100644 ui/v1/src/app/shared/scene-list-item/scene-list-item.component.html delete mode 100644 ui/v1/src/app/shared/scene-list-item/scene-list-item.component.ts delete mode 100644 ui/v1/src/app/shared/scene-marker-wall-item/scene-marker-wall-item.component.html delete mode 100644 ui/v1/src/app/shared/scene-marker-wall-item/scene-marker-wall-item.component.ts delete mode 100644 ui/v1/src/app/shared/scene-wall-item/scene-wall-item.component.html delete mode 100644 ui/v1/src/app/shared/scene-wall-item/scene-wall-item.component.ts delete mode 100644 ui/v1/src/app/shared/seconds.pipe.ts delete mode 100644 ui/v1/src/app/shared/shared.module.ts delete mode 100644 ui/v1/src/app/shared/shuffle.pipe.ts delete mode 100644 ui/v1/src/app/shared/studio-card/studio-card.component.css delete mode 100644 ui/v1/src/app/shared/studio-card/studio-card.component.html delete mode 100644 ui/v1/src/app/shared/studio-card/studio-card.component.ts delete mode 100644 ui/v1/src/app/shared/sui-pagination/sui-pagination.component.css delete mode 100644 ui/v1/src/app/shared/sui-pagination/sui-pagination.component.html delete mode 100644 ui/v1/src/app/shared/sui-pagination/sui-pagination.component.ts delete mode 100644 ui/v1/src/app/shared/truncate.pipe.ts delete mode 100644 ui/v1/src/app/shared/visible.directive.ts delete mode 100644 ui/v1/src/app/studios/studio-detail/studio-detail.component.html delete mode 100644 ui/v1/src/app/studios/studio-detail/studio-detail.component.scss delete mode 100644 ui/v1/src/app/studios/studio-detail/studio-detail.component.ts delete mode 100644 ui/v1/src/app/studios/studio-form/studio-form.component.html delete mode 100644 ui/v1/src/app/studios/studio-form/studio-form.component.ts delete mode 100644 ui/v1/src/app/studios/studio-list/studio-list.component.html delete mode 100644 ui/v1/src/app/studios/studio-list/studio-list.component.ts delete mode 100644 ui/v1/src/app/studios/studios-routing.module.ts delete mode 100644 ui/v1/src/app/studios/studios.module.ts delete mode 100644 ui/v1/src/app/studios/studios.service.ts delete mode 100644 ui/v1/src/app/studios/studios/studios.component.ts delete mode 100644 ui/v1/src/app/tags/tag-detail/tag-detail.component.ts delete mode 100644 ui/v1/src/app/tags/tag-form/tag-form.component.html delete mode 100644 ui/v1/src/app/tags/tag-form/tag-form.component.scss delete mode 100644 ui/v1/src/app/tags/tag-form/tag-form.component.ts delete mode 100644 ui/v1/src/app/tags/tag-list/tag-list.component.html delete mode 100644 ui/v1/src/app/tags/tag-list/tag-list.component.scss delete mode 100644 ui/v1/src/app/tags/tag-list/tag-list.component.ts delete mode 100644 ui/v1/src/app/tags/tags-routing.module.ts delete mode 100644 ui/v1/src/app/tags/tags.module.ts delete mode 100644 ui/v1/src/app/tags/tags/tags.component.ts delete mode 100644 ui/v1/src/assets/.gitkeep delete mode 100755 ui/v1/src/assets/semantic.min.css delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/brand-icons.eot delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/brand-icons.svg delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/brand-icons.ttf delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/brand-icons.woff delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/brand-icons.woff2 delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.eot delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.otf delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.svg delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.ttf delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.woff delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.woff2 delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/outline-icons.eot delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/outline-icons.svg delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/outline-icons.ttf delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/outline-icons.woff delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/outline-icons.woff2 delete mode 100755 ui/v1/src/assets/themes/default/assets/images/flags.png delete mode 100644 ui/v1/src/browserslist delete mode 100644 ui/v1/src/environments/environment.prod.ts delete mode 100644 ui/v1/src/environments/environment.ts delete mode 100644 ui/v1/src/favicon.ico delete mode 100644 ui/v1/src/index.html delete mode 100644 ui/v1/src/main.ts delete mode 100644 ui/v1/src/polyfills.ts delete mode 100644 ui/v1/src/styles.scss delete mode 100644 ui/v1/src/tsconfig.app.json delete mode 100644 ui/v1/src/tslint.json delete mode 100644 ui/v1/tsconfig.json delete mode 100644 ui/v1/tslint.json delete mode 100644 ui/v1/yarn.lock diff --git a/ui/v1/LICENSE b/ui/v1/LICENSE deleted file mode 100644 index 187095e9b..000000000 --- a/ui/v1/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 StashApp - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/ui/v1/README.md b/ui/v1/README.md deleted file mode 100644 index 91388cc6b..000000000 --- a/ui/v1/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Stash Frontend V1 - -## Dev - -* `yarn install` to install the modules -* `yarn start` to start the dev UI server on port 4200 -* `yarn schema` to regenerate graphql code -* `ng build --prod` to build the dist directory diff --git a/ui/v1/angular.json b/ui/v1/angular.json deleted file mode 100644 index 9e0d37925..000000000 --- a/ui/v1/angular.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "stash-frontend": { - "root": "", - "sourceRoot": "src", - "projectType": "application", - "prefix": "app", - "schematics": { - "@schematics/angular:component": { - "styleext": "scss", - "spec": false - }, - "@schematics/angular:class": { - "spec": false - }, - "@schematics/angular:directive": { - "spec": false - }, - "@schematics/angular:guard": { - "spec": false - }, - "@schematics/angular:module": { - "spec": false - }, - "@schematics/angular:pipe": { - "spec": false - }, - "@schematics/angular:service": { - "spec": false - } - }, - "architect": { - "build": { - "builder": "@angular-devkit/build-angular:browser", - "options": { - "outputPath": "dist/stash-frontend", - "index": "src/index.html", - "main": "src/main.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "src/tsconfig.app.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.scss" - ], - "scripts": [] - }, - "configurations": { - "production": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ], - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "extractCss": true, - "namedChunks": false, - "aot": true, - "extractLicenses": true, - "vendorChunk": false, - "buildOptimizer": true - } - } - }, - "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "options": { - "browserTarget": "stash-frontend:build" - }, - "configurations": { - "production": { - "browserTarget": "stash-frontend:build:production" - } - } - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "browserTarget": "stash-frontend:build" - } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": [ - "src/tsconfig.app.json" - ], - "exclude": [ - "**/node_modules/**" - ] - } - } - } - } - }, - "defaultProject": "stash-frontend" -} \ No newline at end of file diff --git a/ui/v1/codegen.yml b/ui/v1/codegen.yml deleted file mode 100644 index 13d6227aa..000000000 --- a/ui/v1/codegen.yml +++ /dev/null @@ -1,13 +0,0 @@ -schema: "../../graphql/schema/**/*.graphql" -overwrite: true -generates: - ./../../schema/schema.json: - - introspection - ./src/app/core/graphql-generated.ts: - documents: ./../../graphql/documents/**/*.graphql - plugins: - - add: "/* tslint:disable */" - - time - - typescript-common - - typescript-client - - typescript-apollo-angular \ No newline at end of file diff --git a/ui/v1/package.json b/ui/v1/package.json deleted file mode 100644 index b1b7e8c61..000000000 --- a/ui/v1/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "stash-frontend", - "version": "0.0.0", - "license": "MIT", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "test": "ng test", - "lint": "ng lint", - "e2e": "ng e2e", - "dev:server": "ng serve --disableHostCheck --host=0.0.0.0 --port 7001 --ssl true --ssl-cert '../../certs/server.crt' --ssl-key '../../certs/server.key'", - "schema": "gql-gen" - }, - "private": true, - "dependencies": { - "@angular/animations": "7.2.1", - "@angular/common": "7.2.1", - "@angular/compiler": "7.2.1", - "@angular/core": "7.2.1", - "@angular/forms": "7.2.1", - "@angular/http": "7.2.1", - "@angular/platform-browser": "7.2.1", - "@angular/platform-browser-dynamic": "7.2.1", - "@angular/router": "7.2.1", - "apollo-angular": "1.5.0", - "apollo-angular-link-http": "1.4.0", - "apollo-cache-inmemory": "1.4.2", - "apollo-client": "2.4.12", - "apollo-link": "1.2.6", - "apollo-link-error": "1.1.5", - "apollo-link-ws": "1.0.14", - "core-js": "2.6.2", - "graphql": "14.1.1", - "graphql-code-generator": "0.15.2", - "graphql-codegen-add": "0.15.2", - "graphql-codegen-introspection": "0.15.2", - "graphql-codegen-time": "0.15.2", - "graphql-codegen-typescript-apollo-angular": "0.15.2", - "graphql-codegen-typescript-client": "0.15.2", - "graphql-codegen-typescript-common": "0.15.2", - "graphql-codegen-typescript-resolvers": "0.15.2", - "graphql-codegen-typescript-server": "0.15.2", - "graphql-tag": "2.10.1", - "ng-lazyload-image": "5.0.0", - "ng2-semantic-ui": "0.9.7", - "ngx-clipboard": "11.1.9", - "ngx-pagination": "3.2.1", - "rxjs": "6.3.3", - "rxjs-compat": "6.3.3", - "subscriptions-transport-ws": "0.9.15", - "zone.js": "0.8.28" - }, - "devDependencies": { - "@angular/cli": "7.2.2", - "@angular/compiler-cli": "7.2.1", - "@angular/language-service": "7.2.1", - "@angular-devkit/build-angular": "0.12.2", - "@types/node": "10.12.18", - "@types/zen-observable": "0.8.0", - "codelyzer": "4.5.0", - "ts-node": "7.0.1", - "tslint": "5.12.1", - "typescript": "3.2.4" - } -} \ No newline at end of file diff --git a/ui/v1/src/app/app-routing.module.ts b/ui/v1/src/app/app-routing.module.ts deleted file mode 100644 index a9f22e08c..000000000 --- a/ui/v1/src/app/app-routing.module.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; - -import { PageNotFoundComponent } from './core/page-not-found/page-not-found.component'; -import { DashboardComponent } from './core/dashboard/dashboard.component'; - -const appRoutes: Routes = [ - { path: '', component: DashboardComponent }, - { path: 'scenes', loadChildren: './scenes/scenes.module#ScenesModule' }, - { path: 'galleries', loadChildren: './galleries/galleries.module#GalleriesModule' }, - { path: 'performers', loadChildren: './performers/performers.module#PerformersModule' }, - { path: 'studios', loadChildren: './studios/studios.module#StudiosModule' }, - { path: 'tags', loadChildren: './tags/tags.module#TagsModule' }, - { path: 'settings', loadChildren: './settings/settings.module#SettingsModule' }, - { path: '**', component: PageNotFoundComponent } -]; - -@NgModule({ - imports: [ - RouterModule.forRoot(appRoutes) - ], - exports: [RouterModule], - providers: [] -}) -export class AppRoutingModule {} diff --git a/ui/v1/src/app/app.component.ts b/ui/v1/src/app/app.component.ts deleted file mode 100644 index ec821cf81..000000000 --- a/ui/v1/src/app/app.component.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-root', - template: ` - -
- -
- ` -}) -export class AppComponent {} diff --git a/ui/v1/src/app/app.module.ts b/ui/v1/src/app/app.module.ts deleted file mode 100644 index 5e779e3c6..000000000 --- a/ui/v1/src/app/app.module.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { NgModule } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { Router } from '@angular/router'; - -// App -import { AppComponent } from './app.component'; - -// Modules -import { CoreModule } from './core/core.module'; -import { AppRoutingModule } from './app-routing.module'; - -@NgModule({ - imports: [ - BrowserModule, - BrowserAnimationsModule, - // Only include non-lazy loaded modules here - CoreModule, - // Keep app routing last so that other module routes install first - AppRoutingModule - ], - declarations: [AppComponent], - bootstrap: [AppComponent] -}) -export class AppModule { - // Diagnostic only: inspect router configuration - constructor(router: Router) { - console.log('Routes: ', JSON.stringify(router.config, undefined, 2)); - } -} diff --git a/ui/v1/src/app/core/core.module.ts b/ui/v1/src/app/core/core.module.ts deleted file mode 100644 index ab4f513dd..000000000 --- a/ui/v1/src/app/core/core.module.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { NgModule, Optional, SkipSelf } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { RouterModule } from '@angular/router'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { HttpClientModule } from '@angular/common/http'; -import { ApolloModule } from 'apollo-angular'; -import { HttpLinkModule } from 'apollo-angular-link-http'; - -import { NavigationBarComponent } from './navigation-bar/navigation-bar.component'; -import { PageNotFoundComponent } from './page-not-found/page-not-found.component'; -import { DashboardComponent } from './dashboard/dashboard.component'; - -import { StashService } from './stash.service'; - -@NgModule({ - imports: [ - CommonModule, - RouterModule, - HttpClientModule, - FormsModule, - ReactiveFormsModule, - ApolloModule, - HttpLinkModule - ], - declarations: [ - NavigationBarComponent, - PageNotFoundComponent, - DashboardComponent - ], - exports: [ - NavigationBarComponent, - PageNotFoundComponent, - DashboardComponent - ], - providers: [ - StashService - ] -}) -export class CoreModule { - constructor (@Optional() @SkipSelf() parentModule: CoreModule) { - if (parentModule) { - throw new Error('CoreModule is already loaded. Import it in the AppModule only'); - } - } -} diff --git a/ui/v1/src/app/core/dashboard/dashboard.component.css b/ui/v1/src/app/core/dashboard/dashboard.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/core/dashboard/dashboard.component.html b/ui/v1/src/app/core/dashboard/dashboard.component.html deleted file mode 100644 index f2dd2bc81..000000000 --- a/ui/v1/src/app/core/dashboard/dashboard.component.html +++ /dev/null @@ -1,50 +0,0 @@ -
-
-
-
-
- {{stats?.scene_count}} -
-
- Scenes -
-
-
-
- {{stats?.gallery_count}} -
-
- Galleries -
-
-
-
- {{stats?.performer_count}} -
-
- Performers -
-
-
-
- {{stats?.studio_count}} -
-
- Studios -
-
-
-
- {{stats?.tag_count}} -
-
- Tags -
-
-
-
-
-
-
-
-
diff --git a/ui/v1/src/app/core/dashboard/dashboard.component.ts b/ui/v1/src/app/core/dashboard/dashboard.component.ts deleted file mode 100644 index 37aa454c8..000000000 --- a/ui/v1/src/app/core/dashboard/dashboard.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { StashService } from '../stash.service'; - -@Component({ - selector: 'app-dashboard', - templateUrl: './dashboard.component.html', - styleUrls: ['./dashboard.component.css'] -}) -export class DashboardComponent implements OnInit { - stats: any; - - constructor(private stashService: StashService) {} - - ngOnInit() { - this.fetchStats(); - } - - async fetchStats() { - const result = await this.stashService.stats().result(); - this.stats = result.data.stats; - } - -} diff --git a/ui/v1/src/app/core/graphql-generated.ts b/ui/v1/src/app/core/graphql-generated.ts deleted file mode 100644 index e2e7c8d82..000000000 --- a/ui/v1/src/app/core/graphql-generated.ts +++ /dev/null @@ -1,2305 +0,0 @@ -/* tslint:disable */ -// Generated in 2019-02-09T01:48:09-08:00 -export type Maybe = T | null; - -export interface SceneFilterType { - /** Filter by rating */ - rating?: Maybe; - /** Filter by resolution */ - resolution?: Maybe; - /** Filter to only include scenes which have markers. `true` or `false` */ - has_markers?: Maybe; - /** Filter to only include scenes missing this property */ - is_missing?: Maybe; - /** Filter to only include scenes with this studio */ - studio_id?: Maybe; - /** Filter to only include scenes with these tags */ - tags?: Maybe; - /** Filter to only include scenes with this performer */ - performer_id?: Maybe; -} - -export interface FindFilterType { - q?: Maybe; - - page?: Maybe; - - per_page?: Maybe; - - sort?: Maybe; - - direction?: Maybe; -} - -export interface SceneMarkerFilterType { - /** Filter to only include scene markers with this tag */ - tag_id?: Maybe; - /** Filter to only include scene markers with these tags */ - tags?: Maybe; - /** Filter to only include scene markers attached to a scene with these tags */ - scene_tags?: Maybe; - /** Filter to only include scene markers with these performers */ - performers?: Maybe; -} - -export interface PerformerFilterType { - /** Filter by favorite */ - filter_favorites?: Maybe; -} - -export interface SceneUpdateInput { - clientMutationId?: Maybe; - - id: string; - - title?: Maybe; - - details?: Maybe; - - url?: Maybe; - - date?: Maybe; - - rating?: Maybe; - - studio_id?: Maybe; - - gallery_id?: Maybe; - - performer_ids?: Maybe; - - tag_ids?: Maybe; -} - -export interface SceneMarkerCreateInput { - title: string; - - seconds: number; - - scene_id: string; - - primary_tag_id: string; - - tag_ids?: Maybe; -} - -export interface SceneMarkerUpdateInput { - id: string; - - title: string; - - seconds: number; - - scene_id: string; - - primary_tag_id: string; - - tag_ids?: Maybe; -} - -export interface PerformerCreateInput { - name?: Maybe; - - url?: Maybe; - - birthdate?: Maybe; - - ethnicity?: Maybe; - - country?: Maybe; - - eye_color?: Maybe; - - height?: Maybe; - - measurements?: Maybe; - - fake_tits?: Maybe; - - career_length?: Maybe; - - tattoos?: Maybe; - - piercings?: Maybe; - - aliases?: Maybe; - - twitter?: Maybe; - - instagram?: Maybe; - - favorite?: Maybe; - /** This should be base64 encoded */ - image: string; -} - -export interface PerformerUpdateInput { - id: string; - - name?: Maybe; - - url?: Maybe; - - birthdate?: Maybe; - - ethnicity?: Maybe; - - country?: Maybe; - - eye_color?: Maybe; - - height?: Maybe; - - measurements?: Maybe; - - fake_tits?: Maybe; - - career_length?: Maybe; - - tattoos?: Maybe; - - piercings?: Maybe; - - aliases?: Maybe; - - twitter?: Maybe; - - instagram?: Maybe; - - favorite?: Maybe; - /** This should be base64 encoded */ - image?: Maybe; -} - -export interface StudioCreateInput { - name: string; - - url?: Maybe; - /** This should be base64 encoded */ - image: string; -} - -export interface StudioUpdateInput { - id: string; - - name?: Maybe; - - url?: Maybe; - /** This should be base64 encoded */ - image?: Maybe; -} - -export interface TagCreateInput { - name: string; -} - -export interface TagUpdateInput { - id: string; - - name: string; -} - -export interface TagDestroyInput { - id: string; -} - -export enum ResolutionEnum { - Low = "LOW", - Standard = "STANDARD", - StandardHd = "STANDARD_HD", - FullHd = "FULL_HD", - FourK = "FOUR_K" -} - -export enum SortDirectionEnum { - Asc = "ASC", - Desc = "DESC" -} - -// ==================================================== -// Documents -// ==================================================== - -export namespace FindScenes { - export type Variables = { - filter?: Maybe; - scene_filter?: Maybe; - scene_ids?: Maybe; - }; - - export type Query = { - __typename?: "Query"; - - findScenes: FindScenes; - }; - - export type FindScenes = { - __typename?: "FindScenesResultType"; - - count: number; - - scenes: Scenes[]; - }; - - export type Scenes = SlimSceneData.Fragment; -} - -export namespace FindScene { - export type Variables = { - id: string; - checksum?: Maybe; - }; - - export type Query = { - __typename?: "Query"; - - findScene: Maybe; - - sceneMarkerTags: SceneMarkerTags[]; - }; - - export type FindScene = SceneData.Fragment; - - export type SceneMarkerTags = { - __typename?: "SceneMarkerTag"; - - tag: Tag; - - scene_markers: SceneMarkers[]; - }; - - export type Tag = { - __typename?: "Tag"; - - id: string; - - name: string; - }; - - export type SceneMarkers = SceneMarkerData.Fragment; -} - -export namespace FindSceneForEditing { - export type Variables = { - id?: Maybe; - }; - - export type Query = { - __typename?: "Query"; - - findScene: Maybe; - - allPerformers: AllPerformers[]; - - allTags: AllTags[]; - - allStudios: AllStudios[]; - - validGalleriesForScene: ValidGalleriesForScene[]; - }; - - export type FindScene = SceneData.Fragment; - - export type AllPerformers = { - __typename?: "Performer"; - - id: string; - - name: Maybe; - - birthdate: Maybe; - - image_path: Maybe; - }; - - export type AllTags = { - __typename?: "Tag"; - - id: string; - - name: string; - }; - - export type AllStudios = { - __typename?: "Studio"; - - id: string; - - name: string; - }; - - export type ValidGalleriesForScene = { - __typename?: "Gallery"; - - id: string; - - path: string; - }; -} - -export namespace FindSceneMarkers { - export type Variables = { - filter?: Maybe; - scene_marker_filter?: Maybe; - }; - - export type Query = { - __typename?: "Query"; - - findSceneMarkers: FindSceneMarkers; - }; - - export type FindSceneMarkers = { - __typename?: "FindSceneMarkersResultType"; - - count: number; - - scene_markers: SceneMarkers[]; - }; - - export type SceneMarkers = SceneMarkerData.Fragment; -} - -export namespace SceneWall { - export type Variables = { - q?: Maybe; - }; - - export type Query = { - __typename?: "Query"; - - sceneWall: SceneWall[]; - }; - - export type SceneWall = SceneData.Fragment; -} - -export namespace MarkerWall { - export type Variables = { - q?: Maybe; - }; - - export type Query = { - __typename?: "Query"; - - markerWall: MarkerWall[]; - }; - - export type MarkerWall = SceneMarkerData.Fragment; -} - -export namespace FindPerformers { - export type Variables = { - filter?: Maybe; - performer_filter?: Maybe; - }; - - export type Query = { - __typename?: "Query"; - - findPerformers: FindPerformers; - }; - - export type FindPerformers = { - __typename?: "FindPerformersResultType"; - - count: number; - - performers: Performers[]; - }; - - export type Performers = PerformerData.Fragment; -} - -export namespace FindPerformer { - export type Variables = { - id: string; - }; - - export type Query = { - __typename?: "Query"; - - findPerformer: Maybe; - }; - - export type FindPerformer = PerformerData.Fragment; -} - -export namespace FindStudios { - export type Variables = { - filter?: Maybe; - }; - - export type Query = { - __typename?: "Query"; - - findStudios: FindStudios; - }; - - export type FindStudios = { - __typename?: "FindStudiosResultType"; - - count: number; - - studios: Studios[]; - }; - - export type Studios = StudioData.Fragment; -} - -export namespace FindStudio { - export type Variables = { - id: string; - }; - - export type Query = { - __typename?: "Query"; - - findStudio: Maybe; - }; - - export type FindStudio = StudioData.Fragment; -} - -export namespace FindGalleries { - export type Variables = { - filter?: Maybe; - }; - - export type Query = { - __typename?: "Query"; - - findGalleries: FindGalleries; - }; - - export type FindGalleries = { - __typename?: "FindGalleriesResultType"; - - count: number; - - galleries: Galleries[]; - }; - - export type Galleries = GalleryData.Fragment; -} - -export namespace FindGallery { - export type Variables = { - id: string; - }; - - export type Query = { - __typename?: "Query"; - - findGallery: Maybe; - }; - - export type FindGallery = GalleryData.Fragment; -} - -export namespace FindTag { - export type Variables = { - id: string; - }; - - export type Query = { - __typename?: "Query"; - - findTag: Maybe; - }; - - export type FindTag = TagData.Fragment; -} - -export namespace MarkerStrings { - export type Variables = { - q?: Maybe; - sort?: Maybe; - }; - - export type Query = { - __typename?: "Query"; - - markerStrings: (Maybe)[]; - }; - - export type MarkerStrings = { - __typename?: "MarkerStringsResultType"; - - id: string; - - count: number; - - title: string; - }; -} - -export namespace ScrapeFreeones { - export type Variables = { - performer_name: string; - }; - - export type Query = { - __typename?: "Query"; - - scrapeFreeones: Maybe; - }; - - export type ScrapeFreeones = { - __typename?: "ScrapedPerformer"; - - name: Maybe; - - url: Maybe; - - twitter: Maybe; - - instagram: Maybe; - - birthdate: Maybe; - - ethnicity: Maybe; - - country: Maybe; - - eye_color: Maybe; - - height: Maybe; - - measurements: Maybe; - - fake_tits: Maybe; - - career_length: Maybe; - - tattoos: Maybe; - - piercings: Maybe; - - aliases: Maybe; - }; -} - -export namespace ScrapeFreeonesPerformers { - export type Variables = { - q: string; - }; - - export type Query = { - __typename?: "Query"; - - scrapeFreeonesPerformerList: string[]; - }; -} - -export namespace AllTags { - export type Variables = {}; - - export type Query = { - __typename?: "Query"; - - allTags: AllTags[]; - }; - - export type AllTags = TagData.Fragment; -} - -export namespace AllPerformersForFilter { - export type Variables = {}; - - export type Query = { - __typename?: "Query"; - - allPerformers: AllPerformers[]; - }; - - export type AllPerformers = SlimPerformerData.Fragment; -} - -export namespace AllTagsForFilter { - export type Variables = {}; - - export type Query = { - __typename?: "Query"; - - allTags: AllTags[]; - }; - - export type AllTags = { - __typename?: "Tag"; - - id: string; - - name: string; - }; -} - -export namespace Stats { - export type Variables = {}; - - export type Query = { - __typename?: "Query"; - - stats: Stats; - }; - - export type Stats = { - __typename?: "StatsResultType"; - - scene_count: number; - - gallery_count: number; - - performer_count: number; - - studio_count: number; - - tag_count: number; - }; -} - -export namespace SceneUpdate { - export type Variables = { - id: string; - title?: Maybe; - details?: Maybe; - url?: Maybe; - date?: Maybe; - rating?: Maybe; - studio_id?: Maybe; - gallery_id?: Maybe; - performer_ids?: Maybe; - tag_ids?: Maybe; - }; - - export type Mutation = { - __typename?: "Mutation"; - - sceneUpdate: Maybe; - }; - - export type SceneUpdate = SceneData.Fragment; -} - -export namespace PerformerCreate { - export type Variables = { - name?: Maybe; - url?: Maybe; - birthdate?: Maybe; - ethnicity?: Maybe; - country?: Maybe; - eye_color?: Maybe; - height?: Maybe; - measurements?: Maybe; - fake_tits?: Maybe; - career_length?: Maybe; - tattoos?: Maybe; - piercings?: Maybe; - aliases?: Maybe; - twitter?: Maybe; - instagram?: Maybe; - favorite?: Maybe; - image: string; - }; - - export type Mutation = { - __typename?: "Mutation"; - - performerCreate: Maybe; - }; - - export type PerformerCreate = PerformerData.Fragment; -} - -export namespace PerformerUpdate { - export type Variables = { - id: string; - name?: Maybe; - url?: Maybe; - birthdate?: Maybe; - ethnicity?: Maybe; - country?: Maybe; - eye_color?: Maybe; - height?: Maybe; - measurements?: Maybe; - fake_tits?: Maybe; - career_length?: Maybe; - tattoos?: Maybe; - piercings?: Maybe; - aliases?: Maybe; - twitter?: Maybe; - instagram?: Maybe; - favorite?: Maybe; - image?: Maybe; - }; - - export type Mutation = { - __typename?: "Mutation"; - - performerUpdate: Maybe; - }; - - export type PerformerUpdate = PerformerData.Fragment; -} - -export namespace StudioCreate { - export type Variables = { - name: string; - url?: Maybe; - image: string; - }; - - export type Mutation = { - __typename?: "Mutation"; - - studioCreate: Maybe; - }; - - export type StudioCreate = StudioData.Fragment; -} - -export namespace StudioUpdate { - export type Variables = { - id: string; - name?: Maybe; - url?: Maybe; - image?: Maybe; - }; - - export type Mutation = { - __typename?: "Mutation"; - - studioUpdate: Maybe; - }; - - export type StudioUpdate = StudioData.Fragment; -} - -export namespace TagCreate { - export type Variables = { - name: string; - }; - - export type Mutation = { - __typename?: "Mutation"; - - tagCreate: Maybe; - }; - - export type TagCreate = TagData.Fragment; -} - -export namespace TagDestroy { - export type Variables = { - id: string; - }; - - export type Mutation = { - __typename?: "Mutation"; - - tagDestroy: boolean; - }; -} - -export namespace TagUpdate { - export type Variables = { - id: string; - name: string; - }; - - export type Mutation = { - __typename?: "Mutation"; - - tagUpdate: Maybe; - }; - - export type TagUpdate = TagData.Fragment; -} - -export namespace SceneMarkerCreate { - export type Variables = { - title: string; - seconds: number; - scene_id: string; - primary_tag_id: string; - tag_ids?: Maybe; - }; - - export type Mutation = { - __typename?: "Mutation"; - - sceneMarkerCreate: Maybe; - }; - - export type SceneMarkerCreate = SceneMarkerData.Fragment; -} - -export namespace SceneMarkerUpdate { - export type Variables = { - id: string; - title: string; - seconds: number; - scene_id: string; - primary_tag_id: string; - tag_ids?: Maybe; - }; - - export type Mutation = { - __typename?: "Mutation"; - - sceneMarkerUpdate: Maybe; - }; - - export type SceneMarkerUpdate = SceneMarkerData.Fragment; -} - -export namespace SceneMarkerDestroy { - export type Variables = { - id: string; - }; - - export type Mutation = { - __typename?: "Mutation"; - - sceneMarkerDestroy: boolean; - }; -} - -export namespace MetadataImport { - export type Variables = {}; - - export type Query = { - __typename?: "Query"; - - metadataImport: string; - }; -} - -export namespace MetadataExport { - export type Variables = {}; - - export type Query = { - __typename?: "Query"; - - metadataExport: string; - }; -} - -export namespace MetadataScan { - export type Variables = {}; - - export type Query = { - __typename?: "Query"; - - metadataScan: string; - }; -} - -export namespace MetadataGenerate { - export type Variables = {}; - - export type Query = { - __typename?: "Query"; - - metadataGenerate: string; - }; -} - -export namespace MetadataClean { - export type Variables = {}; - - export type Query = { - __typename?: "Query"; - - metadataClean: string; - }; -} - -export namespace MetadataUpdate { - export type Variables = {}; - - export type Subscription = { - __typename?: "Subscription"; - - metadataUpdate: string; - }; -} - -export namespace GalleryData { - export type Fragment = { - __typename?: "Gallery"; - - id: string; - - checksum: string; - - path: string; - - title: Maybe; - - files: Files[]; - }; - - export type Files = { - __typename?: "GalleryFilesType"; - - index: number; - - name: Maybe; - - path: Maybe; - }; -} - -export namespace SlimPerformerData { - export type Fragment = { - __typename?: "Performer"; - - id: string; - - name: Maybe; - - image_path: Maybe; - }; -} - -export namespace PerformerData { - export type Fragment = { - __typename?: "Performer"; - - id: string; - - checksum: string; - - name: Maybe; - - url: Maybe; - - twitter: Maybe; - - instagram: Maybe; - - birthdate: Maybe; - - ethnicity: Maybe; - - country: Maybe; - - eye_color: Maybe; - - height: Maybe; - - measurements: Maybe; - - fake_tits: Maybe; - - career_length: Maybe; - - tattoos: Maybe; - - piercings: Maybe; - - aliases: Maybe; - - favorite: boolean; - - image_path: Maybe; - - scene_count: Maybe; - }; -} - -export namespace SceneMarkerData { - export type Fragment = { - __typename?: "SceneMarker"; - - id: string; - - title: string; - - seconds: number; - - stream: string; - - preview: string; - - scene: Scene; - - primary_tag: PrimaryTag; - - tags: Tags[]; - }; - - export type Scene = { - __typename?: "Scene"; - - id: string; - }; - - export type PrimaryTag = { - __typename?: "Tag"; - - id: string; - - name: string; - }; - - export type Tags = { - __typename?: "Tag"; - - id: string; - - name: string; - }; -} - -export namespace SlimSceneData { - export type Fragment = { - __typename?: "Scene"; - - id: string; - - checksum: string; - - title: Maybe; - - details: Maybe; - - url: Maybe; - - date: Maybe; - - rating: Maybe; - - path: string; - - file: File; - - paths: Paths; - - scene_markers: SceneMarkers[]; - - gallery: Maybe; - - studio: Maybe; - - tags: Tags[]; - - performers: Performers[]; - }; - - export type File = { - __typename?: "SceneFileType"; - - size: Maybe; - - duration: Maybe; - - video_codec: Maybe; - - audio_codec: Maybe; - - width: Maybe; - - height: Maybe; - - framerate: Maybe; - - bitrate: Maybe; - }; - - export type Paths = { - __typename?: "ScenePathsType"; - - screenshot: Maybe; - - preview: Maybe; - - stream: Maybe; - - webp: Maybe; - - vtt: Maybe; - - chapters_vtt: Maybe; - }; - - export type SceneMarkers = { - __typename?: "SceneMarker"; - - id: string; - - title: string; - - seconds: number; - }; - - export type Gallery = { - __typename?: "Gallery"; - - id: string; - - path: string; - - title: Maybe; - }; - - export type Studio = { - __typename?: "Studio"; - - id: string; - - name: string; - - image_path: Maybe; - }; - - export type Tags = { - __typename?: "Tag"; - - id: string; - - name: string; - }; - - export type Performers = { - __typename?: "Performer"; - - id: string; - - name: Maybe; - - favorite: boolean; - - image_path: Maybe; - }; -} - -export namespace SceneData { - export type Fragment = { - __typename?: "Scene"; - - id: string; - - checksum: string; - - title: Maybe; - - details: Maybe; - - url: Maybe; - - date: Maybe; - - rating: Maybe; - - path: string; - - file: File; - - paths: Paths; - - scene_markers: SceneMarkers[]; - - is_streamable: boolean; - - gallery: Maybe; - - studio: Maybe; - - tags: Tags[]; - - performers: Performers[]; - }; - - export type File = { - __typename?: "SceneFileType"; - - size: Maybe; - - duration: Maybe; - - video_codec: Maybe; - - audio_codec: Maybe; - - width: Maybe; - - height: Maybe; - - framerate: Maybe; - - bitrate: Maybe; - }; - - export type Paths = { - __typename?: "ScenePathsType"; - - screenshot: Maybe; - - preview: Maybe; - - stream: Maybe; - - webp: Maybe; - - vtt: Maybe; - - chapters_vtt: Maybe; - }; - - export type SceneMarkers = SceneMarkerData.Fragment; - - export type Gallery = GalleryData.Fragment; - - export type Studio = StudioData.Fragment; - - export type Tags = TagData.Fragment; - - export type Performers = PerformerData.Fragment; -} - -export namespace StudioData { - export type Fragment = { - __typename?: "Studio"; - - id: string; - - checksum: string; - - name: string; - - url: Maybe; - - image_path: Maybe; - - scene_count: Maybe; - }; -} - -export namespace TagData { - export type Fragment = { - __typename?: "Tag"; - - id: string; - - name: string; - - scene_count: Maybe; - - scene_marker_count: Maybe; - }; -} - -// ==================================================== -// START: Apollo Angular template -// ==================================================== - -import { Injectable } from "@angular/core"; -import * as Apollo from "apollo-angular"; - -import gql from "graphql-tag"; - -// ==================================================== -// GraphQL Fragments -// ==================================================== - -export const SlimPerformerDataFragment = gql` - fragment SlimPerformerData on Performer { - id - name - image_path - } -`; - -export const SlimSceneDataFragment = gql` - fragment SlimSceneData on Scene { - id - checksum - title - details - url - date - rating - path - file { - size - duration - video_codec - audio_codec - width - height - framerate - bitrate - } - paths { - screenshot - preview - stream - webp - vtt - chapters_vtt - } - scene_markers { - id - title - seconds - } - gallery { - id - path - title - } - studio { - id - name - image_path - } - tags { - id - name - } - performers { - id - name - favorite - image_path - } - } -`; - -export const SceneMarkerDataFragment = gql` - fragment SceneMarkerData on SceneMarker { - id - title - seconds - stream - preview - scene { - id - } - primary_tag { - id - name - } - tags { - id - name - } - } -`; - -export const GalleryDataFragment = gql` - fragment GalleryData on Gallery { - id - checksum - path - title - files { - index - name - path - } - } -`; - -export const StudioDataFragment = gql` - fragment StudioData on Studio { - id - checksum - name - url - image_path - scene_count - } -`; - -export const TagDataFragment = gql` - fragment TagData on Tag { - id - name - scene_count - scene_marker_count - } -`; - -export const PerformerDataFragment = gql` - fragment PerformerData on Performer { - id - checksum - name - url - twitter - instagram - birthdate - ethnicity - country - eye_color - height - measurements - fake_tits - career_length - tattoos - piercings - aliases - favorite - image_path - scene_count - } -`; - -export const SceneDataFragment = gql` - fragment SceneData on Scene { - id - checksum - title - details - url - date - rating - path - file { - size - duration - video_codec - audio_codec - width - height - framerate - bitrate - } - paths { - screenshot - preview - stream - webp - vtt - chapters_vtt - } - scene_markers { - ...SceneMarkerData - } - is_streamable - gallery { - ...GalleryData - } - studio { - ...StudioData - } - tags { - ...TagData - } - performers { - ...PerformerData - } - } - - ${SceneMarkerDataFragment} - ${GalleryDataFragment} - ${StudioDataFragment} - ${TagDataFragment} - ${PerformerDataFragment} -`; - -// ==================================================== -// Apollo Services -// ==================================================== - -@Injectable({ - providedIn: "root" -}) -export class FindScenesGQL extends Apollo.Query< - FindScenes.Query, - FindScenes.Variables -> { - document: any = gql` - query FindScenes( - $filter: FindFilterType - $scene_filter: SceneFilterType - $scene_ids: [Int!] - ) { - findScenes( - filter: $filter - scene_filter: $scene_filter - scene_ids: $scene_ids - ) { - count - scenes { - ...SlimSceneData - } - } - } - - ${SlimSceneDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class FindSceneGQL extends Apollo.Query< - FindScene.Query, - FindScene.Variables -> { - document: any = gql` - query FindScene($id: ID!, $checksum: String) { - findScene(id: $id, checksum: $checksum) { - ...SceneData - } - sceneMarkerTags(scene_id: $id) { - tag { - id - name - } - scene_markers { - ...SceneMarkerData - } - } - } - - ${SceneDataFragment} - ${SceneMarkerDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class FindSceneForEditingGQL extends Apollo.Query< - FindSceneForEditing.Query, - FindSceneForEditing.Variables -> { - document: any = gql` - query FindSceneForEditing($id: ID) { - findScene(id: $id) { - ...SceneData - } - allPerformers { - id - name - birthdate - image_path - } - allTags { - id - name - } - allStudios { - id - name - } - validGalleriesForScene(scene_id: $id) { - id - path - } - } - - ${SceneDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class FindSceneMarkersGQL extends Apollo.Query< - FindSceneMarkers.Query, - FindSceneMarkers.Variables -> { - document: any = gql` - query FindSceneMarkers( - $filter: FindFilterType - $scene_marker_filter: SceneMarkerFilterType - ) { - findSceneMarkers( - filter: $filter - scene_marker_filter: $scene_marker_filter - ) { - count - scene_markers { - ...SceneMarkerData - } - } - } - - ${SceneMarkerDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class SceneWallGQL extends Apollo.Query< - SceneWall.Query, - SceneWall.Variables -> { - document: any = gql` - query SceneWall($q: String) { - sceneWall(q: $q) { - ...SceneData - } - } - - ${SceneDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class MarkerWallGQL extends Apollo.Query< - MarkerWall.Query, - MarkerWall.Variables -> { - document: any = gql` - query MarkerWall($q: String) { - markerWall(q: $q) { - ...SceneMarkerData - } - } - - ${SceneMarkerDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class FindPerformersGQL extends Apollo.Query< - FindPerformers.Query, - FindPerformers.Variables -> { - document: any = gql` - query FindPerformers( - $filter: FindFilterType - $performer_filter: PerformerFilterType - ) { - findPerformers(filter: $filter, performer_filter: $performer_filter) { - count - performers { - ...PerformerData - } - } - } - - ${PerformerDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class FindPerformerGQL extends Apollo.Query< - FindPerformer.Query, - FindPerformer.Variables -> { - document: any = gql` - query FindPerformer($id: ID!) { - findPerformer(id: $id) { - ...PerformerData - } - } - - ${PerformerDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class FindStudiosGQL extends Apollo.Query< - FindStudios.Query, - FindStudios.Variables -> { - document: any = gql` - query FindStudios($filter: FindFilterType) { - findStudios(filter: $filter) { - count - studios { - ...StudioData - } - } - } - - ${StudioDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class FindStudioGQL extends Apollo.Query< - FindStudio.Query, - FindStudio.Variables -> { - document: any = gql` - query FindStudio($id: ID!) { - findStudio(id: $id) { - ...StudioData - } - } - - ${StudioDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class FindGalleriesGQL extends Apollo.Query< - FindGalleries.Query, - FindGalleries.Variables -> { - document: any = gql` - query FindGalleries($filter: FindFilterType) { - findGalleries(filter: $filter) { - count - galleries { - ...GalleryData - } - } - } - - ${GalleryDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class FindGalleryGQL extends Apollo.Query< - FindGallery.Query, - FindGallery.Variables -> { - document: any = gql` - query FindGallery($id: ID!) { - findGallery(id: $id) { - ...GalleryData - } - } - - ${GalleryDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class FindTagGQL extends Apollo.Query { - document: any = gql` - query FindTag($id: ID!) { - findTag(id: $id) { - ...TagData - } - } - - ${TagDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class MarkerStringsGQL extends Apollo.Query< - MarkerStrings.Query, - MarkerStrings.Variables -> { - document: any = gql` - query MarkerStrings($q: String, $sort: String) { - markerStrings(q: $q, sort: $sort) { - id - count - title - } - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class ScrapeFreeonesGQL extends Apollo.Query< - ScrapeFreeones.Query, - ScrapeFreeones.Variables -> { - document: any = gql` - query ScrapeFreeones($performer_name: String!) { - scrapeFreeones(performer_name: $performer_name) { - name - url - twitter - instagram - birthdate - ethnicity - country - eye_color - height - measurements - fake_tits - career_length - tattoos - piercings - aliases - } - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class ScrapeFreeonesPerformersGQL extends Apollo.Query< - ScrapeFreeonesPerformers.Query, - ScrapeFreeonesPerformers.Variables -> { - document: any = gql` - query ScrapeFreeonesPerformers($q: String!) { - scrapeFreeonesPerformerList(query: $q) - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class AllTagsGQL extends Apollo.Query { - document: any = gql` - query AllTags { - allTags { - ...TagData - } - } - - ${TagDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class AllPerformersForFilterGQL extends Apollo.Query< - AllPerformersForFilter.Query, - AllPerformersForFilter.Variables -> { - document: any = gql` - query AllPerformersForFilter { - allPerformers { - ...SlimPerformerData - } - } - - ${SlimPerformerDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class AllTagsForFilterGQL extends Apollo.Query< - AllTagsForFilter.Query, - AllTagsForFilter.Variables -> { - document: any = gql` - query AllTagsForFilter { - allTags { - id - name - } - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class StatsGQL extends Apollo.Query { - document: any = gql` - query Stats { - stats { - scene_count - gallery_count - performer_count - studio_count - tag_count - } - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class SceneUpdateGQL extends Apollo.Mutation< - SceneUpdate.Mutation, - SceneUpdate.Variables -> { - document: any = gql` - mutation SceneUpdate( - $id: ID! - $title: String - $details: String - $url: String - $date: String - $rating: Int - $studio_id: ID - $gallery_id: ID - $performer_ids: [ID!] = [] - $tag_ids: [ID!] = [] - ) { - sceneUpdate( - input: { - id: $id - title: $title - details: $details - url: $url - date: $date - rating: $rating - studio_id: $studio_id - gallery_id: $gallery_id - performer_ids: $performer_ids - tag_ids: $tag_ids - } - ) { - ...SceneData - } - } - - ${SceneDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class PerformerCreateGQL extends Apollo.Mutation< - PerformerCreate.Mutation, - PerformerCreate.Variables -> { - document: any = gql` - mutation PerformerCreate( - $name: String - $url: String - $birthdate: String - $ethnicity: String - $country: String - $eye_color: String - $height: String - $measurements: String - $fake_tits: String - $career_length: String - $tattoos: String - $piercings: String - $aliases: String - $twitter: String - $instagram: String - $favorite: Boolean - $image: String! - ) { - performerCreate( - input: { - name: $name - url: $url - birthdate: $birthdate - ethnicity: $ethnicity - country: $country - eye_color: $eye_color - height: $height - measurements: $measurements - fake_tits: $fake_tits - career_length: $career_length - tattoos: $tattoos - piercings: $piercings - aliases: $aliases - twitter: $twitter - instagram: $instagram - favorite: $favorite - image: $image - } - ) { - ...PerformerData - } - } - - ${PerformerDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class PerformerUpdateGQL extends Apollo.Mutation< - PerformerUpdate.Mutation, - PerformerUpdate.Variables -> { - document: any = gql` - mutation PerformerUpdate( - $id: ID! - $name: String - $url: String - $birthdate: String - $ethnicity: String - $country: String - $eye_color: String - $height: String - $measurements: String - $fake_tits: String - $career_length: String - $tattoos: String - $piercings: String - $aliases: String - $twitter: String - $instagram: String - $favorite: Boolean - $image: String - ) { - performerUpdate( - input: { - id: $id - name: $name - url: $url - birthdate: $birthdate - ethnicity: $ethnicity - country: $country - eye_color: $eye_color - height: $height - measurements: $measurements - fake_tits: $fake_tits - career_length: $career_length - tattoos: $tattoos - piercings: $piercings - aliases: $aliases - twitter: $twitter - instagram: $instagram - favorite: $favorite - image: $image - } - ) { - ...PerformerData - } - } - - ${PerformerDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class StudioCreateGQL extends Apollo.Mutation< - StudioCreate.Mutation, - StudioCreate.Variables -> { - document: any = gql` - mutation StudioCreate($name: String!, $url: String, $image: String!) { - studioCreate(input: { name: $name, url: $url, image: $image }) { - ...StudioData - } - } - - ${StudioDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class StudioUpdateGQL extends Apollo.Mutation< - StudioUpdate.Mutation, - StudioUpdate.Variables -> { - document: any = gql` - mutation StudioUpdate( - $id: ID! - $name: String - $url: String - $image: String - ) { - studioUpdate(input: { id: $id, name: $name, url: $url, image: $image }) { - ...StudioData - } - } - - ${StudioDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class TagCreateGQL extends Apollo.Mutation< - TagCreate.Mutation, - TagCreate.Variables -> { - document: any = gql` - mutation TagCreate($name: String!) { - tagCreate(input: { name: $name }) { - ...TagData - } - } - - ${TagDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class TagDestroyGQL extends Apollo.Mutation< - TagDestroy.Mutation, - TagDestroy.Variables -> { - document: any = gql` - mutation TagDestroy($id: ID!) { - tagDestroy(input: { id: $id }) - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class TagUpdateGQL extends Apollo.Mutation< - TagUpdate.Mutation, - TagUpdate.Variables -> { - document: any = gql` - mutation TagUpdate($id: ID!, $name: String!) { - tagUpdate(input: { id: $id, name: $name }) { - ...TagData - } - } - - ${TagDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class SceneMarkerCreateGQL extends Apollo.Mutation< - SceneMarkerCreate.Mutation, - SceneMarkerCreate.Variables -> { - document: any = gql` - mutation SceneMarkerCreate( - $title: String! - $seconds: Float! - $scene_id: ID! - $primary_tag_id: ID! - $tag_ids: [ID!] = [] - ) { - sceneMarkerCreate( - input: { - title: $title - seconds: $seconds - scene_id: $scene_id - primary_tag_id: $primary_tag_id - tag_ids: $tag_ids - } - ) { - ...SceneMarkerData - } - } - - ${SceneMarkerDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class SceneMarkerUpdateGQL extends Apollo.Mutation< - SceneMarkerUpdate.Mutation, - SceneMarkerUpdate.Variables -> { - document: any = gql` - mutation SceneMarkerUpdate( - $id: ID! - $title: String! - $seconds: Float! - $scene_id: ID! - $primary_tag_id: ID! - $tag_ids: [ID!] = [] - ) { - sceneMarkerUpdate( - input: { - id: $id - title: $title - seconds: $seconds - scene_id: $scene_id - primary_tag_id: $primary_tag_id - tag_ids: $tag_ids - } - ) { - ...SceneMarkerData - } - } - - ${SceneMarkerDataFragment} - `; -} -@Injectable({ - providedIn: "root" -}) -export class SceneMarkerDestroyGQL extends Apollo.Mutation< - SceneMarkerDestroy.Mutation, - SceneMarkerDestroy.Variables -> { - document: any = gql` - mutation SceneMarkerDestroy($id: ID!) { - sceneMarkerDestroy(id: $id) - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class MetadataImportGQL extends Apollo.Query< - MetadataImport.Query, - MetadataImport.Variables -> { - document: any = gql` - query MetadataImport { - metadataImport - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class MetadataExportGQL extends Apollo.Query< - MetadataExport.Query, - MetadataExport.Variables -> { - document: any = gql` - query MetadataExport { - metadataExport - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class MetadataScanGQL extends Apollo.Query< - MetadataScan.Query, - MetadataScan.Variables -> { - document: any = gql` - query MetadataScan { - metadataScan - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class MetadataGenerateGQL extends Apollo.Query< - MetadataGenerate.Query, - MetadataGenerate.Variables -> { - document: any = gql` - query MetadataGenerate { - metadataGenerate - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class MetadataCleanGQL extends Apollo.Query< - MetadataClean.Query, - MetadataClean.Variables -> { - document: any = gql` - query MetadataClean { - metadataClean - } - `; -} -@Injectable({ - providedIn: "root" -}) -export class MetadataUpdateGQL extends Apollo.Subscription< - MetadataUpdate.Subscription, - MetadataUpdate.Variables -> { - document: any = gql` - subscription MetadataUpdate { - metadataUpdate - } - `; -} - -// ==================================================== -// END: Apollo Angular template -// ==================================================== diff --git a/ui/v1/src/app/core/navigation-bar/navigation-bar.component.css b/ui/v1/src/app/core/navigation-bar/navigation-bar.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/core/navigation-bar/navigation-bar.component.html b/ui/v1/src/app/core/navigation-bar/navigation-bar.component.html deleted file mode 100644 index 9fcac07b4..000000000 --- a/ui/v1/src/app/core/navigation-bar/navigation-bar.component.html +++ /dev/null @@ -1,38 +0,0 @@ - \ No newline at end of file diff --git a/ui/v1/src/app/core/navigation-bar/navigation-bar.component.ts b/ui/v1/src/app/core/navigation-bar/navigation-bar.component.ts deleted file mode 100644 index 18139465f..000000000 --- a/ui/v1/src/app/core/navigation-bar/navigation-bar.component.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { Router } from '@angular/router'; - -@Component({ - selector: 'app-navigation-bar', - templateUrl: './navigation-bar.component.html', - styleUrls: ['./navigation-bar.component.css'] -}) -export class NavigationBarComponent implements OnInit { - - constructor(private router: Router) { } - - ngOnInit() { - } - - isScenesActiveHack(rla) { - return rla.isActive && - this.router.url !== '/scenes/wall' && - !this.router.url.includes('/scenes/markers'); - } - -} diff --git a/ui/v1/src/app/core/page-not-found/page-not-found.component.css b/ui/v1/src/app/core/page-not-found/page-not-found.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/core/page-not-found/page-not-found.component.html b/ui/v1/src/app/core/page-not-found/page-not-found.component.html deleted file mode 100644 index 81b0d6084..000000000 --- a/ui/v1/src/app/core/page-not-found/page-not-found.component.html +++ /dev/null @@ -1 +0,0 @@ -

Page not found

diff --git a/ui/v1/src/app/core/page-not-found/page-not-found.component.ts b/ui/v1/src/app/core/page-not-found/page-not-found.component.ts deleted file mode 100644 index c5c55a794..000000000 --- a/ui/v1/src/app/core/page-not-found/page-not-found.component.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-page-not-found', - templateUrl: './page-not-found.component.html', - styleUrls: ['./page-not-found.component.css'] -}) -export class PageNotFoundComponent implements OnInit { - - constructor() { } - - ngOnInit() { - } - -} diff --git a/ui/v1/src/app/core/stash.service.ts b/ui/v1/src/app/core/stash.service.ts deleted file mode 100644 index 1ec0a789d..000000000 --- a/ui/v1/src/app/core/stash.service.ts +++ /dev/null @@ -1,508 +0,0 @@ -import { Injectable } from '@angular/core'; -import { PlatformLocation } from '@angular/common'; - -import { ListFilter } from '../shared/models/list-state.model'; - -import { Apollo, QueryRef } from 'apollo-angular'; -import { HttpLink } from 'apollo-angular-link-http'; -import { InMemoryCache } from 'apollo-cache-inmemory'; -import { onError } from 'apollo-link-error'; -import { ApolloLink } from 'apollo-link'; -import { getMainDefinition } from 'apollo-utilities'; - -import * as GQL from './graphql-generated'; -import {WebSocketLink} from "apollo-link-ws"; - -@Injectable() -export class StashService { - private findScenesGQL = new GQL.FindScenesGQL(this.apollo); - private findSceneGQL = new GQL.FindSceneGQL(this.apollo); - private findSceneForEditingGQL = new GQL.FindSceneForEditingGQL(this.apollo); - private findSceneMarkersGQL = new GQL.FindSceneMarkersGQL(this.apollo); - private sceneWallGQL = new GQL.SceneWallGQL(this.apollo); - private markerWallGQL = new GQL.MarkerWallGQL(this.apollo); - private findPerformersGQL = new GQL.FindPerformersGQL(this.apollo); - private findPerformerGQL = new GQL.FindPerformerGQL(this.apollo); - private findStudiosGQL = new GQL.FindStudiosGQL(this.apollo); - private findStudioGQL = new GQL.FindStudioGQL(this.apollo); - private findGalleriesGQL = new GQL.FindGalleriesGQL(this.apollo); - private findGalleryGQL = new GQL.FindGalleryGQL(this.apollo); - private findTagGQL = new GQL.FindTagGQL(this.apollo); - private markerStringsGQL = new GQL.MarkerStringsGQL(this.apollo); - private scrapeFreeonesGQL = new GQL.ScrapeFreeonesGQL(this.apollo); - private scrapeFreeonesPerformersGQL = new GQL.ScrapeFreeonesPerformersGQL(this.apollo); - private allTagsGQL = new GQL.AllTagsGQL(this.apollo); - private allTagsForFilterGQL = new GQL.AllTagsForFilterGQL(this.apollo); - private allPerformersForFilterGQL = new GQL.AllPerformersForFilterGQL(this.apollo); - private statsGQL = new GQL.StatsGQL(this.apollo); - private sceneUpdateGQL = new GQL.SceneUpdateGQL(this.apollo); - private performerCreateGQL = new GQL.PerformerCreateGQL(this.apollo); - private performerUpdateGQL = new GQL.PerformerUpdateGQL(this.apollo); - private studioCreateGQL = new GQL.StudioCreateGQL(this.apollo); - private studioUpdateGQL = new GQL.StudioUpdateGQL(this.apollo); - private tagCreateGQL = new GQL.TagCreateGQL(this.apollo); - private tagDestroyGQL = new GQL.TagDestroyGQL(this.apollo); - private tagUpdateGQL = new GQL.TagUpdateGQL(this.apollo); - private sceneMarkerCreateGQL = new GQL.SceneMarkerCreateGQL(this.apollo); - private sceneMarkerUpdateGQL = new GQL.SceneMarkerUpdateGQL(this.apollo); - private sceneMarkerDestroyGQL = new GQL.SceneMarkerDestroyGQL(this.apollo); - private metadataImportGQL = new GQL.MetadataImportGQL(this.apollo); - private metadataExportGQL = new GQL.MetadataExportGQL(this.apollo); - private metadataScanGQL = new GQL.MetadataScanGQL(this.apollo); - private metadataGenerateGQL = new GQL.MetadataGenerateGQL(this.apollo); - private metadataCleanGQL = new GQL.MetadataCleanGQL(this.apollo); - private metadataUpdateGQL = new GQL.MetadataUpdateGQL(this.apollo); - - constructor(private apollo: Apollo, private platformLocation: PlatformLocation, private httpLink: HttpLink) { - const platform: any = platformLocation; - const platformUrl = new URL(platform.location.origin); - platformUrl.port = platformUrl.protocol === 'https:' ? '9999' : '9998'; - const url = platformUrl.toString().slice(0, -1); - const webSocketScheme = platformUrl.protocol === 'https:' ? 'wss' : 'ws'; - - const wsLink = new WebSocketLink({ - uri: `${webSocketScheme}://${platform.location.hostname}:${platformUrl.port}/graphql`, - options: { - reconnect: true - } - }); - - const errorLink = onError(({ graphQLErrors, networkError }) => { - if (graphQLErrors) { - graphQLErrors.map(({ message, locations, path }) => - console.log( - `[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`, - ), - ); - } - - if (networkError) { - console.log(`[Network error]: ${networkError}`); - } - }); - - const httpLinkHandler = httpLink.create({uri: `${url}/graphql`}); - - const splitLink = ApolloLink.split( - // split based on operation type - ({ query }) => { - const definition = getMainDefinition(query); - return definition.kind === 'OperationDefinition' && definition.operation === 'subscription'; - }, - wsLink, - httpLinkHandler - ); - - const link = ApolloLink.from([ - errorLink, - splitLink - ]); - - apollo.create({ - link: link, - defaultOptions: { - watchQuery: { - fetchPolicy: 'network-only', - errorPolicy: 'all' - }, - }, - cache: new InMemoryCache({ - // dataIdFromObject: o => { - // if (o.__typename === "MarkerStringsResultType") { - // return `${o.__typename}:${o.title}` - // } else { - // return `${o.__typename}:${o.id}` - // } - // }, - - cacheRedirects: { - Query: { - findScene: (rootValue, args, context) => { - return context.getCacheKey({__typename: 'Scene', id: args.id}); - } - } - }, - }) - }); - } - - findScenes(page?: number, filter?: ListFilter): QueryRef> { - let scene_filter = {}; - if (filter.criteriaFilterOpen) { - scene_filter = filter.makeSceneFilter(); - } - if (filter.customCriteria) { - filter.customCriteria.forEach(criteria => { - scene_filter[criteria.key] = criteria.value; - }); - } - - return this.findScenesGQL.watch({ - filter: { - q: filter.searchTerm, - page: page, - per_page: filter.itemsPerPage, - sort: filter.sortBy, - direction: filter.sortDirection === 'asc' ? GQL.SortDirectionEnum.Asc : GQL.SortDirectionEnum.Desc - }, - scene_filter: scene_filter - }); - } - - findScene(id?: any, checksum?: string) { - return this.findSceneGQL.watch({ - id: id, - checksum: checksum - }); - } - - findSceneForEditing(id?: any) { - return this.findSceneForEditingGQL.watch({ - id: id - }); - } - - findSceneMarkers(page?: number, filter?: ListFilter) { - let scene_marker_filter = {}; - if (filter.criteriaFilterOpen) { - scene_marker_filter = filter.makeSceneMarkerFilter(); - } - if (filter.customCriteria) { - filter.customCriteria.forEach(criteria => { - scene_marker_filter[criteria.key] = criteria.value; - }); - } - - return this.findSceneMarkersGQL.watch({ - filter: { - q: filter.searchTerm, - page: page, - per_page: filter.itemsPerPage, - sort: filter.sortBy, - direction: filter.sortDirection === 'asc' ? GQL.SortDirectionEnum.Asc : GQL.SortDirectionEnum.Desc - }, - scene_marker_filter: scene_marker_filter - }); - } - - sceneWall(q?: string) { - return this.sceneWallGQL.watch({ - q: q - }, - { - fetchPolicy: 'network-only' - }); - } - - markerWall(q?: string) { - return this.markerWallGQL.watch({ - q: q - }, - { - fetchPolicy: 'network-only' - }); - } - - findPerformers(page?: number, filter?: ListFilter) { - let performer_filter = {}; - if (filter.criteriaFilterOpen) { - performer_filter = filter.makePerformerFilter(); - } - // if (filter.customCriteria) { - // filter.customCriteria.forEach(criteria => { - // scene_filter[criteria.key] = criteria.value; - // }); - // } - - return this.findPerformersGQL.watch({ - filter: { - q: filter.searchTerm, - page: page, - per_page: filter.itemsPerPage, - sort: filter.sortBy, - direction: filter.sortDirection === 'asc' ? GQL.SortDirectionEnum.Asc : GQL.SortDirectionEnum.Desc - }, - performer_filter: performer_filter - }); - } - - findPerformer(id: any) { - return this.findPerformerGQL.watch({ - id: id - }); - } - - findStudios(page?: number, filter?: ListFilter) { - return this.findStudiosGQL.watch({ - filter: { - q: filter.searchTerm, - page: page, - per_page: filter.itemsPerPage, - sort: filter.sortBy, - direction: filter.sortDirection === 'asc' ? GQL.SortDirectionEnum.Asc : GQL.SortDirectionEnum.Desc - } - }); - } - - findStudio(id: any) { - return this.findStudioGQL.watch({ - id: id - }); - } - - findGalleries(page?: number, filter?: ListFilter) { - return this.findGalleriesGQL.watch({ - filter: { - q: filter.searchTerm, - page: page, - per_page: filter.itemsPerPage, - sort: filter.sortBy, - direction: filter.sortDirection === 'asc' ? GQL.SortDirectionEnum.Asc : GQL.SortDirectionEnum.Desc - } - }); - } - - findGallery(id: any) { - return this.findGalleryGQL.watch({ - id: id - }); - } - - findTag(id: any) { - return this.findTagGQL.watch({ - id: id - }); - } - - markerStrings(q?: string, sort?: string) { - return this.markerStringsGQL.watch({ - q: q, - sort: sort - }); - } - - scrapeFreeones(performer_name: string) { - return this.scrapeFreeonesGQL.watch({ - performer_name: performer_name - }); - } - - scrapeFreeonesPerformers(query: string) { - return this.scrapeFreeonesPerformersGQL.watch({ - q: query - }); - } - - allTags() { - return this.allTagsGQL.watch(); - } - - allTagsForFilter() { - return this.allTagsForFilterGQL.watch(); - } - - allPerformersForFilter() { - return this.allPerformersForFilterGQL.watch(); - } - - stats() { - return this.statsGQL.watch(); - } - - sceneUpdate(scene: GQL.SceneUpdate.Variables) { - return this.sceneUpdateGQL.mutate({ - id: scene.id, - title: scene.title, - details: scene.details, - url: scene.url, - date: scene.date, - rating: scene.rating, - studio_id: scene.studio_id, - gallery_id: scene.gallery_id, - performer_ids: scene.performer_ids, - tag_ids: scene.tag_ids - }, - { - refetchQueries: [ - { - query: this.findSceneGQL.document, - variables: { - id: scene.id - } - } - ] - }); - } - - performerCreate(performer: GQL.PerformerCreate.Variables) { - return this.performerCreateGQL.mutate({ - name: performer.name, - url: performer.url, - birthdate: performer.birthdate, - ethnicity: performer.ethnicity, - country: performer.country, - eye_color: performer.eye_color, - height: performer.height, - measurements: performer.measurements, - fake_tits: performer.fake_tits, - career_length: performer.career_length, - tattoos: performer.tattoos, - piercings: performer.piercings, - aliases: performer.aliases, - twitter: performer.twitter, - instagram: performer.instagram, - favorite: performer.favorite, - image: performer.image - }); - } - - performerUpdate(performer: GQL.PerformerUpdate.Variables) { - return this.performerUpdateGQL.mutate({ - id: performer.id, - name: performer.name, - url: performer.url, - birthdate: performer.birthdate, - ethnicity: performer.ethnicity, - country: performer.country, - eye_color: performer.eye_color, - height: performer.height, - measurements: performer.measurements, - fake_tits: performer.fake_tits, - career_length: performer.career_length, - tattoos: performer.tattoos, - piercings: performer.piercings, - aliases: performer.aliases, - twitter: performer.twitter, - instagram: performer.instagram, - favorite: performer.favorite, - image: performer.image - }, - { - refetchQueries: [ - { - query: this.findPerformerGQL.document, - variables: { - id: performer.id - } - } - ], - }); - } - - studioCreate(studio: GQL.StudioCreate.Variables) { - return this.studioCreateGQL.mutate({ - name: studio.name, - url: studio.url, - image: studio.image - }); - } - - studioUpdate(studio: GQL.StudioUpdate.Variables) { - return this.studioUpdateGQL.mutate({ - id: studio.id, - name: studio.name, - url: studio.url, - image: studio.image - }, - { - refetchQueries: [ - { - query: this.findStudioGQL.document, - variables: { - id: studio.id - } - } - ], - }); - } - - tagCreate(tag: GQL.TagCreate.Variables) { - return this.tagCreateGQL.mutate({ - name: tag.name - }); - } - - tagDestroy(tag: GQL.TagDestroy.Variables) { - return this.tagDestroyGQL.mutate({ - id: tag.id - }); - } - - tagUpdate(tag: GQL.TagUpdate.Variables) { - return this.tagUpdateGQL.mutate({ - id: tag.id, - name: tag.name - }, - { - refetchQueries: [ - { - query: this.findTagGQL.document, - variables: { - id: tag.id - } - } - ], - }); - } - - markerCreate(marker: GQL.SceneMarkerCreate.Variables) { - return this.sceneMarkerCreateGQL.mutate({ - title: marker.title, - seconds: marker.seconds, - scene_id: marker.scene_id, - primary_tag_id: marker.primary_tag_id, - tag_ids: marker.tag_ids - }, - { - refetchQueries: () => ['FindScene'] - }); - } - - markerUpdate(marker: GQL.SceneMarkerUpdate.Variables) { - return this.sceneMarkerUpdateGQL.mutate({ - id: marker.id, - title: marker.title, - seconds: marker.seconds, - scene_id: marker.scene_id, - primary_tag_id: marker.primary_tag_id, - tag_ids: marker.tag_ids - }, - { - refetchQueries: () => ['FindScene'] - }); - } - - markerDestroy(id: any, scene_id: any) { - return this.sceneMarkerDestroyGQL.mutate({ - id: id - }, - { - refetchQueries: () => ['FindScene'] - }); - } - - metadataImport() { - return this.metadataImportGQL.watch(); - } - - metadataExport() { - return this.metadataExportGQL.watch(); - } - - metadataScan() { - return this.metadataScanGQL.watch(); - } - - metadataGenerate() { - return this.metadataGenerateGQL.watch(); - } - - metadataClean() { - return this.metadataCleanGQL.watch(); - } - - metadataUpdate() { - return this.metadataUpdateGQL.subscribe() - } - -} diff --git a/ui/v1/src/app/galleries/galleries-routing.module.ts b/ui/v1/src/app/galleries/galleries-routing.module.ts deleted file mode 100644 index a4399d289..000000000 --- a/ui/v1/src/app/galleries/galleries-routing.module.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; - -import { GalleriesComponent } from './galleries/galleries.component'; -import { GalleryListComponent } from './gallery-list/gallery-list.component'; -import { GalleryDetailComponent } from './gallery-detail/gallery-detail.component'; - -const routes: Routes = [ - { path: '', - component: GalleriesComponent, - children: [ - { path: '', component: GalleryListComponent }, - { path: ':id', component: GalleryDetailComponent }, - ] - } -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class GalleriesRoutingModule { } diff --git a/ui/v1/src/app/galleries/galleries.module.ts b/ui/v1/src/app/galleries/galleries.module.ts deleted file mode 100644 index c7cb54330..000000000 --- a/ui/v1/src/app/galleries/galleries.module.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; - -import { GalleriesRoutingModule } from './galleries-routing.module'; -import { GalleriesService } from './galleries.service'; - -import { GalleriesComponent } from './galleries/galleries.component'; -import { GalleryDetailComponent } from './gallery-detail/gallery-detail.component'; -import { GalleryListComponent } from './gallery-list/gallery-list.component'; - -@NgModule({ - imports: [ - SharedModule, - GalleriesRoutingModule - ], - declarations: [ - GalleriesComponent, - GalleryDetailComponent, - GalleryListComponent - ], - providers: [ - GalleriesService - ] -}) -export class GalleriesModule { } diff --git a/ui/v1/src/app/galleries/galleries.service.ts b/ui/v1/src/app/galleries/galleries.service.ts deleted file mode 100644 index 09982679e..000000000 --- a/ui/v1/src/app/galleries/galleries.service.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Injectable } from '@angular/core'; - -import { GalleryListState } from '../shared/models/list-state.model'; - -@Injectable() -export class GalleriesService { - listState: GalleryListState = new GalleryListState(); - - constructor() { } - -} diff --git a/ui/v1/src/app/galleries/galleries/galleries.component.ts b/ui/v1/src/app/galleries/galleries/galleries.component.ts deleted file mode 100644 index bbfa1108f..000000000 --- a/ui/v1/src/app/galleries/galleries/galleries.component.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-galleries', - template: '' -}) -export class GalleriesComponent implements OnInit { - - constructor() {} - - ngOnInit() {} - -} diff --git a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.css b/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.css deleted file mode 100644 index 690eb5529..000000000 --- a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.css +++ /dev/null @@ -1,40 +0,0 @@ -#gallery-modal-container { - width: 100%; - height: 100%; - left: 0; - top: 0; - overflow: hidden; - z-index: 1500; - position: fixed; -} - -#gallery-modal-background { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background:rgba(0,0,0,0.5); -} - -#gallery-modal-image-wrapper { - position: absolute; - transform-origin: left top; - transition: transform 333ms cubic-bezier(.4,0,.22,1); - left: 0; - right: 0; - top: 0; - bottom: 0; - display: block; - justify-content: center; - align-content: center; -} - -#gallery-modal-image { - width: 100%; - height: 100%; - object-fit: contain; - padding: 20px; - background: rgba(17, 17, 17, 0.5); - z-index: 1; -} \ No newline at end of file diff --git a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.html b/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.html deleted file mode 100644 index 1406f8543..000000000 --- a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.ts b/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.ts deleted file mode 100644 index 647b983d6..000000000 --- a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { Component, OnInit, HostListener } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; - -import { StashService } from '../../core/stash.service'; - -import { GalleryImage } from '../../shared/models/gallery.model'; -import { GalleryData } from '../../core/graphql-generated'; - -@Component({ - selector: 'app-gallery-detail', - templateUrl: './gallery-detail.component.html', - styleUrls: ['./gallery-detail.component.css'] -}) -export class GalleryDetailComponent implements OnInit { - gallery: GalleryData.Fragment; - displayedImage: GalleryImage = null; - - constructor( - private route: ActivatedRoute, - private stashService: StashService - ) {} - - ngOnInit() { - this.getGallery(); - window.scrollTo(0, 0); - } - - async getGallery() { - const id = parseInt(this.route.snapshot.params['id'], 10); - const result = await this.stashService.findGallery(id).result(); - this.gallery = result.data.findGallery; - } - - @HostListener('mousewheel', ['$event']) - onMousewheel(event) { - this.displayedImage = null; - } - - @HostListener('window:mouseup', ['$event']) - onMouseup(event: MouseEvent) { - if (event.button !== 0 || !(event.target instanceof HTMLDivElement)) { return; } - const target: HTMLDivElement = event.target; - if (target.id !== 'gallery-image') { - this.displayedImage = null; - } else { - window.open(this.displayedImage.path, '_blank'); - } - } - - onClickEdit() { - // TODO - console.log('edit'); - } - - onClickCard(galleryImage: GalleryImage) { - console.log(galleryImage); - this.displayedImage = galleryImage; - } - - onKey(event) { - const i = this.displayedImage.index; - console.log(event); - - switch (event.key) { - case 'ArrowLeft': { - this.displayedImage = this.gallery.files[i - 1]; - break; - } - - case 'ArrowRight': { - this.displayedImage = this.gallery.files[i + 1]; - break; - } - - case 'ArrowUp': { - window.open(this.displayedImage.path, '_blank'); - break; - } - - case 'ArrowDown': { - this.displayedImage = null; - break; - } - - default: - break; - } - - event.preventDefault(); - } - -} diff --git a/ui/v1/src/app/galleries/gallery-list/gallery-list.component.html b/ui/v1/src/app/galleries/gallery-list/gallery-list.component.html deleted file mode 100644 index df7ba507c..000000000 --- a/ui/v1/src/app/galleries/gallery-list/gallery-list.component.html +++ /dev/null @@ -1,7 +0,0 @@ - - - \ No newline at end of file diff --git a/ui/v1/src/app/galleries/gallery-list/gallery-list.component.ts b/ui/v1/src/app/galleries/gallery-list/gallery-list.component.ts deleted file mode 100644 index 397fd0ff4..000000000 --- a/ui/v1/src/app/galleries/gallery-list/gallery-list.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { GalleriesService } from '../galleries.service'; - -@Component({ - selector: 'app-gallery-list', - templateUrl: './gallery-list.component.html' -}) -export class GalleryListComponent implements OnInit { - state = this.galleriesService.listState; - - constructor(private galleriesService: GalleriesService, - private route: ActivatedRoute, - private router: Router) {} - - ngOnInit() {} - - onClickNew() { - this.router.navigate(['new'], { relativeTo: this.route }); - } - -} diff --git a/ui/v1/src/app/performers/performer-detail/performer-detail.component.css b/ui/v1/src/app/performers/performer-detail/performer-detail.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/performers/performer-detail/performer-detail.component.html b/ui/v1/src/app/performers/performer-detail/performer-detail.component.html deleted file mode 100644 index cfc3ec927..000000000 --- a/ui/v1/src/app/performers/performer-detail/performer-detail.component.html +++ /dev/null @@ -1,122 +0,0 @@ -
-
-
-
- -
-
-
-
- -
-
-
-
-
-
- {{performer?.name}} - -
-
{{performer.aliases}}
-
- {{performer?.birthdate | date:"MM/dd/yy"}} - Age {{performer?.birthdate | age}} -
-
-
-
-
-
Details
-
-
-
- Career Length - {{performer.career_length}} -
-
- Country - {{performer.country}} -
-
- Ethnicity - {{performer.ethnicity?.toUpperCase()}} -
-
- Eye Color - {{performer.eye_color}} -
-
- Height (cm) - {{performer.height}} -
-
- Measurements - {{performer.measurements}} -
-
- Fake Tits - {{performer.fake_tits}} -
-
- Tattoos - {{performer.tattoos}} -
-
- Piercings - {{performer.piercings}} -
-
-
-
-
-
-
-
-
- -
-

Social

- -
- - -
- -
-
-

- {{performer?.name || 'Performer'}}'s Scenes -

- - -
-
diff --git a/ui/v1/src/app/performers/performer-detail/performer-detail.component.ts b/ui/v1/src/app/performers/performer-detail/performer-detail.component.ts deleted file mode 100644 index 5e034290f..000000000 --- a/ui/v1/src/app/performers/performer-detail/performer-detail.component.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { StashService } from '../../core/stash.service'; -import { PerformersService } from '../performers.service'; - -import { PerformerData } from '../../core/graphql-generated'; - -import { SceneListState, CustomCriteria } from '../../shared/models/list-state.model'; - -@Component({ - selector: 'app-performer-detail', - templateUrl: './performer-detail.component.html', - styleUrls: ['./performer-detail.component.css'] -}) -export class PerformerDetailComponent implements OnInit { - performer: PerformerData.Fragment; - sceneListState: SceneListState; - - constructor( - private route: ActivatedRoute, - private stashService: StashService, - private performerService: PerformersService, - private router: Router - ) {} - - ngOnInit() { - const id = parseInt(this.route.snapshot.params['id'], 10); - this.sceneListState = this.performerService.detailsSceneListState; - this.sceneListState.filter.customCriteria = []; - this.sceneListState.filter.customCriteria.push(new CustomCriteria('performer_id', id.toString())); - - this.getPerformer(); - window.scrollTo(0, 0); - } - - getPerformer() { - const id = parseInt(this.route.snapshot.params['id'], 10); - - this.stashService.findPerformer(id).valueChanges.subscribe(performer => { - this.performer = performer.data.findPerformer; - }); - } - - onClickEdit() { - this.router.navigate(['edit'], { relativeTo: this.route }); - } - - twitterLink(): string { - return 'http://www.twitter.com/' + this.performer.twitter; - } - - instagramLink(): string { - return 'http://www.instagram.com/' + this.performer.instagram; - } -} diff --git a/ui/v1/src/app/performers/performer-form/performer-form.component.css b/ui/v1/src/app/performers/performer-form/performer-form.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/performers/performer-form/performer-form.component.html b/ui/v1/src/app/performers/performer-form/performer-form.component.html deleted file mode 100644 index fb2608a35..000000000 --- a/ui/v1/src/app/performers/performer-form/performer-form.component.html +++ /dev/null @@ -1,118 +0,0 @@ -
-

Performer Information

-
-
-
- - -
-
- -
- -
-
-
- -
- - -
- -
-
- - -
-
- - -
-
- - - - -
-
- -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- -
-
- - -
-
- - -
-
- -
-
- - -
-
- - -
-
- - -
-
- -
- -
-
- -
-
-
- -
- -
-
-
-
- - -
\ No newline at end of file diff --git a/ui/v1/src/app/performers/performer-form/performer-form.component.ts b/ui/v1/src/app/performers/performer-form/performer-form.component.ts deleted file mode 100644 index 7acb12aa8..000000000 --- a/ui/v1/src/app/performers/performer-form/performer-form.component.ts +++ /dev/null @@ -1,204 +0,0 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { StashService } from '../../core/stash.service'; - -import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; - -import { FormControl } from '@angular/forms'; - -@Component({ - selector: 'app-performer-form', - templateUrl: './performer-form.component.html', - styleUrls: ['./performer-form.component.css'] -}) -export class PerformerFormComponent implements OnInit, OnDestroy { - name: string; - favorite: boolean; - aliases: string; - country: string; - birthdate: string; - ethnicity: string; - eye_color: string; - height: string; - measurements: string; - fake_tits: string; - career_length: string; - tattoos: string; - piercings: string; - url: string; - twitter: string; - instagram: string; - image: string; - - loading = true; - imagePreview: string; - image_path: string; - ethnicityOptions: string[] = ['white', 'black', 'asian', 'hispanic']; - performerNameOptions: string[] = []; - selectedName: string; - - searchFormControl = new FormControl(); - - constructor( - private route: ActivatedRoute, - private stashService: StashService, - private router: Router - ) {} - - ngOnInit() { - this.getPerformer(); - - this.searchFormControl.valueChanges.pipe( - debounceTime(400), - distinctUntilChanged() - ).subscribe(term => { - this.name = term; - this.getPerformerNames(term); - }); - } - - ngOnDestroy() {} - - async getPerformer() { - const id = parseInt(this.route.snapshot.params['id'], 10); - if (!!id === false) { - console.log('new performer'); - this.loading = false; - return; - } - - const result = await this.stashService.findPerformer(id).result(); - this.loading = result.loading; - - this.name = result.data.findPerformer.name; - this.selectedName = this.name; - this.searchFormControl.setValue(this.name); - this.favorite = result.data.findPerformer.favorite; - this.aliases = result.data.findPerformer.aliases; - this.country = result.data.findPerformer.country; - this.birthdate = result.data.findPerformer.birthdate; - this.ethnicity = result.data.findPerformer.ethnicity; - this.eye_color = result.data.findPerformer.eye_color; - this.height = result.data.findPerformer.height; - this.measurements = result.data.findPerformer.measurements; - this.fake_tits = result.data.findPerformer.fake_tits; - this.career_length = result.data.findPerformer.career_length; - this.tattoos = result.data.findPerformer.tattoos; - this.piercings = result.data.findPerformer.piercings; - this.url = result.data.findPerformer.url; - this.twitter = result.data.findPerformer.twitter; - this.instagram = result.data.findPerformer.instagram; - - this.image_path = result.data.findPerformer.image_path; - this.imagePreview = this.image_path; - } - - async getPerformerNames(query: string) { - if (query === undefined) { return; } - if (this.selectedName !== this.name) { this.selectedName = null; } - const result = await this.stashService.scrapeFreeonesPerformers(query).result(); - this.performerNameOptions = result.data.scrapeFreeonesPerformerList; - } - - onClickedPerformerName(name) { - this.name = name; - this.selectedName = name; - this.searchFormControl.setValue(this.name); - } - - onImageChange(event) { - const file: File = event.target.files[0]; - const reader: FileReader = new FileReader(); - - reader.onloadend = (e) => { - this.image = reader.result as string; - this.imagePreview = this.image; - }; - reader.readAsDataURL(file); - } - - onResetImage(imageInput) { - imageInput.value = ''; - this.imagePreview = this.image_path; - this.image = null; - } - - onFavoriteChange() { - this.favorite = !this.favorite; - } - - onSubmit() { - const id = this.route.snapshot.params['id']; - - if (!!id) { - this.stashService.performerUpdate({ - id: id, - name: this.name, - url: this.url, - birthdate: this.birthdate, - ethnicity: this.ethnicity, - country: this.country, - eye_color: this.eye_color, - height: this.height, - measurements: this.measurements, - fake_tits: this.fake_tits, - career_length: this.career_length, - tattoos: this.tattoos, - piercings: this.piercings, - aliases: this.aliases, - twitter: this.twitter, - instagram: this.instagram, - favorite: this.favorite, - image: this.image - }).subscribe(result => { - this.router.navigate(['/performers', id]); - }); - } else { - this.stashService.performerCreate({ - name: this.name, - url: this.url, - birthdate: this.birthdate, - ethnicity: this.ethnicity, - country: this.country, - eye_color: this.eye_color, - height: this.height, - measurements: this.measurements, - fake_tits: this.fake_tits, - career_length: this.career_length, - tattoos: this.tattoos, - piercings: this.piercings, - aliases: this.aliases, - twitter: this.twitter, - instagram: this.instagram, - favorite: this.favorite, - image: this.image - }).subscribe(result => { - this.router.navigate(['/performers', result.data.performerCreate.id]); - }); - } - } - - async onScrape() { - this.loading = true; - const result = await this.stashService.scrapeFreeones(this.name).result(); - this.loading = false; - - this.url = result.data.scrapeFreeones.url; - this.name = result.data.scrapeFreeones.name; - this.searchFormControl.setValue(this.name); - this.aliases = result.data.scrapeFreeones.aliases; - this.country = result.data.scrapeFreeones.country; - this.birthdate = result.data.scrapeFreeones.birthdate ? result.data.scrapeFreeones.birthdate : this.birthdate; - this.ethnicity = result.data.scrapeFreeones.ethnicity; - this.eye_color = result.data.scrapeFreeones.eye_color; - this.height = result.data.scrapeFreeones.height; - this.measurements = result.data.scrapeFreeones.measurements; - this.fake_tits = result.data.scrapeFreeones.fake_tits; - this.career_length = result.data.scrapeFreeones.career_length; - this.tattoos = result.data.scrapeFreeones.tattoos; - this.piercings = result.data.scrapeFreeones.piercings; - this.twitter = result.data.scrapeFreeones.twitter; - this.instagram = result.data.scrapeFreeones.instagram; - } -} diff --git a/ui/v1/src/app/performers/performer-list/performer-list.component.html b/ui/v1/src/app/performers/performer-list/performer-list.component.html deleted file mode 100644 index df7ba507c..000000000 --- a/ui/v1/src/app/performers/performer-list/performer-list.component.html +++ /dev/null @@ -1,7 +0,0 @@ - - - \ No newline at end of file diff --git a/ui/v1/src/app/performers/performer-list/performer-list.component.ts b/ui/v1/src/app/performers/performer-list/performer-list.component.ts deleted file mode 100644 index 1c83beba2..000000000 --- a/ui/v1/src/app/performers/performer-list/performer-list.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { PerformersService } from '../performers.service'; - -@Component({ - selector: 'app-performer-list', - templateUrl: './performer-list.component.html' -}) -export class PerformerListComponent implements OnInit { - state = this.performersService.performerListState; - - constructor(private performersService: PerformersService, - private route: ActivatedRoute, - private router: Router) {} - - ngOnInit() {} - - onClickNew() { - this.router.navigate(['new'], { relativeTo: this.route }); - } - -} diff --git a/ui/v1/src/app/performers/performers-routing.module.ts b/ui/v1/src/app/performers/performers-routing.module.ts deleted file mode 100644 index c8c98ca7a..000000000 --- a/ui/v1/src/app/performers/performers-routing.module.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; - -import { PerformersComponent } from './performers/performers.component'; -import { PerformerListComponent } from './performer-list/performer-list.component'; -import { PerformerDetailComponent } from './performer-detail/performer-detail.component'; -import { PerformerFormComponent } from './performer-form/performer-form.component'; - -const performersRoutes: Routes = [ - { path: '', - component: PerformersComponent, - children: [ - { path: '', component: PerformerListComponent }, - { path: 'new', component: PerformerFormComponent }, - { path: ':id', component: PerformerDetailComponent }, - { path: ':id/edit', component: PerformerFormComponent } - ] - } -]; - -@NgModule({ - imports: [ - RouterModule.forChild(performersRoutes) - ], - exports: [ - RouterModule - ] -}) -export class PerformersRoutingModule {} diff --git a/ui/v1/src/app/performers/performers.module.ts b/ui/v1/src/app/performers/performers.module.ts deleted file mode 100644 index be7b4d1ff..000000000 --- a/ui/v1/src/app/performers/performers.module.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; -import { ReactiveFormsModule } from '@angular/forms'; - -import { PerformersRoutingModule } from './performers-routing.module'; -import { PerformersService } from './performers.service'; - -import { PerformersComponent } from './performers/performers.component'; -import { PerformerListComponent } from './performer-list/performer-list.component'; -import { PerformerDetailComponent } from './performer-detail/performer-detail.component'; -import { PerformerFormComponent } from './performer-form/performer-form.component'; - -@NgModule({ - imports: [ - ReactiveFormsModule, - SharedModule, - PerformersRoutingModule - ], - declarations: [ - PerformersComponent, - PerformerListComponent, - PerformerDetailComponent, - PerformerFormComponent - ], - providers: [ - PerformersService - ] -}) -export class PerformersModule {} diff --git a/ui/v1/src/app/performers/performers.service.ts b/ui/v1/src/app/performers/performers.service.ts deleted file mode 100644 index 620f40d9a..000000000 --- a/ui/v1/src/app/performers/performers.service.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Injectable } from '@angular/core'; - -import { PerformerListState, SceneListState } from '../shared/models/list-state.model'; - -@Injectable() -export class PerformersService { - performerListState: PerformerListState = new PerformerListState(); - detailsSceneListState: SceneListState = new SceneListState(); - - constructor() {} -} diff --git a/ui/v1/src/app/performers/performers/performers.component.ts b/ui/v1/src/app/performers/performers/performers.component.ts deleted file mode 100644 index b41e5ccff..000000000 --- a/ui/v1/src/app/performers/performers/performers.component.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-performers', - template: '' -}) -export class PerformersComponent implements OnInit { - - constructor() {} - - ngOnInit() {} - -} diff --git a/ui/v1/src/app/scenes/marker-list/marker-list.component.ts b/ui/v1/src/app/scenes/marker-list/marker-list.component.ts deleted file mode 100644 index 554d05ae1..000000000 --- a/ui/v1/src/app/scenes/marker-list/marker-list.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -import { ScenesService } from '../scenes.service'; - -@Component({ - selector: 'app-marker-list', - template: '' -}) -export class MarkerListComponent implements OnInit { - state = this.scenesService.sceneMarkerListState; - - constructor(private scenesService: ScenesService) {} - - ngOnInit() {} - -} diff --git a/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.css b/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.html b/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.html deleted file mode 100644 index 9bf9c7f2a..000000000 --- a/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.html +++ /dev/null @@ -1,87 +0,0 @@ - - -
-
-

{{!!editingMarker ? 'Edit' : 'Create'}} Marker

-
-
- - -
-
-
- - -
-
- - - - -
-
-
- - - - -
- - - -
-
-
- -
-
-
-
{{primary_tag.tag.name}}
-
-
-
- - -
- {{marker.seconds | seconds}} -
-
-
-
- {{tag.name}} -
-
-
-
-
-
-
-
-
diff --git a/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.ts b/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.ts deleted file mode 100644 index 085ad6aeb..000000000 --- a/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.ts +++ /dev/null @@ -1,162 +0,0 @@ -import { Component, OnInit, OnChanges, SimpleChanges, Input } from '@angular/core'; -import { FormControl } from '@angular/forms'; - -import { StashService } from '../../core/stash.service'; - -import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; - -import { MarkerStrings, SceneMarkerData, SceneData, AllTagsForFilter } from '../../core/graphql-generated'; - - -@Component({ - selector: 'app-scene-detail-marker-manager', - templateUrl: './scene-detail-marker-manager.component.html', - styleUrls: ['./scene-detail-marker-manager.component.css'] -}) -export class SceneDetailMarkerManagerComponent implements OnInit, OnChanges { - @Input() scene: SceneData.Fragment; - @Input() player: any; - - showingMarkerModal = false; - markerOptions: MarkerStrings.Query['markerStrings']; - filteredMarkerOptions: string[] = []; - hasFocus = false; - editingMarker: SceneMarkerData.Fragment; - deleteClickCount = 0; - - searchFormControl = new FormControl(); - - // Form input - title: string; - seconds: number; - primary_tag_id: string; - tag_ids: string[] = []; - - // From the network - tags: AllTagsForFilter.AllTags[]; - - constructor(private stashService: StashService) {} - - ngOnInit() { - this.stashService.allTagsForFilter().valueChanges.subscribe(result => { - this.tags = result.data.allTags; - }); - - this.stashService.markerStrings().valueChanges.subscribe(result => { - this.markerOptions = result.data.markerStrings; - }); - - this.searchFormControl.valueChanges.pipe( - debounceTime(400), - distinctUntilChanged() - ).subscribe(term => { - this.filteredMarkerOptions = this.markerOptions.filter(value => { - return value.title.toLowerCase().includes(term.toLowerCase()); - }).map(value => { - return value.title; - }).slice(0, 15); - }); - } - - ngOnChanges(changes: SimpleChanges): void { - if (changes['scene']) { - } - } - - onSubmit() { - this.title = this.searchFormControl.value; - const input = { - id: null, - title: this.title, - seconds: this.seconds, - scene_id: this.scene.id, - primary_tag_id: this.primary_tag_id, - tag_ids: this.tag_ids - }; - - if (this.editingMarker == null) { - this.stashService.markerCreate(input).subscribe(response => { - console.log(response); - this.hideModal(); - }, error => { - console.log(error); - }); - } else { - input.id = this.editingMarker.id; - this.stashService.markerUpdate(input).subscribe(response => { - console.log(response); - this.hideModal(); - }, error => { - console.log(error); - }); - } - } - - onCancel() { - this.hideModal(); - } - - onClickDelete() { - this.deleteClickCount += 1; - if (this.deleteClickCount > 2) { - this.stashService.markerDestroy(this.editingMarker.id, this.scene.id).subscribe(response => { - console.log('Delete successfull:', response); - this.hideModal(); - }); - } - } - - onClickAddMarker() { - this.player.pause(); - this.showModal(); - } - - onClickMarker(marker: SceneMarkerData.Fragment) { - this.player.seek(marker.seconds); - } - - onClickEditMarker(marker: SceneMarkerData.Fragment) { - this.showModal(marker); - } - - onClickMarkerTitle(title: string) { - this.setTitle(title); - } - - setHasFocus(hasFocus: boolean) { - if (hasFocus === false) { - setTimeout(() => { this.hasFocus = false; }, 400); - } else { - this.hasFocus = hasFocus; - } - } - - private hideModal() { - this.showingMarkerModal = false; - this.editingMarker = null; - } - - private showModal(marker: SceneMarkerData.Fragment = null) { - this.deleteClickCount = 0; - this.showingMarkerModal = true; - - this.setTitle(''); - this.primary_tag_id = null; - this.tag_ids = []; - this.seconds = Math.round(this.player.getPosition()); - - if (marker == null) { return; } - - this.editingMarker = marker; - - this.setTitle(marker.title); - this.seconds = marker.seconds; - this.primary_tag_id = marker.primary_tag.id; - this.tag_ids = marker.tags.map(value => value.id); - } - - private setTitle(title: string) { - this.title = title; - this.searchFormControl.setValue(title); - } -} diff --git a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.css b/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.css deleted file mode 100644 index aefc6f310..000000000 --- a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.css +++ /dev/null @@ -1,128 +0,0 @@ -.scrubber-wrapper { - position: relative; - overflow: hidden; - margin: 5px 0; -} - -#scrubber-back { - float: left; -} - -#scrubber-forward { - float: right; -} - -.scrubber-button { - width: 1.5%; - height: 100%; - line-height: 120px; - padding: 0; - text-align: center; - border: 1px solid #555; - font-weight: 800; - font-size: 20px; - color: #FFF; - cursor: pointer; -} - -.scrubber-content { - -webkit-user-select: none; - -webkit-overflow-scrolling: touch; - cursor: -webkit-grab; - height: 120px; - width: 96%; - margin: 0 0.5%; - display: inline-block; - position: relative; - overflow: hidden; -} - -.scrubber-content.dragging { - cursor: -webkit-grabbing; -} - -.scrubber-tags-background { - background-color: #555; - position: absolute; - left: 0; - right: 0; - height: 20px; -} - -#scrubber-position-indicator { - background-color: #CCC; - width: 100%; - left: -100%; - height: 20px; - z-index: 0; - position: absolute; -} - -#scrubber-current-position { - background-color: #FFF; - width: 2px; - height: 30px; - left: 50%; - z-index: 100; - position: absolute; -} - -.scrubber-viewport { - position: static; - height: 100%; - overflow: hidden; -} - -.scrubber-slider { - position: absolute; - width: 100%; - height: 100%; - left: 0; - transition: 333ms ease-out; -} - -.scrubber-tags { - height: 20px; - position: relative; - margin-bottom: 10px; -} - -.scrubber-tag { - position: absolute; - background-color: #000; - font-size: 10px; - white-space: nowrap; - padding: 0 10px; - cursor: pointer; -} -.scrubber-tag:hover { - z-index: 1; - background-color: #444; -} -.scrubber-tag:after { - content: ""; - position: absolute; - bottom: -5px; - left: 50%; - margin-left: -5px; - border-top: solid 5px #000; - border-left: solid 5px transparent; - border-right: solid 5px transparent; -} - -.scrubber-item { - position: absolute; - display: flex; - margin-right: 10px; - cursor: pointer; - color: white; - text-shadow: 1px 1px black; - text-align: center; - font-size: 10px; -} - -.scrubber-item span { - display: inline-block; - align-self: flex-end; - width: 100%; -} \ No newline at end of file diff --git a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.html b/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.html deleted file mode 100644 index f1d4500c1..000000000 --- a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.html +++ /dev/null @@ -1,30 +0,0 @@ -
- < -
-
-
-
-
-
-
-
- {{marker.title}} -
-
-
- {{spriteItem.start | seconds}} - {{spriteItem.end | seconds}} -
-
-
-
- > -
diff --git a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.ts b/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.ts deleted file mode 100644 index 62887615b..000000000 --- a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.ts +++ /dev/null @@ -1,232 +0,0 @@ -import { - Component, - OnInit, - OnChanges, - SimpleChanges, - Input, - Output, - HostListener, - ViewChild, - EventEmitter -} from '@angular/core'; - -import { HttpClient } from '@angular/common/http'; - -import { SceneData } from '../../core/graphql-generated'; - -class SceneSpriteItem { - start: number; - end: number; - x: number; - y: number; - w: number; - h: number; -} - -@Component({ - selector: 'app-scene-detail-scrubber', - templateUrl: './scene-detail-scrubber.component.html', - styleUrls: ['./scene-detail-scrubber.component.css'] -}) -export class SceneDetailScrubberComponent implements OnInit, OnChanges { - @Input() scene: SceneData.Fragment; - @Output() seek: EventEmitter = new EventEmitter(); - @Output() scrolled: EventEmitter = new EventEmitter(); - - slider: HTMLElement; - @ViewChild('scrubberSlider') sliderTag: any; - - indicator: HTMLElement; - @ViewChild('positionIndicator') indicatorTag: any; - - spriteItems: SceneSpriteItem[] = []; - - private mouseDown = false; - private last: MouseEvent; - private start: MouseEvent; - private velocity = 0; - - private _position = 0; - getPostion(): number { return this._position; } - setPosition(newPostion: number, shouldEmit: boolean = true) { - if (shouldEmit) { this.scrolled.emit(); } - - const midpointOffset = this.slider.clientWidth / 2; - - const bounds = this.getBounds() * -1; - if (newPostion > midpointOffset) { - this._position = midpointOffset; - } else if (newPostion < bounds - midpointOffset) { - this._position = bounds - midpointOffset; - } else { - this._position = newPostion; - } - - this.slider.style.transform = `translateX(${this._position}px)`; - - const indicatorPosition = ((newPostion - midpointOffset) / (bounds - (midpointOffset * 2)) * this.slider.clientWidth); - this.indicator.style.transform = `translateX(${indicatorPosition}px)`; - } - - @HostListener('window:mouseup', ['$event']) - onMouseup(event: MouseEvent) { - if (!this.start) { return; } - this.mouseDown = false; - const delta = Math.abs(event.clientX - this.start.clientX); - if (delta < 1 && event.target instanceof HTMLDivElement) { - const target: HTMLDivElement = event.target; - let seekSeconds: number = null; - - const spriteIdString = target.getAttribute('data-sprite-item-id'); - if (spriteIdString != null) { - const spritePercentage = event.offsetX / target.clientWidth; - const offset = target.offsetLeft + (target.clientWidth * spritePercentage); - const percentage = offset / this.slider.scrollWidth; - seekSeconds = percentage * this.scene.file.duration; - } - - const markerIdString = target.getAttribute('data-marker-id'); - if (markerIdString != null) { - const marker = this.scene.scene_markers[Number(markerIdString)]; - seekSeconds = marker.seconds; - } - - if (!!seekSeconds) { this.seek.emit(seekSeconds); } - } else if (Math.abs(this.velocity) > 25) { - const newPosition = this.getPostion() + (this.velocity * 10); - this.setPosition(newPosition); - this.velocity = 0; - } - } - - @HostListener('mousedown', ['$event']) - onMousedown(event) { - event.preventDefault(); - this.mouseDown = true; - this.last = event; - this.start = event; - this.velocity = 0; - } - - @HostListener('mousemove', ['$event']) - onMousemove(event: MouseEvent) { - if (!this.mouseDown) { return; } - - // negative dragging right (past), positive left (future) - const delta = event.clientX - this.last.clientX; - - const movement = event.movementX; - this.velocity = movement; - - const newPostion = this.getPostion() + delta; - this.setPosition(newPostion); - this.last = event; - } - - constructor(private http: HttpClient) {} - - ngOnInit() { - this.slider = this.sliderTag.nativeElement; - this.indicator = this.indicatorTag.nativeElement; - - this.slider.style.transform = `translateX(${this.slider.clientWidth / 2}px)`; - } - - ngOnChanges(changes: SimpleChanges): void { - if (changes['scene']) { - this.fetchSpriteInfo(); - } - } - - fetchSpriteInfo() { - if (!this.scene) { return; } - - this.http.get(this.scene.paths.vtt, {responseType: 'text'}).subscribe(res => { - // TODO: This is gnarly - const lines = res.split('\n'); - if (lines.shift() !== 'WEBVTT') { return; } - if (lines.shift() !== '') { return; } - let item = new SceneSpriteItem(); - this.spriteItems = []; - while (lines.length) { - const line = lines.shift(); - - if (line.includes('#') && line.includes('=') && line.includes(',')) { - const size = line.split('#')[1].split('=')[1].split(','); - item.x = Number(size[0]); - item.y = Number(size[1]); - item.w = Number(size[2]); - item.h = Number(size[3]); - - this.spriteItems.push(item); - item = new SceneSpriteItem(); - } else if (line.includes(' --> ')) { - const times = line.split(' --> '); - - const start = times[0].split(':'); - item.start = (+start[0]) * 60 * 60 + (+start[1]) * 60 + (+start[2]); - - const end = times[1].split(':'); - item.end = (+end[0]) * 60 * 60 + (+end[1]) * 60 + (+end[2]); - } - } - }, error => { - console.log(error); - }); - } - - getBounds(): number { - return this.slider.scrollWidth - this.slider.clientWidth; - } - - getStyleForSprite(i) { - const sprite = this.spriteItems[i]; - const left = sprite.w * i; - const path = this.scene.paths.vtt.replace('_thumbs.vtt', '_sprite.jpg'); // TODO: Gnarly - return { - 'width.px': sprite.w, - 'height.px': sprite.h, - 'margin': '0px auto', - 'background-position': -sprite.x + 'px ' + -sprite.y + 'px', - 'background-image': `url(${path})`, - 'left.px': left - }; - } - - getTagStyle(tag: HTMLDivElement, i: number) { - if (!this.slider || this.spriteItems.length === 0 || this.getBounds() === 0) { return {}; } - - const marker = this.scene.scene_markers[i]; - const duration = Number(this.scene.file.duration); - const percentage = marker.seconds / duration; - - // TODO: this doesn't seem necessary anymore. Double check. - // Need to offset from the left margin or the tags are slightly off. - // const offset = Number(window.getComputedStyle(this.slider.offsetParent).marginLeft.replace('px', '')); - const offset = 0; - - const left = (this.slider.scrollWidth * percentage) - (tag.clientWidth / 2) + offset; - return { - 'left.px': left, - 'height.px': 20 - }; - } - - goBack() { - const newPosition = this.getPostion() + this.slider.clientWidth; - this.setPosition(newPosition); - } - - goForward() { - const newPosition = this.getPostion() - this.slider.clientWidth; - this.setPosition(newPosition); - } - - public scrollTo(seconds: number) { - const duration = Number(this.scene.file.duration); - const percentage = seconds / duration; - const position = ((this.slider.scrollWidth * percentage) - (this.slider.clientWidth / 2)) * -1; - this.setPosition(position, false); - } - -} diff --git a/ui/v1/src/app/scenes/scene-detail/scene-detail.component.css b/ui/v1/src/app/scenes/scene-detail/scene-detail.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/scenes/scene-detail/scene-detail.component.html b/ui/v1/src/app/scenes/scene-detail/scene-detail.component.html deleted file mode 100644 index 6ed72ffa5..000000000 --- a/ui/v1/src/app/scenes/scene-detail/scene-detail.component.html +++ /dev/null @@ -1,96 +0,0 @@ - - - -
-
- - - - - - -
- -
-

- {{scene?.title || 'No Title'}} -
{{scene?.date | date:"MM/dd/yy"}}
-
{{scene?.file.size | fileSize}}
-

- - -
- - - No Studio -
-
- -
-

Details

-

{{scene.details}}

-
- -
-

Performers

- -
- -
-

Tags

- -
- -
-

- Gallery -

- -
- - -
diff --git a/ui/v1/src/app/scenes/scene-detail/scene-detail.component.ts b/ui/v1/src/app/scenes/scene-detail/scene-detail.component.ts deleted file mode 100644 index d93cfa805..000000000 --- a/ui/v1/src/app/scenes/scene-detail/scene-detail.component.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { Component, OnInit, ViewChild } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { StashService } from '../../core/stash.service'; - -import { SceneData } from '../../core/graphql-generated'; - -@Component({ - selector: 'app-scene-detail', - templateUrl: './scene-detail.component.html', - styleUrls: ['./scene-detail.component.css'] -}) -export class SceneDetailComponent implements OnInit { - scene: SceneData.Fragment; - - private lastTime = 0; - - private isPlayerSetup = false; - - @ViewChild('jwplayer') jwplayer: any; - @ViewChild('scrubber') scrubber: any; - - constructor(private route: ActivatedRoute, private stashService: StashService, private router: Router) { } - - ngOnInit() { - this.getScene(); - window.scrollTo(0, 0); - } - - getScene() { - const id = parseInt(this.route.snapshot.params['id'], 10); - - this.stashService.findScene(id).valueChanges.subscribe(result => { - this.scene = Object.assign({scene_marker_tags: result.data.sceneMarkerTags}, result.data.findScene); - - // TODO: Check this, this didn't matter before... - if (!this.isPlayerSetup) { - const streamPath = this.scene.paths.stream; - const screenshotPath = this.scene.paths.screenshot; - const vttPath = this.scene.paths.vtt; - const chaptersVttPath = this.scene.paths.chapters_vtt; - this.jwplayer.setupPlayer(streamPath, screenshotPath, vttPath, chaptersVttPath); - this.isPlayerSetup = true; - - this.route.queryParams.subscribe(params => { - if (params['t'] != null) { - this.jwplayer.player.seek(params['t']); - } - }); - } - }, error => { - console.log(error); - }); - } - - onClickEdit() { - this.router.navigate(['edit'], { relativeTo: this.route }); - } - - onSeeked() { - const position = this.jwplayer.player.getPosition(); - this.scrubber.scrollTo(position); - this.jwplayer.player.play(); - } - - onTime(data) { - const position = this.jwplayer.player.getPosition(); - const difference = Math.abs(position - this.lastTime); - if (difference > 1) { - this.lastTime = position; - this.scrubber.scrollTo(position); - } - } - - scrubberSeek(seconds) { - this.jwplayer.player.seek(seconds); - } - - scrubberScrolled() { - this.jwplayer.player.pause(); - } -} diff --git a/ui/v1/src/app/scenes/scene-form/scene-form.component.css b/ui/v1/src/app/scenes/scene-form/scene-form.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/scenes/scene-form/scene-form.component.html b/ui/v1/src/app/scenes/scene-form/scene-form.component.html deleted file mode 100644 index 4bdbc0302..000000000 --- a/ui/v1/src/app/scenes/scene-form/scene-form.component.html +++ /dev/null @@ -1,98 +0,0 @@ -
-

Scene Information

-
-
-
- - -
-
- - -
-
- - -
-
- - -
-
-
- - - - - -
-
- - - - -
- - -  {{ option.name }} - - -
- - - - -
-
- -
-
- - - -
-
- <%= link_to 'Add Tag', new_tag_path, class: 'ui fluid button' %> -
-
-
-
- - -
-
- -
diff --git a/ui/v1/src/app/scenes/scene-form/scene-form.component.ts b/ui/v1/src/app/scenes/scene-form/scene-form.component.ts deleted file mode 100644 index 583476390..000000000 --- a/ui/v1/src/app/scenes/scene-form/scene-form.component.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { StashService } from '../../core/stash.service'; - -import { FindSceneForEditing } from '../../core/graphql-generated'; - -@Component({ - selector: 'app-scene-form', - templateUrl: './scene-form.component.html', - styleUrls: ['./scene-form.component.css'] -}) -export class SceneFormComponent implements OnInit { - loading = true; - - title: string; - details: string; - url: string; - date: string; - rating: number; - gallery_id: string; - studio_id: string; - performer_ids: string[] = []; - tag_ids: string[] = []; - - performers: FindSceneForEditing.Query['allPerformers']; - tags: FindSceneForEditing.Query['allTags']; - studios: FindSceneForEditing.Query['allStudios']; - galleries: FindSceneForEditing.Query['validGalleriesForScene']; - - constructor( - private route: ActivatedRoute, - private stashService: StashService, - private router: Router - ) {} - - ngOnInit() { - this.getScene(); - } - - getScene() { - const id = parseInt(this.route.snapshot.params['id'], 10); - - if (!!id === false) { - console.log('new scene'); - return; - } - - this.stashService.findSceneForEditing(id).valueChanges.subscribe(result => { - this.title = result.data.findScene.title; - this.details = result.data.findScene.details; - this.url = result.data.findScene.url; - this.date = result.data.findScene.date; - this.rating = result.data.findScene.rating; - this.gallery_id = !!result.data.findScene.gallery ? result.data.findScene.gallery.id : null; - this.studio_id = !!result.data.findScene.studio ? result.data.findScene.studio.id : null; - this.performer_ids = result.data.findScene.performers.map(performer => performer.id); - this.tag_ids = result.data.findScene.tags.map(tag => tag.id); - - this.performers = result.data.allPerformers; - this.tags = result.data.allTags; - this.studios = result.data.allStudios; - this.galleries = result.data.validGalleriesForScene; - - this.loading = result.loading; - }); - } - - onSubmit() { - const id = this.route.snapshot.params['id']; - this.stashService.sceneUpdate({ - id: id, - title: this.title, - details: this.details, - url: this.url, - date: this.date, - rating: this.rating, - studio_id: this.studio_id, - gallery_id: this.gallery_id, - performer_ids: this.performer_ids, - tag_ids: this.tag_ids - }).subscribe(result => { - this.router.navigate(['/scenes', id]); - }); - } - -} diff --git a/ui/v1/src/app/scenes/scene-list/scene-list.component.ts b/ui/v1/src/app/scenes/scene-list/scene-list.component.ts deleted file mode 100644 index 9aa451ae2..000000000 --- a/ui/v1/src/app/scenes/scene-list/scene-list.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -import { ScenesService } from '../scenes.service'; - -@Component({ - selector: 'app-scene-list', - template: '' -}) -export class SceneListComponent implements OnInit { - state = this.scenesService.sceneListState; - - constructor(private scenesService: ScenesService) {} - - ngOnInit() {} - -} diff --git a/ui/v1/src/app/scenes/scene-wall/scene-wall.component.css b/ui/v1/src/app/scenes/scene-wall/scene-wall.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/scenes/scene-wall/scene-wall.component.html b/ui/v1/src/app/scenes/scene-wall/scene-wall.component.html deleted file mode 100644 index a751d1682..000000000 --- a/ui/v1/src/app/scenes/scene-wall/scene-wall.component.html +++ /dev/null @@ -1,37 +0,0 @@ -
-
- - - - - - - - - - - - - -
TitleScene Count
{{marker.title}}{{marker.count}}
-
-
- -
-
-
- - - - - -
-
- -
-
- - -
-
-
\ No newline at end of file diff --git a/ui/v1/src/app/scenes/scene-wall/scene-wall.component.ts b/ui/v1/src/app/scenes/scene-wall/scene-wall.component.ts deleted file mode 100644 index 462374adf..000000000 --- a/ui/v1/src/app/scenes/scene-wall/scene-wall.component.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { FormControl } from '@angular/forms'; - -import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; - -import { StashService } from '../../core/stash.service'; - -export enum WallMode { - Scenes, - Markers -} - -@Component({ - selector: 'app-scene-wall', - templateUrl: './scene-wall.component.html', - styleUrls: ['./scene-wall.component.css'] -}) -export class SceneWallComponent implements OnInit { - WallMode = WallMode; - items: any[]; // scenes or scene markers - markerOptions: any[]; - showingMarkerList = false; - searchTerm = ''; - searchFormControl = new FormControl(); - mode: WallMode = WallMode.Markers; - - constructor( - private stashService: StashService - ) {} - - ngOnInit() { - this.searchFormControl.valueChanges.pipe( - debounceTime(1000), - distinctUntilChanged() - ).subscribe(term => { - this.getScenes(term); - }); - this.stashService.markerStrings().valueChanges.subscribe(result => { - this.markerOptions = result.data.markerStrings; - }); - this.searchFormControl.setValue(this.searchTerm); - } - - async getScenes(q: string) { - this.items = null; - this.searchTerm = q; - if (this.mode === WallMode.Scenes) { - const response = await this.stashService.sceneWall(q).result(); - this.items = response.data.sceneWall; - } else { - const response = await this.stashService.markerWall(q).result(); - this.items = response.data.markerWall; - } - } - - toggleMode() { - if (this.mode === WallMode.Scenes) { - this.mode = WallMode.Markers; - } else { - this.mode = WallMode.Scenes; - } - this.getScenes(this.searchTerm); - } - - toggleMarkerList() { - this.showingMarkerList = !this.showingMarkerList; - } - - refresh() { - this.getScenes(this.searchTerm); - } - - onClickMarker(marker) { - this.searchTerm = `${marker.title}`; - this.searchFormControl.setValue(this.searchTerm); - this.showingMarkerList = false; - } - - async sortMarkers(by) { - const result = await this.stashService.markerStrings(null, by).result(); - this.markerOptions = result.data.markerStrings; - } - -} diff --git a/ui/v1/src/app/scenes/scenes-routing.module.ts b/ui/v1/src/app/scenes/scenes-routing.module.ts deleted file mode 100644 index cc7c20ac3..000000000 --- a/ui/v1/src/app/scenes/scenes-routing.module.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; - -import { ScenesComponent } from './scenes/scenes.component'; -import { SceneListComponent } from './scene-list/scene-list.component'; -import { SceneDetailComponent } from './scene-detail/scene-detail.component'; -import { SceneFormComponent } from './scene-form/scene-form.component'; -import { SceneWallComponent } from './scene-wall/scene-wall.component'; -import { MarkerListComponent } from './marker-list/marker-list.component'; - -const scenesRoutes: Routes = [ - { path: 'wall', component: SceneWallComponent }, - { path: 'markers', component: MarkerListComponent }, - { path: '', - component: ScenesComponent, - children: [ - { path: '', component: SceneListComponent }, - { path: ':id', component: SceneDetailComponent }, - { path: ':id/edit', component: SceneFormComponent } - ] - } -]; - -@NgModule({ - imports: [ - RouterModule.forChild(scenesRoutes) - ], - exports: [ - RouterModule - ] -}) -export class ScenesRoutingModule {} diff --git a/ui/v1/src/app/scenes/scenes.module.ts b/ui/v1/src/app/scenes/scenes.module.ts deleted file mode 100644 index 526985337..000000000 --- a/ui/v1/src/app/scenes/scenes.module.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; - -import { ScenesRoutingModule } from './scenes-routing.module'; -import { ScenesService } from './scenes.service'; - -import { ScenesComponent } from './scenes/scenes.component'; -import { SceneListComponent } from './scene-list/scene-list.component'; -import { SceneDetailComponent } from './scene-detail/scene-detail.component'; -import { SceneFormComponent } from './scene-form/scene-form.component'; -import { SceneWallComponent } from './scene-wall/scene-wall.component'; -import { SceneDetailScrubberComponent } from './scene-detail-scrubber/scene-detail-scrubber.component'; -import { SceneDetailMarkerManagerComponent } from './scene-detail-marker-manager/scene-detail-marker-manager.component'; -import { MarkerListComponent } from './marker-list/marker-list.component'; - -@NgModule({ - imports: [ - SharedModule, - ScenesRoutingModule - ], - declarations: [ - ScenesComponent, - SceneListComponent, - SceneDetailComponent, - SceneFormComponent, - SceneWallComponent, - SceneDetailScrubberComponent, - SceneDetailMarkerManagerComponent, - MarkerListComponent - ], - providers: [ - ScenesService - ] -}) -export class ScenesModule {} diff --git a/ui/v1/src/app/scenes/scenes.service.ts b/ui/v1/src/app/scenes/scenes.service.ts deleted file mode 100644 index 58aa9d0a6..000000000 --- a/ui/v1/src/app/scenes/scenes.service.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Injectable } from '@angular/core'; - -import { SceneListState, SceneMarkerListState } from '../shared/models/list-state.model'; - -@Injectable() -export class ScenesService { - sceneListState: SceneListState = new SceneListState(); - sceneMarkerListState: SceneMarkerListState = new SceneMarkerListState(); - - constructor() {} -} diff --git a/ui/v1/src/app/scenes/scenes/scenes.component.ts b/ui/v1/src/app/scenes/scenes/scenes.component.ts deleted file mode 100644 index 8ff906060..000000000 --- a/ui/v1/src/app/scenes/scenes/scenes.component.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-scenes', - template: '' -}) -export class ScenesComponent implements OnInit { - - constructor() {} - - ngOnInit() {} - -} diff --git a/ui/v1/src/app/settings/settings-routing.module.ts b/ui/v1/src/app/settings/settings-routing.module.ts deleted file mode 100644 index 1f1b360a7..000000000 --- a/ui/v1/src/app/settings/settings-routing.module.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; - -import { SettingsComponent } from './settings/settings.component'; - -const routes: Routes = [ - { path: '', - component: SettingsComponent - } -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class SettingsRoutingModule {} diff --git a/ui/v1/src/app/settings/settings.module.ts b/ui/v1/src/app/settings/settings.module.ts deleted file mode 100644 index b5bde6d08..000000000 --- a/ui/v1/src/app/settings/settings.module.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; - -import { SettingsRoutingModule } from './settings-routing.module'; -import { SettingsComponent } from './settings/settings.component'; - -@NgModule({ - imports: [ - SharedModule, - SettingsRoutingModule - ], - declarations: [ - SettingsComponent - ] -}) -export class SettingsModule {} diff --git a/ui/v1/src/app/settings/settings/settings.component.html b/ui/v1/src/app/settings/settings/settings.component.html deleted file mode 100644 index bf850f466..000000000 --- a/ui/v1/src/app/settings/settings/settings.component.html +++ /dev/null @@ -1,20 +0,0 @@ - -{{message}} - -
- -
-
- {{log.type}} - {{log.message}} -
-
\ No newline at end of file diff --git a/ui/v1/src/app/settings/settings/settings.component.ts b/ui/v1/src/app/settings/settings/settings.component.ts deleted file mode 100644 index f78a7cb18..000000000 --- a/ui/v1/src/app/settings/settings/settings.component.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { Subscription } from 'rxjs'; - -import { StashService } from '../../core/stash.service'; - -@Component({ - selector: 'app-settings', - templateUrl: './settings.component.html' -}) -export class SettingsComponent implements OnInit, OnDestroy { - progress: number; - message: string; - logs: string[]; - statusObservable: Subscription; - importClickCount = 0; - - constructor(private stashService: StashService) {} - - ngOnInit() { - this.statusObservable = this.stashService.metadataUpdate().subscribe(response => { - const result = JSON.parse(response.data.metadataUpdate); - - this.progress = result.progress; - this.message = result.message; - this.logs = result.logs; - }); - } - - ngOnDestroy() { - if (!this.statusObservable) { return; } - this.statusObservable.unsubscribe(); - } - - onClickImport() { - this.importClickCount += 1; - if (this.importClickCount > 2) { - this.stashService.metadataImport().refetch(); - this.importClickCount = 0; - } - } - - onClickExport() { - this.stashService.metadataExport().refetch(); - } - - onClickScan() { - this.stashService.metadataScan().refetch(); - } - - onClickGenerate() { - this.stashService.metadataGenerate().refetch(); - } - - onClickClean() { - this.stashService.metadataClean().refetch(); - } - -} diff --git a/ui/v1/src/app/shared/age.pipe.ts b/ui/v1/src/app/shared/age.pipe.ts deleted file mode 100644 index 2ffc0185f..000000000 --- a/ui/v1/src/app/shared/age.pipe.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Pipe, PipeTransform } from '@angular/core'; - -@Pipe({ - name: 'age' -}) -export class AgePipe implements PipeTransform { - - transform(value: string, ageFromDate?: string): number { - if (!!value === false) { return 0; } - - const birthdate = new Date(value); - const fromDate = !!ageFromDate ? new Date(ageFromDate) : new Date(); - - let age = fromDate.getFullYear() - birthdate.getFullYear(); - if (birthdate.getMonth() > fromDate.getMonth() || - (birthdate.getMonth() >= fromDate.getMonth() && birthdate.getDay() > fromDate.getDay())) { - age -= 1; - } - - return age; - } - -} diff --git a/ui/v1/src/app/shared/base-wall-item/base-wall-item.component.ts b/ui/v1/src/app/shared/base-wall-item/base-wall-item.component.ts deleted file mode 100644 index 6ec3fb61e..000000000 --- a/ui/v1/src/app/shared/base-wall-item/base-wall-item.component.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { Component, OnInit, ViewChild, ElementRef, HostListener } from '@angular/core'; - -@Component({ - selector: 'app-base-wall-item', - template: '' -}) -export class BaseWallItemComponent implements OnInit { - private video: any; - private hoverTimeout: any = null; - isHovering = false; - - title = ''; - imagePath = ''; - videoPath = ''; - - @ViewChild('videoTag') - set videoTag(videoTag: ElementRef) { - if (videoTag === undefined) { return; } - this.video = videoTag.nativeElement; - this.video.volume = 0.05; - this.video.loop = true; - this.video.oncanplay = () => { - this.video.play(); - }; - } - - constructor() {} - - ngOnInit() {} - - @HostListener('mouseenter', ['$event']) - onMouseEnter(e) { - if (!!this.hoverTimeout) { return; } - - const that = this; - this.hoverTimeout = setTimeout(function() { - that.configureTimeout(e); - }, 1000); - } - - @HostListener('mouseleave') - onMouseLeave() { - if (!!this.hoverTimeout) { - clearTimeout(this.hoverTimeout); - this.hoverTimeout = null; - } - if (this.video !== undefined) { - this.video.pause(); - this.video.src = ''; - } - this.isHovering = false; - } - - @HostListener('mousemove', ['$event']) - onMouseMove(event: MouseEvent) { - if (!!this.hoverTimeout) { - clearTimeout(this.hoverTimeout); - this.hoverTimeout = null; - } - this.configureTimeout(event); - } - - transitionEnd(event) { - if (event.target.classList.contains('double-scale')) { - event.target.style.zIndex = 2; - } else { - event.target.style.zIndex = null; - } - } - - private configureTimeout(event: MouseEvent) { - const that = this; - this.hoverTimeout = setTimeout(function() { - if (event.target instanceof HTMLElement) { - const target: HTMLElement = event.target; - if (target.className === 'scene-wall-item-text-container' || - target.offsetParent.className === 'scene-wall-item-text-container') { - that.configureTimeout(event); - return; - } - } - that.isHovering = true; - }, 1000); - } -} diff --git a/ui/v1/src/app/shared/capitalize.pipe.ts b/ui/v1/src/app/shared/capitalize.pipe.ts deleted file mode 100644 index 4102f87f4..000000000 --- a/ui/v1/src/app/shared/capitalize.pipe.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Pipe, PipeTransform } from '@angular/core'; - -@Pipe({ - name: 'capitalize' -}) -export class CapitalizePipe implements PipeTransform { - - transform(value: any, args?: any): any { - if (value) { - return value.charAt(0).toUpperCase() + value.slice(1); - } - return value; - } - -} diff --git a/ui/v1/src/app/shared/file-name.pipe.ts b/ui/v1/src/app/shared/file-name.pipe.ts deleted file mode 100644 index e9473f764..000000000 --- a/ui/v1/src/app/shared/file-name.pipe.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Pipe, PipeTransform } from '@angular/core'; - -@Pipe({ - name: 'filename' -}) -export class FileNamePipe implements PipeTransform { - - transform(value: string, args?: any): string { - if (!!value === false) { return 'No File Name'; } - return value.replace(/^.*[\\\/]/, ''); - } - -} diff --git a/ui/v1/src/app/shared/file-size.pipe.ts b/ui/v1/src/app/shared/file-size.pipe.ts deleted file mode 100644 index ed6779b21..000000000 --- a/ui/v1/src/app/shared/file-size.pipe.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Pipe, PipeTransform } from '@angular/core'; - -@Pipe({ - name: 'fileSize' -}) -export class FileSizePipe implements PipeTransform { - - private units = [ - 'bytes', - 'kB', - 'MB', - 'GB', - 'TB', - 'PB' - ]; - - transform(bytes: number = 0, precision: number = 2): string { - if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) { return '?'; } - - let unit = 0; - while ( bytes >= 1024 ) { - bytes /= 1024; - unit++; - } - - return bytes.toFixed(+precision) + ' ' + this.units[ unit ]; - } - -} diff --git a/ui/v1/src/app/shared/gallery-card/gallery-card.component.css b/ui/v1/src/app/shared/gallery-card/gallery-card.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/shared/gallery-card/gallery-card.component.html b/ui/v1/src/app/shared/gallery-card/gallery-card.component.html deleted file mode 100644 index b8ceceb0f..000000000 --- a/ui/v1/src/app/shared/gallery-card/gallery-card.component.html +++ /dev/null @@ -1,9 +0,0 @@ - - -
-
{{gallery.title || gallery.path}}
-
\ No newline at end of file diff --git a/ui/v1/src/app/shared/gallery-card/gallery-card.component.ts b/ui/v1/src/app/shared/gallery-card/gallery-card.component.ts deleted file mode 100644 index be7cae3e6..000000000 --- a/ui/v1/src/app/shared/gallery-card/gallery-card.component.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Component, OnInit, Input, HostBinding } from '@angular/core'; -import { Router } from '@angular/router'; - -import { GalleryData } from '../../core/graphql-generated'; - -@Component({ - selector: 'app-gallery-card', - templateUrl: './gallery-card.component.html', - styleUrls: ['./gallery-card.component.css'] -}) -export class GalleryCardComponent implements OnInit { - @Input() gallery: GalleryData.Fragment; - - // The host class needs to be card - @HostBinding('class') class = 'card'; - - constructor( - private router: Router - ) {} - - ngOnInit() { - } - - onSelect(): void { - this.router.navigate(['/galleries', this.gallery.id]); - } - -} diff --git a/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.css b/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.html b/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.html deleted file mode 100644 index 87aa0b8cc..000000000 --- a/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.html +++ /dev/null @@ -1,11 +0,0 @@ -
-
-

{{image.name}}

-
-
\ No newline at end of file diff --git a/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.ts b/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.ts deleted file mode 100644 index fe7853c4c..000000000 --- a/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core'; -import { Router } from '@angular/router'; - -import { StashService } from '../../core/stash.service'; - -import { GalleryImage } from '../../shared/models/gallery.model'; -import { GalleryData } from '../../core/graphql-generated'; - -@Component({ - selector: 'app-gallery-preview', - templateUrl: './gallery-preview.component.html', - styleUrls: ['./gallery-preview.component.css'] -}) -export class GalleryPreviewComponent implements OnInit, OnChanges { - @Input() gallery: GalleryData.Fragment; - @Input() galleryId: number; - @Input() type = 'random'; - @Input() numberOfRandomImages = 12; - @Input() showTitles = true; - @Input() numberPerRow = 4; - @Output() clicked: EventEmitter = new EventEmitter(); - files: GalleryImage[]; - - constructor( - private router: Router, - private stashService: StashService - ) {} - - ngOnInit() { - if (!!this.galleryId) { - this.fetchGallery(); - } - } - - async fetchGallery() { - const result = await this.stashService.findGallery(this.galleryId).result(); - this.gallery = result.data.findGallery; - this.setupFiles(); - } - - imagePath(image) { - return `${image.path}?thumb=true`; - } - - shuffle(a) { - for (let i = a.length; i; i--) { - const j = Math.floor(Math.random() * i); - [a[i - 1], a[j]] = [a[j], a[i - 1]]; - } - } - - onClickGallery() { - if (this.type === 'random') { - this.router.navigate(['galleries', this.gallery.id]); - } - } - - onClickImage(image) { - if (this.type === 'full') { - this.clicked.emit(image); - } - } - - suiWidthForNumberPerRow(): string { - switch (this.numberPerRow) { - case 1: { - return 'sixteen'; - } - case 2: { - return 'eight'; - } - case 4: { - return 'four'; - } - default: - return 'four'; - } - } - - setupFiles() { - if (!this.gallery) { return; } - - this.files = [...this.gallery.files]; - if (this.type === 'random') { - this.shuffle(this.files); - this.files = this.files.slice(0, this.numberOfRandomImages); - } else if (this.type === 'gallery') { - - } - } - - ngOnChanges(changes: any) { - if (!!changes.gallery) { - this.setupFiles(); - } - } - -} diff --git a/ui/v1/src/app/shared/jwplayer/jwplayer.component.css b/ui/v1/src/app/shared/jwplayer/jwplayer.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/shared/jwplayer/jwplayer.component.html b/ui/v1/src/app/shared/jwplayer/jwplayer.component.html deleted file mode 100644 index 96eb71cf5..000000000 --- a/ui/v1/src/app/shared/jwplayer/jwplayer.component.html +++ /dev/null @@ -1,4 +0,0 @@ -
-
\ No newline at end of file diff --git a/ui/v1/src/app/shared/jwplayer/jwplayer.component.ts b/ui/v1/src/app/shared/jwplayer/jwplayer.component.ts deleted file mode 100644 index 580762065..000000000 --- a/ui/v1/src/app/shared/jwplayer/jwplayer.component.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { Component, EventEmitter, Input, Output, ElementRef } from '@angular/core'; - -declare var jwplayer: any; - -@Component({ - selector: 'app-jwplayer', - templateUrl: './jwplayer.component.html', - styleUrls: ['./jwplayer.component.css'] -}) -export class JwplayerComponent { - @Input() public title: string; - @Input() public file: string; - @Input() public image: string; - @Input() public height: string; - @Input() public width: string; - @Output() public bufferChange: EventEmitter = new EventEmitter(); - @Output() public complete: EventEmitter = new EventEmitter(); - @Output() public buffer: EventEmitter = new EventEmitter(); - @Output() public error: EventEmitter = new EventEmitter(); - @Output() public play: EventEmitter = new EventEmitter(); - @Output() public start: EventEmitter = new EventEmitter(); - @Output() public fullscreen: EventEmitter = new EventEmitter(); - @Output() public seeked: EventEmitter = new EventEmitter(); - @Output() public time: EventEmitter = new EventEmitter(); - - private _player: any = null; - - constructor(private _elementRef: ElementRef) { } - - public get player(): any { - this._player = this._player || jwplayer(this._elementRef.nativeElement); - return this._player; - } - - public setupPlayer(file: string, image?: string, vtt?: string, chaptersVtt?: string) { - this.player.remove(); - this.player.setup({ - file: file, - image: image, - tracks: [ - { - file: vtt, - kind: 'thumbnails' - }, - { - file: chaptersVtt, - kind: 'chapters' - } - ], - primary: 'html5', - autostart: false, - playbackRateControls: [0.75, 1, 1.5, 2, 3, 4] - }); - this.handleEventsFor(this.player); - } - - public handleEventsFor = (player: any) => { - player.on('bufferChange', this.onBufferChange); - player.on('buffer', this.onBuffer); - player.on('complete', this.onComplete); - player.on('error', this.onError); - player.on('fullscreen', this.onFullScreen); - player.on('play', this.onPlay); - player.on('start', this.onStart); - player.on('seeked', this.onSeeked); - player.on('time', this.onTime); - } - - public onComplete = (options: {}) => this.complete.emit(options); - - public onError = () => this.error.emit(); - - public onBufferChange = (options: { - duration: number, - bufferPercent: number, - position: number, - metadata?: number - }) => this.bufferChange.emit(options) - - public onBuffer = (options: { - oldState: string, - newState: string, - reason: string - }) => this.buffer.emit() - - public onStart = (options: { - oldState: string, - newState: string, - reason: string - }) => this.buffer.emit() - - public onFullScreen = (options: { - oldState: string, - newState: string, - reason: string - }) => this.buffer.emit() - - public onPlay = (options: { - }) => this.play.emit() - - public onSeeked = (options: { - }) => this.seeked.emit() - - public onTime = (options: { - duration: number, - position: number, - viewable: boolean - }) => this.time.emit(options) - - onKey(event) { - const currentPlaybackRate = this._player.getPlaybackRate(); - switch (event.key) { - - case '0': { - this._player.setPlaybackRate(1); - console.log(`Playback rate: 1`); - event.preventDefault(); - break; - } - - case '2': { - this._player.setPlaybackRate(currentPlaybackRate + 0.5); - console.log(`Playback rate: ${currentPlaybackRate + 0.5}`); - event.preventDefault(); - break; - } - - case '1': { - this._player.setPlaybackRate(currentPlaybackRate - 0.5); - console.log(`Playback rate: ${currentPlaybackRate - 0.5}`); - event.preventDefault(); - break; - } - - default: - break; - } - } -} diff --git a/ui/v1/src/app/shared/list-filter/list-filter.component.html b/ui/v1/src/app/shared/list-filter/list-filter.component.html deleted file mode 100644 index 9ce552879..000000000 --- a/ui/v1/src/app/shared/list-filter/list-filter.component.html +++ /dev/null @@ -1,121 +0,0 @@ - -
-
-
-
-
Add Criteria
-
-
-
-
X
-
-
- - - -
-
- - - - - - -
-
-
-
-
\ No newline at end of file diff --git a/ui/v1/src/app/shared/list-filter/list-filter.component.ts b/ui/v1/src/app/shared/list-filter/list-filter.component.ts deleted file mode 100644 index d7ab94150..000000000 --- a/ui/v1/src/app/shared/list-filter/list-filter.component.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { Component, OnInit, OnDestroy, Input, Output, ViewChildren, EventEmitter, ElementRef, QueryList } from '@angular/core'; -import { FormControl } from '@angular/forms'; - -import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; - -import { StashService } from '../../core/stash.service'; -import { ListFilter, DisplayMode, Criteria, CriteriaType, CriteriaValueType } from '../models/list-state.model'; -import { ActivatedRoute } from '@angular/router'; - -@Component({ - selector: 'app-list-filter', - templateUrl: './list-filter.component.html' -}) -export class ListFilterComponent implements OnInit, OnDestroy { - DisplayMode = DisplayMode; - CriteriaType = CriteriaType; - CriteriaValueType = CriteriaValueType; - - @Input() filter: ListFilter; - @Output() filterUpdated = new EventEmitter(); - @ViewChildren('criteriaValueSelect') criteriaValueSelectInputs: QueryList; - @ViewChildren('criteriaValuesSelect') criteriaValuesSelectInputs: QueryList; - - itemsPerPageOptions = [20, 40, 60, 120]; - - searchFormControl = new FormControl(); - - constructor(private stashService: StashService, private route: ActivatedRoute) {} - - ngOnInit() { - this.route.queryParams.subscribe(params => { - this.filter.configureFromQueryParameters(params, this.stashService); - if (params['q'] != null) { - this.searchFormControl.setValue(this.filter.searchTerm); - } - }); - - this.filter.configureForFilterMode(this.filter.filterMode); - this.searchFormControl.valueChanges - .pipe( - debounceTime(400), - distinctUntilChanged() - ) - .subscribe(term => { - this.filter.searchTerm = term; - this.filterUpdated.emit(this.filter); - }); - - this.filterUpdated.emit(this.filter); - } - - ngOnDestroy() { - // this.searchFormControl.valueChanges.unsubscribe(); - } - - onPerPageChange(perPage: number) { - this.filterUpdated.emit(this.filter); - } - - onSortChange() { - this.filter.sortDirection = this.filter.sortDirection === 'asc' ? 'desc' : 'asc'; - this.filterUpdated.emit(this.filter); - } - - onSortByChange(sortBy: string) { - this.filter.sortBy = sortBy; - this.filterUpdated.emit(this.filter); - } - - onAddCriteria() { - const criteria = new Criteria(); - this.filter.criterions.push(criteria); - } - - onDeleteCriteria(criteria: Criteria) { - const idx = this.filter.criterions.indexOf(criteria); - this.filter.criterions.splice(idx, 1); - this.filterUpdated.emit(this.filter); - } - - onCriteriaTypeChange(criteriaType: CriteriaType, criteria: Criteria) { - // if (!!this.criteriaValueSelect) { - // this.criteriaValueSelect.selectedOption = null; - // } - // if (!!this.criteriaValuesSelect) { - // this.criteriaValuesSelect.selectedOptions = null; - // } - criteria.configure(criteriaType, this.stashService); - this.filterUpdated.emit(this.filter); - } - - onCriteriaValueChange(criteriaValue: string) { - this.filterUpdated.emit(this.filter); - } - - onModeChange(mode: DisplayMode) { - this.filter.displayMode = mode; - this.filterUpdated.emit(this.filter); - } - - onChange(event) { - // console.debug('filter change', this.filter); - } - -} diff --git a/ui/v1/src/app/shared/list/list.component.css b/ui/v1/src/app/shared/list/list.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/shared/list/list.component.html b/ui/v1/src/app/shared/list/list.component.html deleted file mode 100644 index cd929a453..000000000 --- a/ui/v1/src/app/shared/list/list.component.html +++ /dev/null @@ -1,85 +0,0 @@ -
- - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
Loading...
-
-
- - - - - - - - - - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
\ No newline at end of file diff --git a/ui/v1/src/app/shared/list/list.component.ts b/ui/v1/src/app/shared/list/list.component.ts deleted file mode 100644 index a5875b6f4..000000000 --- a/ui/v1/src/app/shared/list/list.component.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { Component, OnInit, OnDestroy, Input, AfterViewInit } from '@angular/core'; - -import { StashService } from '../../core/stash.service'; - -import { - DisplayMode, - FilterMode, - ListFilter, - ListState, - SceneListState, - GalleryListState, - PerformerListState, - StudioListState, - SceneMarkerListState -} from '../../shared/models/list-state.model'; -import { Router, ActivatedRoute } from '@angular/router'; - -@Component({ - selector: 'app-list', - templateUrl: './list.component.html', - styleUrls: ['./list.component.css'] -}) -export class ListComponent implements OnInit, OnDestroy, AfterViewInit { - DisplayMode = DisplayMode; - FilterMode = FilterMode; - - @Input() state: ListState; - - loading = true; - - constructor(private stashService: StashService, - private router: Router, - private activatedRoute: ActivatedRoute) {} - - ngOnInit() {} - - ngOnDestroy() { - this.loading = true; - this.state.reset(); - this.state.scrollY = window.scrollY; - } - - ngAfterViewInit() { - if (!!this.state.scrollY) { - setTimeout(() => { - window.scroll(0, this.state.scrollY); - }, 1); - } else { - window.scroll(0, 0); - } - } - - async getData() { - this.loading = true; - - if (this.state instanceof SceneListState) { - const result = await this.stashService.findScenes(this.state.filter.currentPage, this.state.filter).result(); - this.state.data = result.data.findScenes.scenes; - this.state.totalCount = result.data.findScenes.count; - } else if (this.state instanceof GalleryListState) { - const result = await this.stashService.findGalleries(this.state.filter.currentPage, this.state.filter).result(); - this.state.data = result.data.findGalleries.galleries; - this.state.totalCount = result.data.findGalleries.count; - } else if (this.state instanceof PerformerListState) { - const result = await this.stashService.findPerformers(this.state.filter.currentPage, this.state.filter).result(); - this.state.data = result.data.findPerformers.performers; - this.state.totalCount = result.data.findPerformers.count; - } else if (this.state instanceof StudioListState) { - const result = await this.stashService.findStudios(this.state.filter.currentPage, this.state.filter).result(); - this.state.data = result.data.findStudios.studios; - this.state.totalCount = result.data.findStudios.count; - } else if (this.state instanceof SceneMarkerListState) { - const result = await this.stashService.findSceneMarkers(this.state.filter.currentPage, this.state.filter).result(); - this.state.data = result.data.findSceneMarkers.scene_markers; - this.state.totalCount = result.data.findSceneMarkers.count; - } - - this.loading = false; - } - - onFilterUpdate(filter: ListFilter) { - console.log('filter update', filter); - const options = Object.assign({relativeTo: this.activatedRoute, replaceUrl: true}, filter.makeQueryParameters()); - this.router.navigate([], options); - this.state.filter = filter; - this.getData(); - } - - getPage(page: number) { - this.state.filter.currentPage = page; - this.onFilterUpdate(this.state.filter); - window.scroll(0, 0); - } - -} diff --git a/ui/v1/src/app/shared/models/gallery.model.ts b/ui/v1/src/app/shared/models/gallery.model.ts deleted file mode 100644 index daf4274e0..000000000 --- a/ui/v1/src/app/shared/models/gallery.model.ts +++ /dev/null @@ -1,5 +0,0 @@ -export class GalleryImage { - index: number; - name: string; - path?: string; -} diff --git a/ui/v1/src/app/shared/models/list-state.model.ts b/ui/v1/src/app/shared/models/list-state.model.ts deleted file mode 100644 index 73a9bbe0b..000000000 --- a/ui/v1/src/app/shared/models/list-state.model.ts +++ /dev/null @@ -1,426 +0,0 @@ -import { - SceneFilterType, - ResolutionEnum, - PerformerFilterType, - SceneMarkerFilterType, - SlimSceneData, - PerformerData, - StudioData, - GalleryData, - SceneMarkerData -} from '../../core/graphql-generated'; - -import { StashService } from '../../core/stash.service'; - -export enum DisplayMode { - Grid, - List, - Wall -} - -export enum FilterMode { - Scenes, - Performers, - Studios, - Galleries, - SceneMarkers -} - -export class CustomCriteria { - key: string; - value: string; - constructor(key: string, value: string) { - this.key = key; - this.value = value; - } -} - -export enum CriteriaType { - None, - Rating, - Resolution, - Favorite, - HasMarkers, - IsMissing, - Tags, - SceneTags, - Performers -} - -export enum CriteriaValueType { - Single, - Multiple -} - -export class CriteriaOption { - name: string; - value: CriteriaType; - constructor(type: CriteriaType, name: string = CriteriaType[type]) { - this.name = name; - this.value = type; - } -} - -interface CriteriaConfig { - valueType: CriteriaValueType; - parameterName: string; - options: any[]; -} - -export class Criteria { - type: CriteriaType; - valueType: CriteriaValueType; - options: any[] = []; - parameterName: string; - value: string; - values: string[]; - - private stashService: StashService; - - async configure(type: CriteriaType, stashService: StashService) { - this.type = type; - this.stashService = stashService; - - let config: CriteriaConfig = { - valueType: CriteriaValueType.Single, - parameterName: '', - options: [] - }; - - switch (type) { - case CriteriaType.Rating: - config.parameterName = 'rating'; - config.options = [1, 2, 3, 4, 5]; - break; - case CriteriaType.Resolution: - config.parameterName = 'resolution'; - config.options = ['240p', '480p', '720p', '1080p', '4k']; - break; - case CriteriaType.Favorite: - config.parameterName = 'filter_favorites'; - config.options = ['true', 'false']; - break; - case CriteriaType.HasMarkers: - config.parameterName = 'has_markers'; - config.options = ['true', 'false']; - break; - case CriteriaType.IsMissing: - config.parameterName = 'is_missing'; - config.options = ['title', 'url', 'date', 'gallery', 'studio', 'performers']; - break; - case CriteriaType.Tags: - config = await this.configureTags('tags'); - break; - case CriteriaType.SceneTags: - config = await this.configureTags('scene_tags'); - break; - case CriteriaType.Performers: - config = await this.configurePerformers('performers'); - break; - case CriteriaType.None: - default: break; - } - - this.valueType = config.valueType; - this.parameterName = config.parameterName; - this.options = config.options; - - this.value = ''; // Need this or else we send invalid value to the new filter - // this.values = []; // TODO this seems to break the "Multiple" filters - } - - private async configureTags(name: string) { - const result = await this.stashService.allTagsForFilter().result(); - return { - valueType: CriteriaValueType.Multiple, - parameterName: name, - options: result.data.allTags.map(item => { - return { id: item.id, name: item.name }; - }) - }; - } - - private async configurePerformers(name: string) { - const result = await this.stashService.allPerformersForFilter().result(); - return { - valueType: CriteriaValueType.Multiple, - parameterName: name, - options: result.data.allPerformers.map(item => { - return { id: item.id, name: item.name, image_path: item.image_path }; - }) - }; - } -} - -export class ListFilter { - searchTerm?: string; - performers?: number[]; - currentPage = 1; - itemsPerPage = 40; - sortDirection = 'asc'; - sortBy: string; - displayModeOptions: DisplayMode[] = []; - displayMode: DisplayMode; - filterMode: FilterMode; - sortByOptions: string[]; - criteriaFilterOpen = false; - criteriaOptions: CriteriaOption[]; - criterions: Criteria[] = []; - customCriteria: CustomCriteria[] = []; - - configureForFilterMode(filterMode: FilterMode) { - switch (filterMode) { - case FilterMode.Scenes: - if (!!this.sortBy === false) { this.sortBy = 'date'; } - this.sortByOptions = ['title', 'rating', 'date', 'filesize', 'duration', 'framerate', 'bitrate', 'random']; - this.displayModeOptions = [ - DisplayMode.Grid, - DisplayMode.List, - DisplayMode.Wall - ]; - this.criteriaOptions = [ - new CriteriaOption(CriteriaType.None), - new CriteriaOption(CriteriaType.Rating), - new CriteriaOption(CriteriaType.Resolution), - new CriteriaOption(CriteriaType.HasMarkers), - new CriteriaOption(CriteriaType.IsMissing), - new CriteriaOption(CriteriaType.Tags) - ]; - break; - case FilterMode.Performers: - if (!!this.sortBy === false) { this.sortBy = 'name'; } - this.sortByOptions = ['name', 'height', 'birthdate', 'scenes_count']; - this.displayModeOptions = [ - DisplayMode.Grid, - DisplayMode.List - ]; - this.criteriaOptions = [ - new CriteriaOption(CriteriaType.None), - new CriteriaOption(CriteriaType.Favorite) - ]; - break; - case FilterMode.Studios: - if (!!this.sortBy === false) { this.sortBy = 'name'; } - this.sortByOptions = ['name', 'scenes_count']; - this.displayModeOptions = [ - DisplayMode.Grid - ]; - this.criteriaOptions = [ - new CriteriaOption(CriteriaType.None) - ]; - break; - case FilterMode.Galleries: - if (!!this.sortBy === false) { this.sortBy = 'title'; } - this.sortByOptions = ['title', 'path']; - this.displayModeOptions = [ - DisplayMode.Grid - ]; - this.criteriaOptions = [ - new CriteriaOption(CriteriaType.None) - ]; - break; - case FilterMode.SceneMarkers: - if (!!this.sortBy === false) { this.sortBy = 'title'; } - this.sortByOptions = ['title', 'seconds', 'scene_id', 'random', 'scenes_updated_at']; - this.displayModeOptions = [ - DisplayMode.Wall - ]; - this.criteriaOptions = [ - new CriteriaOption(CriteriaType.None), - new CriteriaOption(CriteriaType.Tags), - new CriteriaOption(CriteriaType.SceneTags), - new CriteriaOption(CriteriaType.Performers) - ]; - break; - default: - this.sortByOptions = []; - this.displayModeOptions = []; - this.criteriaOptions = [new CriteriaOption(CriteriaType.None)]; - break; - } - if (!!this.displayMode === false) { this.displayMode = this.displayModeOptions[0]; } - } - - configureFromQueryParameters(params, stashService: StashService) { - if (params['sortby'] != null) { - this.sortBy = params['sortby']; - } - if (params['sortdir'] != null) { - this.sortDirection = params['sortdir']; - } - if (params['disp'] != null) { - this.displayMode = params['disp']; - } - if (params['q'] != null) { - this.searchTerm = params['q']; - } - if (params['p'] != null) { - this.currentPage = Number(params['p']); - } - - if (params['c'] != null) { - this.criterions = []; - - let jsonParameters: any[]; - if (params['c'] instanceof Array) { - jsonParameters = params['c']; - } else { - jsonParameters = [params['c']]; - } - - if (jsonParameters.length !== 0) { - this.criteriaFilterOpen = true; - } - - jsonParameters.forEach(jsonString => { - const encodedCriteria = JSON.parse(jsonString); - const criteria = new Criteria(); - criteria.configure(encodedCriteria.type, stashService); - if (criteria.valueType === CriteriaValueType.Single) { - criteria.value = encodedCriteria.value; - } else { - criteria.values = encodedCriteria.values; - } - this.criterions.push(criteria); - }); - } - } - - makeQueryParameters(): any { - const encodedCriterion = []; - this.criterions.forEach(criteria => { - const encodedCriteria: any = {}; - encodedCriteria.type = criteria.type; - if (criteria.valueType === CriteriaValueType.Single) { - encodedCriteria.value = criteria.value; - } else { - encodedCriteria.values = criteria.values; - } - const jsonCriteria = JSON.stringify(encodedCriteria); - encodedCriterion.push(jsonCriteria); - }); - - const result = { - queryParams: { - sortby: this.sortBy, - sortdir: this.sortDirection, - disp: this.displayMode, - q: this.searchTerm, - p: this.currentPage, - c: encodedCriterion - }, - queryParamsHandling: 'merge' - }; - return result; - } - - // TODO: These don't support multiple of the same criteria, only the last one set is used. - - makeSceneFilter(): SceneFilterType { - const result: SceneFilterType = {}; - this.criterions.forEach(criteria => { - switch (criteria.type) { - case CriteriaType.Rating: - result.rating = Number(criteria.value); - break; - case CriteriaType.Resolution: { - switch (criteria.value) { - case '240p': result.resolution = ResolutionEnum.Low; break; - case '480p': result.resolution = ResolutionEnum.Standard; break; - case '720p': result.resolution = ResolutionEnum.StandardHd; break; - case '1080p': result.resolution = ResolutionEnum.FullHd; break; - case '4k': result.resolution = ResolutionEnum.FourK; break; - } - break; - } - case CriteriaType.HasMarkers: - result.has_markers = criteria.value; - break; - case CriteriaType.IsMissing: - result.is_missing = criteria.value; - break; - case CriteriaType.Tags: - result.tags = criteria.values; - break; - } - }); - return result; - } - - makePerformerFilter(): PerformerFilterType { - const result: PerformerFilterType = {}; - this.criterions.forEach(criteria => { - switch (criteria.type) { - case CriteriaType.Favorite: - result.filter_favorites = criteria.value === 'true'; - break; - } - }); - return result; - } - - makeSceneMarkerFilter(): SceneMarkerFilterType { - const result: SceneMarkerFilterType = {}; - this.criterions.forEach(criteria => { - switch (criteria.type) { - case CriteriaType.Tags: - result.tags = criteria.values; - break; - case CriteriaType.SceneTags: - result.scene_tags = criteria.values; - break; - case CriteriaType.Performers: - result.performers = criteria.values; - break; - } - }); - return result; - } -} - -export class ListState { - totalCount: number; - scrollY: number; - filter: ListFilter = new ListFilter(); - data: T[]; - - reset() { - this.data = null; - this.totalCount = null; - } -} - -export class SceneListState extends ListState { - constructor() { - super(); - this.filter.filterMode = FilterMode.Scenes; - } -} - -export class PerformerListState extends ListState { - constructor() { - super(); - this.filter.filterMode = FilterMode.Performers; - } -} - -export class StudioListState extends ListState { - constructor() { - super(); - this.filter.filterMode = FilterMode.Studios; - } -} - -export class GalleryListState extends ListState { - constructor() { - super(); - this.filter.filterMode = FilterMode.Galleries; - } -} - -export class SceneMarkerListState extends ListState { - constructor() { - super(); - this.filter.filterMode = FilterMode.SceneMarkers; - } -} diff --git a/ui/v1/src/app/shared/performer-card/performer-card.component.css b/ui/v1/src/app/shared/performer-card/performer-card.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/shared/performer-card/performer-card.component.html b/ui/v1/src/app/shared/performer-card/performer-card.component.html deleted file mode 100644 index b5554f5ce..000000000 --- a/ui/v1/src/app/shared/performer-card/performer-card.component.html +++ /dev/null @@ -1,18 +0,0 @@ - -
-
-
- -
- {{performer.name}} -
-
-
- {{performer.birthdate | age: ageFromDate}} years old in this scene. - {{performer.birthdate | age}} years old. -
-
- Stars in {{performer.scene_count}} scenes. -
-
-
\ No newline at end of file diff --git a/ui/v1/src/app/shared/performer-card/performer-card.component.ts b/ui/v1/src/app/shared/performer-card/performer-card.component.ts deleted file mode 100644 index 27f14566e..000000000 --- a/ui/v1/src/app/shared/performer-card/performer-card.component.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Component, OnInit, Input, HostBinding } from '@angular/core'; - -import { PerformerData } from '../../core/graphql-generated'; - -@Component({ - selector: 'app-performer-card', - templateUrl: './performer-card.component.html', - styleUrls: ['./performer-card.component.css'] -}) -export class PerformerCardComponent implements OnInit { - @Input() performer: PerformerData.Fragment; - @Input() ageFromDate: string; - - // The host class needs to be card - @HostBinding('class') class = 'dark card'; - - constructor() {} - - ngOnInit() {} - -} diff --git a/ui/v1/src/app/shared/performer-list-item/performer-list-item.component.html b/ui/v1/src/app/shared/performer-list-item/performer-list-item.component.html deleted file mode 100644 index 666c55368..000000000 --- a/ui/v1/src/app/shared/performer-list-item/performer-list-item.component.html +++ /dev/null @@ -1,32 +0,0 @@ - - - -
-
-
- -
- {{performer.name}} - {{performer.birthdate | age}} - ({{performer.aliases}}) -
-
Country: {{performer.country}}
-
Measurements: {{performer.measurements}}
- -
- -
-
-
-
Sample Scenes
-
-
- - - -
-
-
-
-
\ No newline at end of file diff --git a/ui/v1/src/app/shared/performer-list-item/performer-list-item.component.scss b/ui/v1/src/app/shared/performer-list-item/performer-list-item.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/shared/performer-list-item/performer-list-item.component.ts b/ui/v1/src/app/shared/performer-list-item/performer-list-item.component.ts deleted file mode 100644 index 7a030fe98..000000000 --- a/ui/v1/src/app/shared/performer-list-item/performer-list-item.component.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Component, OnInit, Input, HostBinding, OnChanges, SimpleChanges, SimpleChange } from '@angular/core'; -import { PerformerData } from '../../core/graphql-generated'; -import { StashService } from '../../core/stash.service'; -import { ListFilter, FilterMode, Criteria, CriteriaType, CriteriaValueType, CustomCriteria } from '../models/list-state.model'; - -@Component({ - selector: 'app-performer-list-item', - templateUrl: './performer-list-item.component.html', - styleUrls: ['./performer-list-item.component.scss'] -}) -export class PerformerListItemComponent implements OnInit, OnChanges { - @Input() performer: PerformerData.Fragment; - showingScenes = false; - scenes: any[]; - - // The host class needs to be card - @HostBinding('class') class = 'dark item'; - - constructor(private stashService: StashService) { } - - ngOnInit() {} - - async toggleScenes() { - this.showingScenes = !this.showingScenes; - await this.getScenes(); - } - - async ngOnChanges(changes: SimpleChanges) { - // const newPerformerChange: SimpleChange = changes.performer; - // this.performer = newPerformerChange.currentValue; - // await this.getScenes(); - } - - async getScenes() { - const filter = new ListFilter(); - filter.itemsPerPage = 4; - filter.sortBy = 'random'; - filter.customCriteria = [new CustomCriteria('performer_id', this.performer.id)]; - - const result = await this.stashService.findScenes(1, filter).result(); - this.scenes = result.data.findScenes.scenes; - } - -} diff --git a/ui/v1/src/app/shared/scene-card/scene-card.component.css b/ui/v1/src/app/shared/scene-card/scene-card.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/shared/scene-card/scene-card.component.html b/ui/v1/src/app/shared/scene-card/scene-card.component.html deleted file mode 100644 index 72a6f8f7e..000000000 --- a/ui/v1/src/app/shared/scene-card/scene-card.component.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - -
-
{{scene.title || scene.path | filename}}
-
- {{scene.date}} - -
-
- {{scene.details | truncate : 100 : '... (continued)'}} -
- No details -
-
- -
- - {{tag.name}} - - No Tags -
-
- -
- - - {{performer.name}} - - No Performers -
-
- - - - - - - -
- {{scene?.file.size | fileSize}} | {{scene?.file.duration | seconds}} | {{scene.file.width}} x {{scene.file.height}} -
-
-
- - - No Studio -
\ No newline at end of file diff --git a/ui/v1/src/app/shared/scene-card/scene-card.component.ts b/ui/v1/src/app/shared/scene-card/scene-card.component.ts deleted file mode 100644 index 0f0567bdc..000000000 --- a/ui/v1/src/app/shared/scene-card/scene-card.component.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { Component, OnInit, Input, HostBinding, HostListener, ViewChild } from '@angular/core'; - -import { SceneData } from '../../core/graphql-generated'; - -@Component({ - selector: 'app-scene-card', - templateUrl: './scene-card.component.html', - styleUrls: ['./scene-card.component.css'] -}) -export class SceneCardComponent implements OnInit { - private isPlaying = false; - private isHovering = false; - private video: any; - previewPath: string = null; - @Input() scene: SceneData.Fragment; - - // The host class needs to be card - @HostBinding('class') class = 'dark card'; - @ViewChild('videoTag') videoTag: any; - - constructor() {} - - ngOnInit() { - this.video = this.videoTag.nativeElement; - this.video.volume = 0.05; - this.video.onplaying = () => { - if (this.isHovering === true) { - this.isPlaying = true; - } else { - this.video.pause(); - } - }; - this.video.onpause = () => this.isPlaying = false; - } - - @HostListener('mouseenter') - onMouseEnter() { - this.isHovering = true; - if (!this.previewPath) { - this.previewPath = this.scene.paths.preview; - } - if (this.video.paused && !this.isPlaying) { - this.video.play(); - } - } - - @HostListener('mouseleave') - onMouseLeave() { - this.isHovering = false; - if (!this.video.paused && this.isPlaying) { - this.video.pause(); - } - } - - hasFavoritePerformer(): boolean { - return this.scene.performers.filter(performer => performer.favorite === true).length > 0; - } -} diff --git a/ui/v1/src/app/shared/scene-list-item/scene-list-item.component.css b/ui/v1/src/app/shared/scene-list-item/scene-list-item.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/shared/scene-list-item/scene-list-item.component.html b/ui/v1/src/app/shared/scene-list-item/scene-list-item.component.html deleted file mode 100644 index 5ae849510..000000000 --- a/ui/v1/src/app/shared/scene-list-item/scene-list-item.component.html +++ /dev/null @@ -1,36 +0,0 @@ - - - -
-
{{scene.title || scene.path | filename}}
-
- {{scene.date}} - -
-
{{scene?.file.size | fileSize}}
-
{{scene.file.width}} x {{scene.file.height}} | {{scene?.file.framerate || '?'}} fps | {{(scene?.file.bitrate / 1000000) | number:'1.0-2'}} megabits per second
-
-

{{scene.details | truncate : 1000 : '... (continued)'}}

-
- No details -
- - - No Studio -
-
-
- - {{tag.name}} - - No Tags -
-
-
\ No newline at end of file diff --git a/ui/v1/src/app/shared/scene-list-item/scene-list-item.component.ts b/ui/v1/src/app/shared/scene-list-item/scene-list-item.component.ts deleted file mode 100644 index c923c1231..000000000 --- a/ui/v1/src/app/shared/scene-list-item/scene-list-item.component.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Component, OnInit, Input, HostBinding, HostListener, ViewChild } from '@angular/core'; - -import { SceneData } from '../../core/graphql-generated'; - -@Component({ - selector: 'app-scene-list-item', - templateUrl: './scene-list-item.component.html', - styleUrls: ['./scene-list-item.component.css'] -}) -export class SceneListItemComponent implements OnInit { - @Input() scene: SceneData.Fragment; - - // The host class needs to be card - @HostBinding('class') class = 'dark item'; - @ViewChild('videoTag') videoTag: any; - - constructor() {} - - ngOnInit() { - this.videoTag.nativeElement.volume = 0.05; - } - - @HostListener('mouseenter') - onMouseEnter() { - this.videoTag.nativeElement.play(); - } - - @HostListener('mouseleave') - onMouseLeave() { - this.videoTag.nativeElement.pause(); - } -} diff --git a/ui/v1/src/app/shared/scene-marker-wall-item/scene-marker-wall-item.component.html b/ui/v1/src/app/shared/scene-marker-wall-item/scene-marker-wall-item.component.html deleted file mode 100644 index fd3b94f43..000000000 --- a/ui/v1/src/app/shared/scene-marker-wall-item/scene-marker-wall-item.component.html +++ /dev/null @@ -1,38 +0,0 @@ -
-
- - - - -
- - -
{{sceneMarker.title}} - {{sceneMarker.seconds | seconds}}
- - -
-
\ No newline at end of file diff --git a/ui/v1/src/app/shared/scene-marker-wall-item/scene-marker-wall-item.component.ts b/ui/v1/src/app/shared/scene-marker-wall-item/scene-marker-wall-item.component.ts deleted file mode 100644 index dbba7932d..000000000 --- a/ui/v1/src/app/shared/scene-marker-wall-item/scene-marker-wall-item.component.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Component, OnInit, Input } from '@angular/core'; - -import { SceneMarkerData } from '../../core/graphql-generated'; -import { BaseWallItemComponent } from '../base-wall-item/base-wall-item.component'; - -@Component({ - selector: 'app-scene-marker-wall-item', - templateUrl: './scene-marker-wall-item.component.html' -}) -export class SceneMarkerWallItemComponent extends BaseWallItemComponent implements OnInit { - @Input() sceneMarker: SceneMarkerData.Fragment; - - constructor() { super(); } - - ngOnInit() { - if (!!this.sceneMarker) { - this.title = this.sceneMarker.title; - this.imagePath = this.sceneMarker.preview; - this.videoPath = this.sceneMarker.stream; - } else { - this.title = ''; - this.imagePath = ''; - } - } -} diff --git a/ui/v1/src/app/shared/scene-wall-item/scene-wall-item.component.html b/ui/v1/src/app/shared/scene-wall-item/scene-wall-item.component.html deleted file mode 100644 index 7242b3fe3..000000000 --- a/ui/v1/src/app/shared/scene-wall-item/scene-wall-item.component.html +++ /dev/null @@ -1,13 +0,0 @@ -
-
- - -
-
- {{title}} -
-
\ No newline at end of file diff --git a/ui/v1/src/app/shared/scene-wall-item/scene-wall-item.component.ts b/ui/v1/src/app/shared/scene-wall-item/scene-wall-item.component.ts deleted file mode 100644 index cae232777..000000000 --- a/ui/v1/src/app/shared/scene-wall-item/scene-wall-item.component.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Component, OnInit, Input } from '@angular/core'; -import { Router } from '@angular/router'; - -import { SceneData, SceneMarkerData } from '../../core/graphql-generated'; -import { BaseWallItemComponent } from '../base-wall-item/base-wall-item.component'; -import { FileNamePipe } from '../file-name.pipe'; - -@Component({ - selector: 'app-scene-wall-item', - templateUrl: './scene-wall-item.component.html' -}) -export class SceneWallItemComponent extends BaseWallItemComponent implements OnInit { - @Input() scene: SceneData.Fragment; - @Input() marker: SceneMarkerData.Fragment; - - constructor(private router: Router, private fileNamePipe: FileNamePipe) { super(); } - - ngOnInit() { - if (!!this.marker) { - this.title = this.marker.title; - this.imagePath = this.marker.preview; - this.videoPath = this.marker.stream; - } else if (!!this.scene) { - this.title = this.scene.title || this.fileNamePipe.transform(this.scene.path); - this.imagePath = this.scene.paths.webp; - this.videoPath = this.scene.paths.preview; - } else { - this.title = ''; - this.imagePath = ''; - } - } - - onClick(): void { - const id = this.marker !== undefined ? this.marker.scene.id : this.scene.id; - this.router.navigate(['/scenes', id]); - } -} diff --git a/ui/v1/src/app/shared/seconds.pipe.ts b/ui/v1/src/app/shared/seconds.pipe.ts deleted file mode 100644 index e592b98b3..000000000 --- a/ui/v1/src/app/shared/seconds.pipe.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Pipe, PipeTransform } from '@angular/core'; - -@Pipe({ - name: 'seconds' -}) -export class SecondsPipe implements PipeTransform { - - transform(value: any, args?: any): any { - return new Date(value * 1000).toISOString().substr(11, 8); - } - -} diff --git a/ui/v1/src/app/shared/shared.module.ts b/ui/v1/src/app/shared/shared.module.ts deleted file mode 100644 index 57496e147..000000000 --- a/ui/v1/src/app/shared/shared.module.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { RouterModule } from '@angular/router'; - -import { SuiModule } from 'ng2-semantic-ui'; -import { NgxPaginationModule } from 'ngx-pagination'; -import { ClipboardModule } from 'ngx-clipboard'; -import { LazyLoadImageModule } from 'ng-lazyload-image'; - -import { SuiPaginationComponent } from './sui-pagination/sui-pagination.component'; -import { JwplayerComponent } from './jwplayer/jwplayer.component'; -import { SceneCardComponent } from './scene-card/scene-card.component'; -import { PerformerCardComponent } from './performer-card/performer-card.component'; -import { ListFilterComponent } from './list-filter/list-filter.component'; -import { TruncatePipe } from './truncate.pipe'; -import { CapitalizePipe } from './capitalize.pipe'; -import { AgePipe } from './age.pipe'; -import { StudioCardComponent } from './studio-card/studio-card.component'; -import { GalleryPreviewComponent } from './gallery-preview/gallery-preview.component'; -import { GalleryCardComponent } from './gallery-card/gallery-card.component'; -import { ListComponent } from './list/list.component'; -import { SceneListItemComponent } from './scene-list-item/scene-list-item.component'; -import { SecondsPipe } from './seconds.pipe'; -import { VisibleDirective } from './visible.directive'; -import { FileSizePipe } from './file-size.pipe'; -import { SceneMarkerWallItemComponent } from './scene-marker-wall-item/scene-marker-wall-item.component'; -import { SceneWallItemComponent } from './scene-wall-item/scene-wall-item.component'; -import { BaseWallItemComponent } from './base-wall-item/base-wall-item.component'; -import { ShufflePipe } from './shuffle.pipe'; -import { PerformerListItemComponent } from './performer-list-item/performer-list-item.component'; -import { FileNamePipe } from './file-name.pipe'; - -// Import blah. Include in dec and exports (https://angular.io/guide/ngmodule#shared-modules) - -@NgModule({ - imports: [ - CommonModule, - FormsModule, - ReactiveFormsModule, - RouterModule, - SuiModule, - NgxPaginationModule, - ClipboardModule, - LazyLoadImageModule - ], - declarations: [ - TruncatePipe, - SuiPaginationComponent, - JwplayerComponent, - SceneCardComponent, - PerformerCardComponent, - ListFilterComponent, - CapitalizePipe, - AgePipe, - StudioCardComponent, - GalleryPreviewComponent, - GalleryCardComponent, - ListComponent, - SceneListItemComponent, - SecondsPipe, - VisibleDirective, - FileSizePipe, - SceneMarkerWallItemComponent, - SceneWallItemComponent, - BaseWallItemComponent, - ShufflePipe, - PerformerListItemComponent, - FileNamePipe, - ], - exports: [ - CommonModule, - FormsModule, - ReactiveFormsModule, - SuiModule, - NgxPaginationModule, - ClipboardModule, - LazyLoadImageModule, - SuiPaginationComponent, - JwplayerComponent, - SceneCardComponent, - PerformerCardComponent, - ListFilterComponent, - TruncatePipe, - CapitalizePipe, - AgePipe, - StudioCardComponent, - GalleryPreviewComponent, - GalleryCardComponent, - ListComponent, - SceneListItemComponent, - SecondsPipe, - VisibleDirective, - FileSizePipe, - SceneMarkerWallItemComponent, - SceneWallItemComponent, - BaseWallItemComponent, - ShufflePipe, - FileNamePipe - ], - providers: [ - FileNamePipe - ] -}) -export class SharedModule { } diff --git a/ui/v1/src/app/shared/shuffle.pipe.ts b/ui/v1/src/app/shared/shuffle.pipe.ts deleted file mode 100644 index f89362eab..000000000 --- a/ui/v1/src/app/shared/shuffle.pipe.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Pipe, PipeTransform } from '@angular/core'; -import { isArray } from 'util'; - -@Pipe({ - name: 'shuffle' -}) -export class ShufflePipe implements PipeTransform { - - transform(value: any[], args?: any): any[] { - return this.shuffleArray(value); - } - - private shuffleArray(array: any[]) { - if (!isArray(array)) { - return array; - } - - const copy = [...array]; - - for (let i = copy.length; i; --i) { - const j = Math.floor(Math.random() * i); - const x = copy[i - 1]; - copy[i - 1] = copy[j]; - copy[j] = x; - } - - return copy; - } - -} diff --git a/ui/v1/src/app/shared/studio-card/studio-card.component.css b/ui/v1/src/app/shared/studio-card/studio-card.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/shared/studio-card/studio-card.component.html b/ui/v1/src/app/shared/studio-card/studio-card.component.html deleted file mode 100644 index f76b3a12d..000000000 --- a/ui/v1/src/app/shared/studio-card/studio-card.component.html +++ /dev/null @@ -1,5 +0,0 @@ - -
-
{{studio?.name}}
-
{{studio?.scene_count}} Scenes
-
\ No newline at end of file diff --git a/ui/v1/src/app/shared/studio-card/studio-card.component.ts b/ui/v1/src/app/shared/studio-card/studio-card.component.ts deleted file mode 100644 index 0d36518f2..000000000 --- a/ui/v1/src/app/shared/studio-card/studio-card.component.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Component, OnInit, Input, HostBinding } from '@angular/core'; -import { Router } from '@angular/router'; - -import { StudioData } from '../../core/graphql-generated'; - -@Component({ - selector: 'app-studio-card', - templateUrl: './studio-card.component.html', - styleUrls: ['./studio-card.component.css'] -}) -export class StudioCardComponent implements OnInit { - @Input() studio: StudioData.Fragment; - - // The host class needs to be card - @HostBinding('class') class = 'dark card'; - - constructor( - private router: Router - ) {} - - ngOnInit() {} - - onSelect(): void { - this.router.navigate(['/studios', this.studio.id]); - } - -} diff --git a/ui/v1/src/app/shared/sui-pagination/sui-pagination.component.css b/ui/v1/src/app/shared/sui-pagination/sui-pagination.component.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/shared/sui-pagination/sui-pagination.component.html b/ui/v1/src/app/shared/sui-pagination/sui-pagination.component.html deleted file mode 100644 index 8d3b31264..000000000 --- a/ui/v1/src/app/shared/sui-pagination/sui-pagination.component.html +++ /dev/null @@ -1,19 +0,0 @@ - - - \ No newline at end of file diff --git a/ui/v1/src/app/shared/sui-pagination/sui-pagination.component.ts b/ui/v1/src/app/shared/sui-pagination/sui-pagination.component.ts deleted file mode 100644 index 21478aed9..000000000 --- a/ui/v1/src/app/shared/sui-pagination/sui-pagination.component.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core'; - -@Component({ - selector: 'app-sui-pagination', - templateUrl: './sui-pagination.component.html', - styleUrls: ['./sui-pagination.component.css'], - changeDetection: ChangeDetectionStrategy.OnPush, - encapsulation: ViewEncapsulation.None -}) -export class SuiPaginationComponent { - @Input() id: string; - @Input() maxSize = 7; - @Input() - get directionLinks(): boolean { - return this._directionLinks; - } - set directionLinks(value: boolean) { - this._directionLinks = !!value && value !== 'false'; - } - @Input() - get autoHide(): boolean { - return this._autoHide; - } - set autoHide(value: boolean) { - this._autoHide = !!value && value !== 'false'; - } - @Input() previousLabel = 'Previous'; - @Input() nextLabel = 'Next'; - @Input() screenReaderPaginationLabel = 'Pagination'; - @Input() screenReaderPageLabel = 'page'; - @Input() screenReaderCurrentLabel = `You're on page`; - @Output() pageChange: EventEmitter = new EventEmitter(); - - private _directionLinks = true; - private _autoHide = false; - - constructor() {} - -} diff --git a/ui/v1/src/app/shared/truncate.pipe.ts b/ui/v1/src/app/shared/truncate.pipe.ts deleted file mode 100644 index 53f5b816c..000000000 --- a/ui/v1/src/app/shared/truncate.pipe.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Pipe, PipeTransform } from '@angular/core'; - -@Pipe({ - name: 'truncate' -}) -export class TruncatePipe implements PipeTransform { - - transform(value: string, limit: number = 100, tail: string = '...'): string { - return value.length > limit ? value.substring(0, limit) + tail : value; - } - -} diff --git a/ui/v1/src/app/shared/visible.directive.ts b/ui/v1/src/app/shared/visible.directive.ts deleted file mode 100644 index 969630d85..000000000 --- a/ui/v1/src/app/shared/visible.directive.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Directive, ElementRef, Output, AfterViewInit, OnDestroy, EventEmitter, Inject } from '@angular/core'; -import { DOCUMENT } from '@angular/common'; - -import { Subscription, fromEvent } from 'rxjs'; -import { debounceTime, startWith } from 'rxjs/operators'; - -@Directive({ - // tslint:disable-next-line:directive-selector - selector: '[visible]' -}) -export class VisibleDirective implements AfterViewInit, OnDestroy { - - @Output() - visibleEvent: EventEmitter = new EventEmitter(); - - scrollSubscription: Subscription; - resizeSubscription: Subscription; - - constructor(private element: ElementRef, @Inject(DOCUMENT) private document: any) {} - - ngAfterViewInit() { - this.subscribe(); - } - ngOnDestroy() { - this.unsubscribe(); - } - - subscribe() { - this.scrollSubscription = fromEvent(window, 'scroll').pipe( - startWith(null), - debounceTime(2000) - ).subscribe(() => { - this.visibleEvent.emit(this.isInViewport()); - }); - this.resizeSubscription = fromEvent(window, 'resize').pipe( - startWith(null), - debounceTime(2000) - ).subscribe(() => { - this.visibleEvent.emit(this.isInViewport()); - }); - } - unsubscribe() { - if (this.scrollSubscription) { this.scrollSubscription.unsubscribe(); } - if (this.resizeSubscription) { this.resizeSubscription.unsubscribe(); } - } - - isInViewport(): boolean { - const rect = this.element.nativeElement.getBoundingClientRect(); - const html = this.document.documentElement; - const bufferSpace = 400; - return rect.top >= -(bufferSpace) && - rect.left >= 0 && - rect.bottom <= (window.innerHeight + bufferSpace || html.clientHeight + bufferSpace) && - rect.right <= (window.innerWidth || html.clientWidth); - } - -} diff --git a/ui/v1/src/app/studios/studio-detail/studio-detail.component.html b/ui/v1/src/app/studios/studio-detail/studio-detail.component.html deleted file mode 100644 index 7cd153a8c..000000000 --- a/ui/v1/src/app/studios/studio-detail/studio-detail.component.html +++ /dev/null @@ -1,51 +0,0 @@ -
-
-
-
- -
-
-
-
- -
-
-
-
-
-
- {{studio?.name}} - -
-
-
-
-
-
Details
-
- No Details -
-
-
-
-
-
-
-
- -
-
-

- {{studio?.name}}'s Scenes -

- - -
-
\ No newline at end of file diff --git a/ui/v1/src/app/studios/studio-detail/studio-detail.component.scss b/ui/v1/src/app/studios/studio-detail/studio-detail.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/studios/studio-detail/studio-detail.component.ts b/ui/v1/src/app/studios/studio-detail/studio-detail.component.ts deleted file mode 100644 index 20af50d3e..000000000 --- a/ui/v1/src/app/studios/studio-detail/studio-detail.component.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { StashService } from '../../core/stash.service'; -import { StudiosService } from '../studios.service'; - -import { StudioData } from '../../core/graphql-generated'; - -import { SceneListState, CustomCriteria } from '../../shared/models/list-state.model'; - -@Component({ - selector: 'app-studio-detail', - templateUrl: './studio-detail.component.html', - styleUrls: ['./studio-detail.component.scss'] -}) -export class StudioDetailComponent implements OnInit, OnDestroy { - studio: StudioData.Fragment; - sceneListState: SceneListState; - - constructor( - private route: ActivatedRoute, - private stashService: StashService, - private studioService: StudiosService, - private router: Router - ) {} - - ngOnInit() { - const id = parseInt(this.route.snapshot.params['id'], 10); - this.sceneListState = this.studioService.detailsSceneListState; - this.sceneListState.filter.customCriteria = []; - this.sceneListState.filter.customCriteria.push(new CustomCriteria('studio_id', id.toString())); - - this.getStudio(); - } - - ngOnDestroy() {} - - async getStudio() { - const id = parseInt(this.route.snapshot.params['id'], 10); - const result = await this.stashService.findStudio(id).result(); - this.studio = result.data.findStudio; - } - - onClickEdit() { - this.router.navigate(['edit'], { relativeTo: this.route }); - } - -} diff --git a/ui/v1/src/app/studios/studio-form/studio-form.component.html b/ui/v1/src/app/studios/studio-form/studio-form.component.html deleted file mode 100644 index 357b9616e..000000000 --- a/ui/v1/src/app/studios/studio-form/studio-form.component.html +++ /dev/null @@ -1,38 +0,0 @@ -
-

Studio Information

-
-
-
- - -
-
- - -
-
- -
-
- -
- -
-
- -
-
-
- -
- -
-
-
-
- - -
\ No newline at end of file diff --git a/ui/v1/src/app/studios/studio-form/studio-form.component.ts b/ui/v1/src/app/studios/studio-form/studio-form.component.ts deleted file mode 100644 index a6f7ed587..000000000 --- a/ui/v1/src/app/studios/studio-form/studio-form.component.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { StashService } from '../../core/stash.service'; - -@Component({ - selector: 'app-studio-form', - templateUrl: './studio-form.component.html' -}) -export class StudioFormComponent implements OnInit, OnDestroy { - name: string; - url: string; - image: string; - - image_path: string; - - loading: Boolean = true; - imagePreview: string; - - constructor(private route: ActivatedRoute, private stashService: StashService, private router: Router) { } - - ngOnInit() { - this.getStudio(); - } - - ngOnDestroy() { - } - - async getStudio() { - const id = parseInt(this.route.snapshot.params['id'], 10); - if (!!id === false) { - console.log('new studio'); - this.loading = false; - return; - } - - const result = await this.stashService.findStudio(id).result(); - this.loading = result.loading; - this.name = result.data.findStudio.name; - this.url = result.data.findStudio.url; - - this.image_path = result.data.findStudio.image_path; - this.imagePreview = this.image_path; - } - - onImageChange(event) { - const file: File = event.target.files[0]; - const reader: FileReader = new FileReader(); - - reader.onloadend = (e) => { - this.image = reader.result as string; - this.imagePreview = this.image; - }; - reader.readAsDataURL(file); - } - - onResetImage(imageInput) { - imageInput.value = ''; - this.imagePreview = this.image_path; - this.image = null; - } - - // onFavoriteChange() { - // this.studio.favorite = !this.studio.favorite; - // } - - onSubmit() { - const id = this.route.snapshot.params['id']; - - if (!!id) { - this.stashService.studioUpdate({ - id: id, - name: this.name, - url: this.url, - image: this.image - }).subscribe(result => { - this.router.navigate(['/studios', id]); - }); - } else { - this.stashService.studioCreate({ - name: this.name, - url: this.url, - image: this.image - }).subscribe(result => { - this.router.navigate(['/studios', result.data.studioCreate.id]); - }); - } - } -} diff --git a/ui/v1/src/app/studios/studio-list/studio-list.component.html b/ui/v1/src/app/studios/studio-list/studio-list.component.html deleted file mode 100644 index df7ba507c..000000000 --- a/ui/v1/src/app/studios/studio-list/studio-list.component.html +++ /dev/null @@ -1,7 +0,0 @@ - - - \ No newline at end of file diff --git a/ui/v1/src/app/studios/studio-list/studio-list.component.ts b/ui/v1/src/app/studios/studio-list/studio-list.component.ts deleted file mode 100644 index 81f810f6b..000000000 --- a/ui/v1/src/app/studios/studio-list/studio-list.component.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { StudiosService } from '../studios.service'; - -@Component({ - selector: 'app-studio-list', - templateUrl: './studio-list.component.html' -}) -export class StudioListComponent implements OnInit { - state = this.studiosService.listState; - - constructor(private studiosService: StudiosService, - private route: ActivatedRoute, - private router: Router) {} - - ngOnInit() {} - - onClickNew() { - this.router.navigate(['new'], { relativeTo: this.route }); - } -} diff --git a/ui/v1/src/app/studios/studios-routing.module.ts b/ui/v1/src/app/studios/studios-routing.module.ts deleted file mode 100644 index a40f8624a..000000000 --- a/ui/v1/src/app/studios/studios-routing.module.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; - -import { StudiosComponent } from './studios/studios.component'; -import { StudioListComponent } from './studio-list/studio-list.component'; -import { StudioDetailComponent } from './studio-detail/studio-detail.component'; -import { StudioFormComponent } from './studio-form/studio-form.component'; - -const routes: Routes = [ - { path: '', - component: StudiosComponent, - children: [ - { path: '', component: StudioListComponent }, - { path: 'new', component: StudioFormComponent }, - { path: ':id', component: StudioDetailComponent }, - { path: ':id/edit', component: StudioFormComponent } - ] - } -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class StudiosRoutingModule {} diff --git a/ui/v1/src/app/studios/studios.module.ts b/ui/v1/src/app/studios/studios.module.ts deleted file mode 100644 index a3fd2de12..000000000 --- a/ui/v1/src/app/studios/studios.module.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; - -import { StudiosRoutingModule } from './studios-routing.module'; -import { StudiosService } from './studios.service'; - -import { StudiosComponent } from './studios/studios.component'; -import { StudioListComponent } from './studio-list/studio-list.component'; -import { StudioDetailComponent } from './studio-detail/studio-detail.component'; -import { StudioFormComponent } from './studio-form/studio-form.component'; - -@NgModule({ - imports: [ - SharedModule, - StudiosRoutingModule - ], - declarations: [ - StudiosComponent, - StudioListComponent, - StudioDetailComponent, - StudioFormComponent - ], - providers: [ - StudiosService - ] -}) -export class StudiosModule {} diff --git a/ui/v1/src/app/studios/studios.service.ts b/ui/v1/src/app/studios/studios.service.ts deleted file mode 100644 index 67318768e..000000000 --- a/ui/v1/src/app/studios/studios.service.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Injectable } from '@angular/core'; - -import { StudioListState, SceneListState } from '../shared/models/list-state.model'; - -@Injectable() -export class StudiosService { - listState: StudioListState = new StudioListState(); - detailsSceneListState: SceneListState = new SceneListState(); - - constructor() {} -} diff --git a/ui/v1/src/app/studios/studios/studios.component.ts b/ui/v1/src/app/studios/studios/studios.component.ts deleted file mode 100644 index dc5a2bff8..000000000 --- a/ui/v1/src/app/studios/studios/studios.component.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-studios', - template: '' -}) -export class StudiosComponent implements OnInit { - - constructor() {} - - ngOnInit() {} - -} diff --git a/ui/v1/src/app/tags/tag-detail/tag-detail.component.ts b/ui/v1/src/app/tags/tag-detail/tag-detail.component.ts deleted file mode 100644 index 3894871a3..000000000 --- a/ui/v1/src/app/tags/tag-detail/tag-detail.component.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { StashService } from '../../core/stash.service'; - -import { TagData } from '../../core/graphql-generated'; - -@Component({ - selector: 'app-tag-detail', - template: ` - - - {{tag?.name}} - ` -}) -export class TagDetailComponent implements OnInit { - tag: TagData.Fragment; - - constructor( - private route: ActivatedRoute, - private router: Router, - private stashService: StashService - ) {} - - ngOnInit() { - const id = parseInt(this.route.snapshot.params['id'], 10); - this.getTag(id); - } - - async getTag(id: number) { - if (!!id === false) { - console.error('no id?'); - return; - } - - const result = await this.stashService.findTag(id).result(); - this.tag = result.data.findTag; - } - - onClickEdit() { - this.router.navigate(['edit'], { relativeTo: this.route }); - } -} diff --git a/ui/v1/src/app/tags/tag-form/tag-form.component.html b/ui/v1/src/app/tags/tag-form/tag-form.component.html deleted file mode 100644 index 0a01f6940..000000000 --- a/ui/v1/src/app/tags/tag-form/tag-form.component.html +++ /dev/null @@ -1,13 +0,0 @@ -
-

Tag Information

-
-
-
- - -
-
-
- - -
diff --git a/ui/v1/src/app/tags/tag-form/tag-form.component.scss b/ui/v1/src/app/tags/tag-form/tag-form.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/tags/tag-form/tag-form.component.ts b/ui/v1/src/app/tags/tag-form/tag-form.component.ts deleted file mode 100644 index a30d96560..000000000 --- a/ui/v1/src/app/tags/tag-form/tag-form.component.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { StashService } from '../../core/stash.service'; - -@Component({ - selector: 'app-tag-form', - templateUrl: './tag-form.component.html', - styleUrls: ['./tag-form.component.scss'] -}) -export class TagFormComponent implements OnInit { - name: string; - - loading: Boolean = true; - - constructor(private route: ActivatedRoute, private stashService: StashService, private router: Router) {} - - ngOnInit() { - this.getTag(); - } - - async getTag() { - const id = parseInt(this.route.snapshot.params['id'], 10); - if (!!id === false) { - console.log('new tag'); - this.loading = false; - return; - } - - const result = await this.stashService.findTag(id).result(); - this.loading = result.loading; - - if (!result.data.findTag) { this.router.navigate(['/tags']); } - - this.name = result.data.findTag.name; - } - - hasId() { - return !!this.route.snapshot.params['id']; - } - - onSubmit() { - const id = this.route.snapshot.params['id']; - - if (!!id) { - this.stashService.tagUpdate({ - id: id, - name: this.name - }).subscribe(result => { - this.router.navigate(['/tags', id]); - }); - } else { - this.stashService.tagCreate({ - name: this.name - }).subscribe(result => { - this.router.navigate(['/tags', result.data.tagCreate.id]); - }); - } - } - - onDestroy() { - const id = this.route.snapshot.params['id']; - - this.stashService.tagDestroy({ - id: id - }).subscribe(result => { - this.router.navigate(['/tags']); - }); - } - -} diff --git a/ui/v1/src/app/tags/tag-list/tag-list.component.html b/ui/v1/src/app/tags/tag-list/tag-list.component.html deleted file mode 100644 index b00d04d4f..000000000 --- a/ui/v1/src/app/tags/tag-list/tag-list.component.html +++ /dev/null @@ -1,35 +0,0 @@ - - -
-
-
- Markers - Scenes -
-
-
- - {{tag.name}} - -
- Scenes: {{tag.scene_count}} -
-
- Markers: {{tag.scene_marker_count}} -
-
- Total: {{tag.scene_count + tag.scene_marker_count}} -
-
-
-
-
\ No newline at end of file diff --git a/ui/v1/src/app/tags/tag-list/tag-list.component.scss b/ui/v1/src/app/tags/tag-list/tag-list.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/app/tags/tag-list/tag-list.component.ts b/ui/v1/src/app/tags/tag-list/tag-list.component.ts deleted file mode 100644 index f44012246..000000000 --- a/ui/v1/src/app/tags/tag-list/tag-list.component.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { StashService } from '../../core/stash.service'; - -import { TagData } from '../../core/graphql-generated'; -import { CriteriaType } from '../../shared/models/list-state.model'; - -@Component({ - selector: 'app-tag-list', - templateUrl: './tag-list.component.html', - styleUrls: ['./tag-list.component.scss'] -}) -export class TagListComponent implements OnInit { - CriteriaType = CriteriaType; - - tags: TagData.Fragment[]; - - constructor(private stashService: StashService, - private route: ActivatedRoute, - private router: Router) {} - - ngOnInit() { - this.getTags(); - } - - async getTags() { - const result = await this.stashService.allTags().result(); - this.tags = result.data.allTags; - } - - onClickNew() { - this.router.navigate(['new'], { relativeTo: this.route }); - } - - makeJSONQueryString(tag): string { - return JSON.stringify({type: CriteriaType.Tags, values: [tag.id]}); - } - - tagCount(tag: TagData.Fragment) { - return tag.scene_count + tag.scene_marker_count; - } - -} diff --git a/ui/v1/src/app/tags/tags-routing.module.ts b/ui/v1/src/app/tags/tags-routing.module.ts deleted file mode 100644 index 437b3c1db..000000000 --- a/ui/v1/src/app/tags/tags-routing.module.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; - -import { TagsComponent } from './tags/tags.component'; -import { TagListComponent } from './tag-list/tag-list.component'; -import { TagDetailComponent } from './tag-detail/tag-detail.component'; -import { TagFormComponent } from './tag-form/tag-form.component'; - -const routes: Routes = [ - { path: '', - component: TagsComponent, - children: [ - { path: '', component: TagListComponent }, - { path: 'new', component: TagFormComponent }, - { path: ':id', component: TagDetailComponent }, - { path: ':id/edit', component: TagFormComponent } - ] - } -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class TagsRoutingModule {} diff --git a/ui/v1/src/app/tags/tags.module.ts b/ui/v1/src/app/tags/tags.module.ts deleted file mode 100644 index 6dbba2ffd..000000000 --- a/ui/v1/src/app/tags/tags.module.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; - -import { TagsRoutingModule } from './tags-routing.module'; -import { TagsComponent } from './tags/tags.component'; -import { TagListComponent } from './tag-list/tag-list.component'; -import { TagFormComponent } from './tag-form/tag-form.component'; -import { TagDetailComponent } from './tag-detail/tag-detail.component'; - -@NgModule({ - imports: [ - SharedModule, - TagsRoutingModule - ], - declarations: [ - TagsComponent, - TagListComponent, - TagFormComponent, - TagDetailComponent - ] -}) -export class TagsModule {} diff --git a/ui/v1/src/app/tags/tags/tags.component.ts b/ui/v1/src/app/tags/tags/tags.component.ts deleted file mode 100644 index 3e2489b88..000000000 --- a/ui/v1/src/app/tags/tags/tags.component.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-tags', - template: ` - - ` -}) -export class TagsComponent implements OnInit { - constructor() {} - - ngOnInit() {} -} diff --git a/ui/v1/src/assets/.gitkeep b/ui/v1/src/assets/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/v1/src/assets/semantic.min.css b/ui/v1/src/assets/semantic.min.css deleted file mode 100755 index ff120465b..000000000 --- a/ui/v1/src/assets/semantic.min.css +++ /dev/null @@ -1,372 +0,0 @@ - /* - * # Semantic UI - 2.4.0 - * https://github.com/Semantic-Org/Semantic-UI - * http://www.semantic-ui.com/ - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin);/*! - * # Semantic UI 2.4.0 - Reset - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}html{-webkit-box-sizing:border-box;box-sizing:border-box}input[type=email],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;-moz-appearance:none}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}/*! - * # Semantic UI 2.4.0 - Site - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */body,html{height:100%}html{font-size:14px}body{margin:0;padding:0;overflow-x:hidden;min-width:320px;background:#fff;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4285em;color:rgba(0,0,0,.87);font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;line-height:1.28571429em;margin:calc(2rem - .14285714em) 0 1rem;font-weight:700;padding:0}h1{min-height:1rem;font-size:2rem}h2{font-size:1.71428571rem}h3{font-size:1.28571429rem}h4{font-size:1.07142857rem}h5{font-size:1rem}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child{margin-bottom:0}p{margin:0 0 1em;line-height:1.4285em}p:first-child{margin-top:0}p:last-child{margin-bottom:0}a{color:#4183c4;text-decoration:none}a:hover{color:#1e70bf;text-decoration:none}::-webkit-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::-moz-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}input::-webkit-selection,textarea::-webkit-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::-moz-selection,textarea::-moz-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::selection,textarea::selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}body ::-webkit-scrollbar{-webkit-appearance:none;width:10px;height:10px}body ::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:0}body ::-webkit-scrollbar-thumb{cursor:pointer;border-radius:5px;background:rgba(0,0,0,.25);-webkit-transition:color .2s ease;transition:color .2s ease}body ::-webkit-scrollbar-thumb:window-inactive{background:rgba(0,0,0,.15)}body ::-webkit-scrollbar-thumb:hover{background:rgba(128,135,139,.8)}body .ui.inverted::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}body .ui.inverted::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)}body .ui.inverted::-webkit-scrollbar-thumb:window-inactive{background:rgba(255,255,255,.15)}body .ui.inverted::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}/*! - * # Semantic UI 2.4.0 - Button - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.button{cursor:pointer;display:inline-block;min-height:1em;outline:0;border:none;vertical-align:baseline;background:#e0e1e2 none;color:rgba(0,0,0,.6);font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;margin:0 .25em 0 0;padding:.78571429em 1.5em .78571429em;text-transform:none;text-shadow:none;font-weight:700;line-height:1em;font-style:normal;text-align:center;text-decoration:none;border-radius:.28571429rem;-webkit-box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease,-webkit-box-shadow .1s ease;will-change:'';-webkit-tap-highlight-color:transparent}.ui.button:hover{background-color:#cacbcd;background-image:none;-webkit-box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;color:rgba(0,0,0,.8)}.ui.button:hover .icon{opacity:.85}.ui.button:focus{background-color:#cacbcd;color:rgba(0,0,0,.8);background-image:''!important;-webkit-box-shadow:''!important;box-shadow:''!important}.ui.button:focus .icon{opacity:.85}.ui.active.button:active,.ui.button:active{background-color:#babbbc;background-image:'';color:rgba(0,0,0,.9);-webkit-box-shadow:0 0 0 1px transparent inset,none;box-shadow:0 0 0 1px transparent inset,none}.ui.active.button{background-color:#c0c1c2;background-image:none;-webkit-box-shadow:0 0 0 1px transparent inset;box-shadow:0 0 0 1px transparent inset;color:rgba(0,0,0,.95)}.ui.active.button:hover{background-color:#c0c1c2;background-image:none;color:rgba(0,0,0,.95)}.ui.active.button:active{background-color:#c0c1c2;background-image:none}.ui.loading.loading.loading.loading.loading.loading.button{position:relative;cursor:default;text-shadow:none!important;color:transparent!important;opacity:1;pointer-events:auto;-webkit-transition:all 0s linear,opacity .1s ease;transition:all 0s linear,opacity .1s ease}.ui.loading.button:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.15)}.ui.loading.button:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#fff transparent transparent;border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}.ui.labeled.icon.loading.button .icon{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}@-webkit-keyframes button-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes button-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.basic.loading.button:not(.inverted):before{border-color:rgba(0,0,0,.1)}.ui.basic.loading.button:not(.inverted):after{border-top-color:#767676}.ui.button:disabled,.ui.buttons .disabled.button,.ui.disabled.active.button,.ui.disabled.button,.ui.disabled.button:hover{cursor:default;opacity:.45!important;background-image:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;pointer-events:none!important}.ui.basic.buttons .ui.disabled.button{border-color:rgba(34,36,38,.5)}.ui.animated.button{position:relative;overflow:hidden;padding-right:0!important;vertical-align:middle;z-index:1}.ui.animated.button .content{will-change:transform,opacity}.ui.animated.button .visible.content{position:relative;margin-right:1.5em}.ui.animated.button .hidden.content{position:absolute;width:100%}.ui.animated.button .hidden.content,.ui.animated.button .visible.content{-webkit-transition:right .3s ease 0s;transition:right .3s ease 0s}.ui.animated.button .visible.content{left:auto;right:0}.ui.animated.button .hidden.content{top:50%;left:auto;right:-100%;margin-top:-.5em}.ui.animated.button:focus .visible.content,.ui.animated.button:hover .visible.content{left:auto;right:200%}.ui.animated.button:focus .hidden.content,.ui.animated.button:hover .hidden.content{left:auto;right:0}.ui.vertical.animated.button .hidden.content,.ui.vertical.animated.button .visible.content{-webkit-transition:top .3s ease,-webkit-transform .3s ease;transition:top .3s ease,-webkit-transform .3s ease;transition:top .3s ease,transform .3s ease;transition:top .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui.vertical.animated.button .visible.content{-webkit-transform:translateY(0);transform:translateY(0);right:auto}.ui.vertical.animated.button .hidden.content{top:-50%;left:0;right:auto}.ui.vertical.animated.button:focus .visible.content,.ui.vertical.animated.button:hover .visible.content{-webkit-transform:translateY(200%);transform:translateY(200%);right:auto}.ui.vertical.animated.button:focus .hidden.content,.ui.vertical.animated.button:hover .hidden.content{top:50%;right:auto}.ui.fade.animated.button .hidden.content,.ui.fade.animated.button .visible.content{-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui.fade.animated.button .visible.content{left:auto;right:auto;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui.fade.animated.button .hidden.content{opacity:0;left:0;right:auto;-webkit-transform:scale(1.5);transform:scale(1.5)}.ui.fade.animated.button:focus .visible.content,.ui.fade.animated.button:hover .visible.content{left:auto;right:auto;opacity:0;-webkit-transform:scale(.75);transform:scale(.75)}.ui.fade.animated.button:focus .hidden.content,.ui.fade.animated.button:hover .hidden.content{left:0;right:auto;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui.inverted.button{-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important;background:transparent none;color:#fff;text-shadow:none!important}.ui.inverted.buttons .button{margin:0 0 0 -2px}.ui.inverted.buttons .button:first-child{margin-left:0}.ui.inverted.vertical.buttons .button{margin:0 0 -2px 0}.ui.inverted.vertical.buttons .button:first-child{margin-top:0}.ui.inverted.button:hover{background:#fff;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important;color:rgba(0,0,0,.8)}.ui.inverted.button.active,.ui.inverted.button:focus{background:#fff;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important;color:rgba(0,0,0,.8)}.ui.inverted.button.active:focus{background:#dcddde;-webkit-box-shadow:0 0 0 2px #dcddde inset!important;box-shadow:0 0 0 2px #dcddde inset!important;color:rgba(0,0,0,.8)}.ui.labeled.button:not(.icon){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;background:0 0!important;padding:0!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.labeled.button>.button{margin:0}.ui.labeled.button>.label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 0 -1px!important;padding:'';font-size:1em;border-color:rgba(34,36,38,.15)}.ui.labeled.button>.tag.label:before{width:1.85em;height:1.85em}.ui.labeled.button:not([class*="left labeled"])>.button{border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.button:not([class*="left labeled"])>.label{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="left labeled"].button>.button{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="left labeled"].button>.label{border-top-right-radius:0;border-bottom-right-radius:0}.ui.facebook.button{background-color:#3b5998;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.facebook.button:hover{background-color:#304d8a;color:#fff;text-shadow:none}.ui.facebook.button:active{background-color:#2d4373;color:#fff;text-shadow:none}.ui.twitter.button{background-color:#55acee;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.twitter.button:hover{background-color:#35a2f4;color:#fff;text-shadow:none}.ui.twitter.button:active{background-color:#2795e9;color:#fff;text-shadow:none}.ui.google.plus.button{background-color:#dd4b39;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.google.plus.button:hover{background-color:#e0321c;color:#fff;text-shadow:none}.ui.google.plus.button:active{background-color:#c23321;color:#fff;text-shadow:none}.ui.linkedin.button{background-color:#1f88be;color:#fff;text-shadow:none}.ui.linkedin.button:hover{background-color:#147baf;color:#fff;text-shadow:none}.ui.linkedin.button:active{background-color:#186992;color:#fff;text-shadow:none}.ui.youtube.button{background-color:red;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.youtube.button:hover{background-color:#e60000;color:#fff;text-shadow:none}.ui.youtube.button:active{background-color:#c00;color:#fff;text-shadow:none}.ui.instagram.button{background-color:#49769c;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.instagram.button:hover{background-color:#3d698e;color:#fff;text-shadow:none}.ui.instagram.button:active{background-color:#395c79;color:#fff;text-shadow:none}.ui.pinterest.button{background-color:#bd081c;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pinterest.button:hover{background-color:#ac0013;color:#fff;text-shadow:none}.ui.pinterest.button:active{background-color:#8c0615;color:#fff;text-shadow:none}.ui.vk.button{background-color:#4d7198;color:#fff;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.vk.button:hover{background-color:#41648a;color:#fff}.ui.vk.button:active{background-color:#3c5876;color:#fff}.ui.button>.icon:not(.button){height:.85714286em;opacity:.8;margin:0 .42857143em 0 -.21428571em;-webkit-transition:opacity .1s ease;transition:opacity .1s ease;vertical-align:'';color:''}.ui.button:not(.icon)>.icon:not(.button):not(.dropdown){margin:0 .42857143em 0 -.21428571em}.ui.button:not(.icon)>.right.icon:not(.button):not(.dropdown){margin:0 -.21428571em 0 .42857143em}.ui[class*="left floated"].button,.ui[class*="left floated"].buttons{float:left;margin-left:0;margin-right:.25em}.ui[class*="right floated"].button,.ui[class*="right floated"].buttons{float:right;margin-right:0;margin-left:.25em}.ui.compact.button,.ui.compact.buttons .button{padding:.58928571em 1.125em .58928571em}.ui.compact.icon.button,.ui.compact.icon.buttons .button{padding:.58928571em .58928571em .58928571em}.ui.compact.labeled.icon.button,.ui.compact.labeled.icon.buttons .button{padding:.58928571em 3.69642857em .58928571em}.ui.mini.button,.ui.mini.buttons .button,.ui.mini.buttons .or{font-size:.78571429rem}.ui.tiny.button,.ui.tiny.buttons .button,.ui.tiny.buttons .or{font-size:.85714286rem}.ui.small.button,.ui.small.buttons .button,.ui.small.buttons .or{font-size:.92857143rem}.ui.button,.ui.buttons .button,.ui.buttons .or{font-size:1rem}.ui.large.button,.ui.large.buttons .button,.ui.large.buttons .or{font-size:1.14285714rem}.ui.big.button,.ui.big.buttons .button,.ui.big.buttons .or{font-size:1.28571429rem}.ui.huge.button,.ui.huge.buttons .button,.ui.huge.buttons .or{font-size:1.42857143rem}.ui.massive.button,.ui.massive.buttons .button,.ui.massive.buttons .or{font-size:1.71428571rem}.ui.icon.button,.ui.icon.buttons .button{padding:.78571429em .78571429em .78571429em}.ui.icon.button>.icon,.ui.icon.buttons .button>.icon{opacity:.9;margin:0!important;vertical-align:top}.ui.basic.button,.ui.basic.buttons .button{background:transparent none!important;color:rgba(0,0,0,.6)!important;font-weight:400;border-radius:.28571429rem;text-transform:none;text-shadow:none!important;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.basic.buttons{-webkit-box-shadow:none;box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem}.ui.basic.buttons .button{border-radius:0}.ui.basic.button:hover,.ui.basic.buttons .button:hover{background:#fff!important;color:rgba(0,0,0,.8)!important;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.button:focus,.ui.basic.buttons .button:focus{background:#fff!important;color:rgba(0,0,0,.8)!important;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.button:active,.ui.basic.buttons .button:active{background:#f8f8f8!important;color:rgba(0,0,0,.9)!important;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset}.ui.basic.active.button,.ui.basic.buttons .active.button{background:rgba(0,0,0,.05)!important;-webkit-box-shadow:''!important;box-shadow:''!important;color:rgba(0,0,0,.95)!important}.ui.basic.active.button:hover,.ui.basic.buttons .active.button:hover{background-color:rgba(0,0,0,.05)}.ui.basic.buttons .button:hover{-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset inset;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .button:active{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .active.button{-webkit-box-shadow:''!important;box-shadow:''!important}.ui.basic.inverted.button,.ui.basic.inverted.buttons .button{background-color:transparent!important;color:#f9fafb!important;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important}.ui.basic.inverted.button:hover,.ui.basic.inverted.buttons .button:hover{color:#fff!important;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.inverted.button:focus,.ui.basic.inverted.buttons .button:focus{color:#fff!important;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.inverted.button:active,.ui.basic.inverted.buttons .button:active{background-color:rgba(255,255,255,.08)!important;color:#fff!important;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.9) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.9) inset!important}.ui.basic.inverted.active.button,.ui.basic.inverted.buttons .active.button{background-color:rgba(255,255,255,.08);color:#fff;text-shadow:none;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.7) inset;box-shadow:0 0 0 2px rgba(255,255,255,.7) inset}.ui.basic.inverted.active.button:hover,.ui.basic.inverted.buttons .active.button:hover{background-color:rgba(255,255,255,.15);-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.buttons .button{border-left:1px solid rgba(34,36,38,.15);-webkit-box-shadow:none;box-shadow:none}.ui.basic.vertical.buttons .button{border-left:none}.ui.basic.vertical.buttons .button{border-left-width:0;border-top:1px solid rgba(34,36,38,.15)}.ui.basic.vertical.buttons .button:first-child{border-top-width:0}.ui.labeled.icon.button,.ui.labeled.icon.buttons .button{position:relative;padding-left:4.07142857em!important;padding-right:1.5em!important}.ui.labeled.icon.button>.icon,.ui.labeled.icon.buttons>.button>.icon{position:absolute;height:100%;line-height:1;border-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit;text-align:center;margin:0;width:2.57142857em;background-color:rgba(0,0,0,.05);color:'';-webkit-box-shadow:-1px 0 0 0 transparent inset;box-shadow:-1px 0 0 0 transparent inset}.ui.labeled.icon.button>.icon,.ui.labeled.icon.buttons>.button>.icon{top:0;left:0}.ui[class*="right labeled"].icon.button{padding-right:4.07142857em!important;padding-left:1.5em!important}.ui[class*="right labeled"].icon.button>.icon{left:auto;right:0;border-radius:0;border-top-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-box-shadow:1px 0 0 0 transparent inset;box-shadow:1px 0 0 0 transparent inset}.ui.labeled.icon.button>.icon:after,.ui.labeled.icon.button>.icon:before,.ui.labeled.icon.buttons>.button>.icon:after,.ui.labeled.icon.buttons>.button>.icon:before{display:block;position:absolute;width:100%;top:50%;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ui.labeled.icon.buttons .button>.icon{border-radius:0}.ui.labeled.icon.buttons .button:first-child>.icon{border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.labeled.icon.buttons .button:last-child>.icon{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.labeled.icon.buttons .button:first-child>.icon{border-radius:0;border-top-left-radius:.28571429rem}.ui.vertical.labeled.icon.buttons .button:last-child>.icon{border-radius:0;border-bottom-left-radius:.28571429rem}.ui.fluid[class*="left labeled"].icon.button,.ui.fluid[class*="right labeled"].icon.button{padding-left:1.5em!important;padding-right:1.5em!important}.ui.button.toggle.active,.ui.buttons .button.toggle.active,.ui.toggle.buttons .active.button{background-color:#21ba45!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none;color:#fff!important}.ui.button.toggle.active:hover{background-color:#16ab39!important;text-shadow:none;color:#fff!important}.ui.circular.button{border-radius:10em}.ui.circular.button>.icon{width:1em;vertical-align:baseline}.ui.buttons .or{position:relative;width:.3em;height:2.57142857em;z-index:3}.ui.buttons .or:before{position:absolute;text-align:center;border-radius:500rem;content:'or';top:50%;left:50%;background-color:#fff;text-shadow:none;margin-top:-.89285714em;margin-left:-.89285714em;width:1.78571429em;height:1.78571429em;line-height:1.78571429em;color:rgba(0,0,0,.4);font-style:normal;font-weight:700;-webkit-box-shadow:0 0 0 1px transparent inset;box-shadow:0 0 0 1px transparent inset}.ui.buttons .or[data-text]:before{content:attr(data-text)}.ui.fluid.buttons .or{width:0!important}.ui.fluid.buttons .or:after{display:none}.ui.attached.button{position:relative;display:block;margin:0;border-radius:0;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15)!important;box-shadow:0 0 0 1px rgba(34,36,38,.15)!important}.ui.attached.top.button{border-radius:.28571429rem .28571429rem 0 0}.ui.attached.bottom.button{border-radius:0 0 .28571429rem .28571429rem}.ui.left.attached.button{display:inline-block;border-left:none;text-align:right;padding-right:.75em;border-radius:.28571429rem 0 0 .28571429rem}.ui.right.attached.button{display:inline-block;text-align:left;padding-left:.75em;border-radius:0 .28571429rem .28571429rem 0}.ui.attached.buttons{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:0;width:auto!important;z-index:2;margin-left:-1px;margin-right:-1px}.ui.attached.buttons .button{margin:0}.ui.attached.buttons .button:first-child{border-radius:0}.ui.attached.buttons .button:last-child{border-radius:0}.ui[class*="top attached"].buttons{margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0}.ui[class*="top attached"].buttons .button:first-child{border-radius:.28571429rem 0 0 0}.ui[class*="top attached"].buttons .button:last-child{border-radius:0 .28571429rem 0 0}.ui[class*="bottom attached"].buttons{margin-top:-1px;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].buttons .button:first-child{border-radius:0 0 0 .28571429rem}.ui[class*="bottom attached"].buttons .button:last-child{border-radius:0 0 .28571429rem 0}.ui[class*="left attached"].buttons{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:0;margin-left:-1px;border-radius:0 .28571429rem .28571429rem 0}.ui[class*="left attached"].buttons .button:first-child{margin-left:-1px;border-radius:0 .28571429rem 0 0}.ui[class*="left attached"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 .28571429rem 0}.ui[class*="right attached"].buttons{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-left:0;margin-right:-1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="right attached"].buttons .button:first-child{margin-left:-1px;border-radius:.28571429rem 0 0 0}.ui[class*="right attached"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 0 .28571429rem}.ui.fluid.button,.ui.fluid.buttons{width:100%}.ui.fluid.button{display:block}.ui.two.buttons{width:100%}.ui.two.buttons>.button{width:50%}.ui.three.buttons{width:100%}.ui.three.buttons>.button{width:33.333%}.ui.four.buttons{width:100%}.ui.four.buttons>.button{width:25%}.ui.five.buttons{width:100%}.ui.five.buttons>.button{width:20%}.ui.six.buttons{width:100%}.ui.six.buttons>.button{width:16.666%}.ui.seven.buttons{width:100%}.ui.seven.buttons>.button{width:14.285%}.ui.eight.buttons{width:100%}.ui.eight.buttons>.button{width:12.5%}.ui.nine.buttons{width:100%}.ui.nine.buttons>.button{width:11.11%}.ui.ten.buttons{width:100%}.ui.ten.buttons>.button{width:10%}.ui.eleven.buttons{width:100%}.ui.eleven.buttons>.button{width:9.09%}.ui.twelve.buttons{width:100%}.ui.twelve.buttons>.button{width:8.3333%}.ui.fluid.vertical.buttons,.ui.fluid.vertical.buttons>.button{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.ui.two.vertical.buttons>.button{height:50%}.ui.three.vertical.buttons>.button{height:33.333%}.ui.four.vertical.buttons>.button{height:25%}.ui.five.vertical.buttons>.button{height:20%}.ui.six.vertical.buttons>.button{height:16.666%}.ui.seven.vertical.buttons>.button{height:14.285%}.ui.eight.vertical.buttons>.button{height:12.5%}.ui.nine.vertical.buttons>.button{height:11.11%}.ui.ten.vertical.buttons>.button{height:10%}.ui.eleven.vertical.buttons>.button{height:9.09%}.ui.twelve.vertical.buttons>.button{height:8.3333%}.ui.black.button,.ui.black.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.black.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.black.button:hover,.ui.black.buttons .button:hover{background-color:#27292a;color:#fff;text-shadow:none}.ui.black.button:focus,.ui.black.buttons .button:focus{background-color:#2f3032;color:#fff;text-shadow:none}.ui.black.button:active,.ui.black.buttons .button:active{background-color:#343637;color:#fff;text-shadow:none}.ui.black.active.button,.ui.black.button .active.button:active,.ui.black.buttons .active.button,.ui.black.buttons .active.button:active{background-color:#0f0f10;color:#fff;text-shadow:none}.ui.basic.black.button,.ui.basic.black.buttons .button{-webkit-box-shadow:0 0 0 1px #1b1c1d inset!important;box-shadow:0 0 0 1px #1b1c1d inset!important;color:#1b1c1d!important}.ui.basic.black.button:hover,.ui.basic.black.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #27292a inset!important;box-shadow:0 0 0 1px #27292a inset!important;color:#27292a!important}.ui.basic.black.button:focus,.ui.basic.black.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #2f3032 inset!important;box-shadow:0 0 0 1px #2f3032 inset!important;color:#27292a!important}.ui.basic.black.active.button,.ui.basic.black.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0f0f10 inset!important;box-shadow:0 0 0 1px #0f0f10 inset!important;color:#343637!important}.ui.basic.black.button:active,.ui.basic.black.buttons .button:active{-webkit-box-shadow:0 0 0 1px #343637 inset!important;box-shadow:0 0 0 1px #343637 inset!important;color:#343637!important}.ui.buttons:not(.vertical)>.basic.black.button:not(:first-child){margin-left:-1px}.ui.inverted.black.button,.ui.inverted.black.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d4d4d5 inset!important;box-shadow:0 0 0 2px #d4d4d5 inset!important;color:#fff}.ui.inverted.black.button.active,.ui.inverted.black.button:active,.ui.inverted.black.button:focus,.ui.inverted.black.button:hover,.ui.inverted.black.buttons .button.active,.ui.inverted.black.buttons .button:active,.ui.inverted.black.buttons .button:focus,.ui.inverted.black.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.black.button:hover,.ui.inverted.black.buttons .button:hover{background-color:#000}.ui.inverted.black.button:focus,.ui.inverted.black.buttons .button:focus{background-color:#000}.ui.inverted.black.active.button,.ui.inverted.black.buttons .active.button{background-color:#000}.ui.inverted.black.button:active,.ui.inverted.black.buttons .button:active{background-color:#000}.ui.inverted.black.basic.button,.ui.inverted.black.basic.buttons .button,.ui.inverted.black.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.black.basic.button:hover,.ui.inverted.black.basic.buttons .button:hover,.ui.inverted.black.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.inverted.black.basic.button:focus,.ui.inverted.black.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#545454!important}.ui.inverted.black.basic.active.button,.ui.inverted.black.basic.buttons .active.button,.ui.inverted.black.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.inverted.black.basic.button:active,.ui.inverted.black.basic.buttons .button:active,.ui.inverted.black.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.grey.button,.ui.grey.buttons .button{background-color:#767676;color:#fff;text-shadow:none;background-image:none}.ui.grey.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.grey.button:hover,.ui.grey.buttons .button:hover{background-color:#838383;color:#fff;text-shadow:none}.ui.grey.button:focus,.ui.grey.buttons .button:focus{background-color:#8a8a8a;color:#fff;text-shadow:none}.ui.grey.button:active,.ui.grey.buttons .button:active{background-color:#909090;color:#fff;text-shadow:none}.ui.grey.active.button,.ui.grey.button .active.button:active,.ui.grey.buttons .active.button,.ui.grey.buttons .active.button:active{background-color:#696969;color:#fff;text-shadow:none}.ui.basic.grey.button,.ui.basic.grey.buttons .button{-webkit-box-shadow:0 0 0 1px #767676 inset!important;box-shadow:0 0 0 1px #767676 inset!important;color:#767676!important}.ui.basic.grey.button:hover,.ui.basic.grey.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #838383 inset!important;box-shadow:0 0 0 1px #838383 inset!important;color:#838383!important}.ui.basic.grey.button:focus,.ui.basic.grey.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #8a8a8a inset!important;box-shadow:0 0 0 1px #8a8a8a inset!important;color:#838383!important}.ui.basic.grey.active.button,.ui.basic.grey.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #696969 inset!important;box-shadow:0 0 0 1px #696969 inset!important;color:#909090!important}.ui.basic.grey.button:active,.ui.basic.grey.buttons .button:active{-webkit-box-shadow:0 0 0 1px #909090 inset!important;box-shadow:0 0 0 1px #909090 inset!important;color:#909090!important}.ui.buttons:not(.vertical)>.basic.grey.button:not(:first-child){margin-left:-1px}.ui.inverted.grey.button,.ui.inverted.grey.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d4d4d5 inset!important;box-shadow:0 0 0 2px #d4d4d5 inset!important;color:#fff}.ui.inverted.grey.button.active,.ui.inverted.grey.button:active,.ui.inverted.grey.button:focus,.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button.active,.ui.inverted.grey.buttons .button:active,.ui.inverted.grey.buttons .button:focus,.ui.inverted.grey.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button:hover{background-color:#cfd0d2}.ui.inverted.grey.button:focus,.ui.inverted.grey.buttons .button:focus{background-color:#c7c9cb}.ui.inverted.grey.active.button,.ui.inverted.grey.buttons .active.button{background-color:#cfd0d2}.ui.inverted.grey.button:active,.ui.inverted.grey.buttons .button:active{background-color:#c2c4c5}.ui.inverted.grey.basic.button,.ui.inverted.grey.basic.buttons .button,.ui.inverted.grey.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.grey.basic.button:hover,.ui.inverted.grey.basic.buttons .button:hover,.ui.inverted.grey.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #cfd0d2 inset!important;box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#fff!important}.ui.inverted.grey.basic.button:focus,.ui.inverted.grey.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #c7c9cb inset!important;box-shadow:0 0 0 2px #c7c9cb inset!important;color:#dcddde!important}.ui.inverted.grey.basic.active.button,.ui.inverted.grey.basic.buttons .active.button,.ui.inverted.grey.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #cfd0d2 inset!important;box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#fff!important}.ui.inverted.grey.basic.button:active,.ui.inverted.grey.basic.buttons .button:active,.ui.inverted.grey.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #c2c4c5 inset!important;box-shadow:0 0 0 2px #c2c4c5 inset!important;color:#fff!important}.ui.brown.button,.ui.brown.buttons .button{background-color:#a5673f;color:#fff;text-shadow:none;background-image:none}.ui.brown.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.brown.button:hover,.ui.brown.buttons .button:hover{background-color:#975b33;color:#fff;text-shadow:none}.ui.brown.button:focus,.ui.brown.buttons .button:focus{background-color:#90532b;color:#fff;text-shadow:none}.ui.brown.button:active,.ui.brown.buttons .button:active{background-color:#805031;color:#fff;text-shadow:none}.ui.brown.active.button,.ui.brown.button .active.button:active,.ui.brown.buttons .active.button,.ui.brown.buttons .active.button:active{background-color:#995a31;color:#fff;text-shadow:none}.ui.basic.brown.button,.ui.basic.brown.buttons .button{-webkit-box-shadow:0 0 0 1px #a5673f inset!important;box-shadow:0 0 0 1px #a5673f inset!important;color:#a5673f!important}.ui.basic.brown.button:hover,.ui.basic.brown.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #975b33 inset!important;box-shadow:0 0 0 1px #975b33 inset!important;color:#975b33!important}.ui.basic.brown.button:focus,.ui.basic.brown.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #90532b inset!important;box-shadow:0 0 0 1px #90532b inset!important;color:#975b33!important}.ui.basic.brown.active.button,.ui.basic.brown.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #995a31 inset!important;box-shadow:0 0 0 1px #995a31 inset!important;color:#805031!important}.ui.basic.brown.button:active,.ui.basic.brown.buttons .button:active{-webkit-box-shadow:0 0 0 1px #805031 inset!important;box-shadow:0 0 0 1px #805031 inset!important;color:#805031!important}.ui.buttons:not(.vertical)>.basic.brown.button:not(:first-child){margin-left:-1px}.ui.inverted.brown.button,.ui.inverted.brown.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d67c1c inset!important;box-shadow:0 0 0 2px #d67c1c inset!important;color:#d67c1c}.ui.inverted.brown.button.active,.ui.inverted.brown.button:active,.ui.inverted.brown.button:focus,.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button.active,.ui.inverted.brown.buttons .button:active,.ui.inverted.brown.buttons .button:focus,.ui.inverted.brown.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button:hover{background-color:#c86f11}.ui.inverted.brown.button:focus,.ui.inverted.brown.buttons .button:focus{background-color:#c16808}.ui.inverted.brown.active.button,.ui.inverted.brown.buttons .active.button{background-color:#cc6f0d}.ui.inverted.brown.button:active,.ui.inverted.brown.buttons .button:active{background-color:#a96216}.ui.inverted.brown.basic.button,.ui.inverted.brown.basic.buttons .button,.ui.inverted.brown.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.brown.basic.button:hover,.ui.inverted.brown.basic.buttons .button:hover,.ui.inverted.brown.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #c86f11 inset!important;box-shadow:0 0 0 2px #c86f11 inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.button:focus,.ui.inverted.brown.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #c16808 inset!important;box-shadow:0 0 0 2px #c16808 inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.active.button,.ui.inverted.brown.basic.buttons .active.button,.ui.inverted.brown.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #cc6f0d inset!important;box-shadow:0 0 0 2px #cc6f0d inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.button:active,.ui.inverted.brown.basic.buttons .button:active,.ui.inverted.brown.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #a96216 inset!important;box-shadow:0 0 0 2px #a96216 inset!important;color:#d67c1c!important}.ui.blue.button,.ui.blue.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.blue.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.blue.button:hover,.ui.blue.buttons .button:hover{background-color:#1678c2;color:#fff;text-shadow:none}.ui.blue.button:focus,.ui.blue.buttons .button:focus{background-color:#0d71bb;color:#fff;text-shadow:none}.ui.blue.button:active,.ui.blue.buttons .button:active{background-color:#1a69a4;color:#fff;text-shadow:none}.ui.blue.active.button,.ui.blue.button .active.button:active,.ui.blue.buttons .active.button,.ui.blue.buttons .active.button:active{background-color:#1279c6;color:#fff;text-shadow:none}.ui.basic.blue.button,.ui.basic.blue.buttons .button{-webkit-box-shadow:0 0 0 1px #2185d0 inset!important;box-shadow:0 0 0 1px #2185d0 inset!important;color:#2185d0!important}.ui.basic.blue.button:hover,.ui.basic.blue.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1678c2 inset!important;box-shadow:0 0 0 1px #1678c2 inset!important;color:#1678c2!important}.ui.basic.blue.button:focus,.ui.basic.blue.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0d71bb inset!important;box-shadow:0 0 0 1px #0d71bb inset!important;color:#1678c2!important}.ui.basic.blue.active.button,.ui.basic.blue.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1279c6 inset!important;box-shadow:0 0 0 1px #1279c6 inset!important;color:#1a69a4!important}.ui.basic.blue.button:active,.ui.basic.blue.buttons .button:active{-webkit-box-shadow:0 0 0 1px #1a69a4 inset!important;box-shadow:0 0 0 1px #1a69a4 inset!important;color:#1a69a4!important}.ui.buttons:not(.vertical)>.basic.blue.button:not(:first-child){margin-left:-1px}.ui.inverted.blue.button,.ui.inverted.blue.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #54c8ff inset!important;box-shadow:0 0 0 2px #54c8ff inset!important;color:#54c8ff}.ui.inverted.blue.button.active,.ui.inverted.blue.button:active,.ui.inverted.blue.button:focus,.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button.active,.ui.inverted.blue.buttons .button:active,.ui.inverted.blue.buttons .button:focus,.ui.inverted.blue.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button:hover{background-color:#3ac0ff}.ui.inverted.blue.button:focus,.ui.inverted.blue.buttons .button:focus{background-color:#2bbbff}.ui.inverted.blue.active.button,.ui.inverted.blue.buttons .active.button{background-color:#3ac0ff}.ui.inverted.blue.button:active,.ui.inverted.blue.buttons .button:active{background-color:#21b8ff}.ui.inverted.blue.basic.button,.ui.inverted.blue.basic.buttons .button,.ui.inverted.blue.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.blue.basic.button:hover,.ui.inverted.blue.basic.buttons .button:hover,.ui.inverted.blue.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #3ac0ff inset!important;box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.button:focus,.ui.inverted.blue.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #2bbbff inset!important;box-shadow:0 0 0 2px #2bbbff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.active.button,.ui.inverted.blue.basic.buttons .active.button,.ui.inverted.blue.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #3ac0ff inset!important;box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.button:active,.ui.inverted.blue.basic.buttons .button:active,.ui.inverted.blue.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #21b8ff inset!important;box-shadow:0 0 0 2px #21b8ff inset!important;color:#54c8ff!important}.ui.green.button,.ui.green.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.green.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.green.button:hover,.ui.green.buttons .button:hover{background-color:#16ab39;color:#fff;text-shadow:none}.ui.green.button:focus,.ui.green.buttons .button:focus{background-color:#0ea432;color:#fff;text-shadow:none}.ui.green.button:active,.ui.green.buttons .button:active{background-color:#198f35;color:#fff;text-shadow:none}.ui.green.active.button,.ui.green.button .active.button:active,.ui.green.buttons .active.button,.ui.green.buttons .active.button:active{background-color:#13ae38;color:#fff;text-shadow:none}.ui.basic.green.button,.ui.basic.green.buttons .button{-webkit-box-shadow:0 0 0 1px #21ba45 inset!important;box-shadow:0 0 0 1px #21ba45 inset!important;color:#21ba45!important}.ui.basic.green.button:hover,.ui.basic.green.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #16ab39 inset!important;box-shadow:0 0 0 1px #16ab39 inset!important;color:#16ab39!important}.ui.basic.green.button:focus,.ui.basic.green.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0ea432 inset!important;box-shadow:0 0 0 1px #0ea432 inset!important;color:#16ab39!important}.ui.basic.green.active.button,.ui.basic.green.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #13ae38 inset!important;box-shadow:0 0 0 1px #13ae38 inset!important;color:#198f35!important}.ui.basic.green.button:active,.ui.basic.green.buttons .button:active{-webkit-box-shadow:0 0 0 1px #198f35 inset!important;box-shadow:0 0 0 1px #198f35 inset!important;color:#198f35!important}.ui.buttons:not(.vertical)>.basic.green.button:not(:first-child){margin-left:-1px}.ui.inverted.green.button,.ui.inverted.green.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #2ecc40 inset!important;box-shadow:0 0 0 2px #2ecc40 inset!important;color:#2ecc40}.ui.inverted.green.button.active,.ui.inverted.green.button:active,.ui.inverted.green.button:focus,.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button.active,.ui.inverted.green.buttons .button:active,.ui.inverted.green.buttons .button:focus,.ui.inverted.green.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button:hover{background-color:#22be34}.ui.inverted.green.button:focus,.ui.inverted.green.buttons .button:focus{background-color:#19b82b}.ui.inverted.green.active.button,.ui.inverted.green.buttons .active.button{background-color:#1fc231}.ui.inverted.green.button:active,.ui.inverted.green.buttons .button:active{background-color:#25a233}.ui.inverted.green.basic.button,.ui.inverted.green.basic.buttons .button,.ui.inverted.green.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.green.basic.button:hover,.ui.inverted.green.basic.buttons .button:hover,.ui.inverted.green.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #22be34 inset!important;box-shadow:0 0 0 2px #22be34 inset!important;color:#2ecc40!important}.ui.inverted.green.basic.button:focus,.ui.inverted.green.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #19b82b inset!important;box-shadow:0 0 0 2px #19b82b inset!important;color:#2ecc40!important}.ui.inverted.green.basic.active.button,.ui.inverted.green.basic.buttons .active.button,.ui.inverted.green.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #1fc231 inset!important;box-shadow:0 0 0 2px #1fc231 inset!important;color:#2ecc40!important}.ui.inverted.green.basic.button:active,.ui.inverted.green.basic.buttons .button:active,.ui.inverted.green.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #25a233 inset!important;box-shadow:0 0 0 2px #25a233 inset!important;color:#2ecc40!important}.ui.orange.button,.ui.orange.buttons .button{background-color:#f2711c;color:#fff;text-shadow:none;background-image:none}.ui.orange.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.orange.button:hover,.ui.orange.buttons .button:hover{background-color:#f26202;color:#fff;text-shadow:none}.ui.orange.button:focus,.ui.orange.buttons .button:focus{background-color:#e55b00;color:#fff;text-shadow:none}.ui.orange.button:active,.ui.orange.buttons .button:active{background-color:#cf590c;color:#fff;text-shadow:none}.ui.orange.active.button,.ui.orange.button .active.button:active,.ui.orange.buttons .active.button,.ui.orange.buttons .active.button:active{background-color:#f56100;color:#fff;text-shadow:none}.ui.basic.orange.button,.ui.basic.orange.buttons .button{-webkit-box-shadow:0 0 0 1px #f2711c inset!important;box-shadow:0 0 0 1px #f2711c inset!important;color:#f2711c!important}.ui.basic.orange.button:hover,.ui.basic.orange.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #f26202 inset!important;box-shadow:0 0 0 1px #f26202 inset!important;color:#f26202!important}.ui.basic.orange.button:focus,.ui.basic.orange.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #e55b00 inset!important;box-shadow:0 0 0 1px #e55b00 inset!important;color:#f26202!important}.ui.basic.orange.active.button,.ui.basic.orange.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #f56100 inset!important;box-shadow:0 0 0 1px #f56100 inset!important;color:#cf590c!important}.ui.basic.orange.button:active,.ui.basic.orange.buttons .button:active{-webkit-box-shadow:0 0 0 1px #cf590c inset!important;box-shadow:0 0 0 1px #cf590c inset!important;color:#cf590c!important}.ui.buttons:not(.vertical)>.basic.orange.button:not(:first-child){margin-left:-1px}.ui.inverted.orange.button,.ui.inverted.orange.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ff851b inset!important;box-shadow:0 0 0 2px #ff851b inset!important;color:#ff851b}.ui.inverted.orange.button.active,.ui.inverted.orange.button:active,.ui.inverted.orange.button:focus,.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button.active,.ui.inverted.orange.buttons .button:active,.ui.inverted.orange.buttons .button:focus,.ui.inverted.orange.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button:hover{background-color:#ff7701}.ui.inverted.orange.button:focus,.ui.inverted.orange.buttons .button:focus{background-color:#f17000}.ui.inverted.orange.active.button,.ui.inverted.orange.buttons .active.button{background-color:#ff7701}.ui.inverted.orange.button:active,.ui.inverted.orange.buttons .button:active{background-color:#e76b00}.ui.inverted.orange.basic.button,.ui.inverted.orange.basic.buttons .button,.ui.inverted.orange.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.orange.basic.button:hover,.ui.inverted.orange.basic.buttons .button:hover,.ui.inverted.orange.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ff7701 inset!important;box-shadow:0 0 0 2px #ff7701 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.button:focus,.ui.inverted.orange.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #f17000 inset!important;box-shadow:0 0 0 2px #f17000 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.active.button,.ui.inverted.orange.basic.buttons .active.button,.ui.inverted.orange.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ff7701 inset!important;box-shadow:0 0 0 2px #ff7701 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.button:active,.ui.inverted.orange.basic.buttons .button:active,.ui.inverted.orange.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #e76b00 inset!important;box-shadow:0 0 0 2px #e76b00 inset!important;color:#ff851b!important}.ui.pink.button,.ui.pink.buttons .button{background-color:#e03997;color:#fff;text-shadow:none;background-image:none}.ui.pink.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pink.button:hover,.ui.pink.buttons .button:hover{background-color:#e61a8d;color:#fff;text-shadow:none}.ui.pink.button:focus,.ui.pink.buttons .button:focus{background-color:#e10f85;color:#fff;text-shadow:none}.ui.pink.button:active,.ui.pink.buttons .button:active{background-color:#c71f7e;color:#fff;text-shadow:none}.ui.pink.active.button,.ui.pink.button .active.button:active,.ui.pink.buttons .active.button,.ui.pink.buttons .active.button:active{background-color:#ea158d;color:#fff;text-shadow:none}.ui.basic.pink.button,.ui.basic.pink.buttons .button{-webkit-box-shadow:0 0 0 1px #e03997 inset!important;box-shadow:0 0 0 1px #e03997 inset!important;color:#e03997!important}.ui.basic.pink.button:hover,.ui.basic.pink.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #e61a8d inset!important;box-shadow:0 0 0 1px #e61a8d inset!important;color:#e61a8d!important}.ui.basic.pink.button:focus,.ui.basic.pink.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #e10f85 inset!important;box-shadow:0 0 0 1px #e10f85 inset!important;color:#e61a8d!important}.ui.basic.pink.active.button,.ui.basic.pink.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #ea158d inset!important;box-shadow:0 0 0 1px #ea158d inset!important;color:#c71f7e!important}.ui.basic.pink.button:active,.ui.basic.pink.buttons .button:active{-webkit-box-shadow:0 0 0 1px #c71f7e inset!important;box-shadow:0 0 0 1px #c71f7e inset!important;color:#c71f7e!important}.ui.buttons:not(.vertical)>.basic.pink.button:not(:first-child){margin-left:-1px}.ui.inverted.pink.button,.ui.inverted.pink.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ff8edf inset!important;box-shadow:0 0 0 2px #ff8edf inset!important;color:#ff8edf}.ui.inverted.pink.button.active,.ui.inverted.pink.button:active,.ui.inverted.pink.button:focus,.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button.active,.ui.inverted.pink.buttons .button:active,.ui.inverted.pink.buttons .button:focus,.ui.inverted.pink.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button:hover{background-color:#ff74d8}.ui.inverted.pink.button:focus,.ui.inverted.pink.buttons .button:focus{background-color:#ff65d3}.ui.inverted.pink.active.button,.ui.inverted.pink.buttons .active.button{background-color:#ff74d8}.ui.inverted.pink.button:active,.ui.inverted.pink.buttons .button:active{background-color:#ff5bd1}.ui.inverted.pink.basic.button,.ui.inverted.pink.basic.buttons .button,.ui.inverted.pink.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.pink.basic.button:hover,.ui.inverted.pink.basic.buttons .button:hover,.ui.inverted.pink.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ff74d8 inset!important;box-shadow:0 0 0 2px #ff74d8 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.button:focus,.ui.inverted.pink.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #ff65d3 inset!important;box-shadow:0 0 0 2px #ff65d3 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.active.button,.ui.inverted.pink.basic.buttons .active.button,.ui.inverted.pink.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ff74d8 inset!important;box-shadow:0 0 0 2px #ff74d8 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.button:active,.ui.inverted.pink.basic.buttons .button:active,.ui.inverted.pink.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #ff5bd1 inset!important;box-shadow:0 0 0 2px #ff5bd1 inset!important;color:#ff8edf!important}.ui.violet.button,.ui.violet.buttons .button{background-color:#6435c9;color:#fff;text-shadow:none;background-image:none}.ui.violet.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.violet.button:hover,.ui.violet.buttons .button:hover{background-color:#5829bb;color:#fff;text-shadow:none}.ui.violet.button:focus,.ui.violet.buttons .button:focus{background-color:#4f20b5;color:#fff;text-shadow:none}.ui.violet.button:active,.ui.violet.buttons .button:active{background-color:#502aa1;color:#fff;text-shadow:none}.ui.violet.active.button,.ui.violet.button .active.button:active,.ui.violet.buttons .active.button,.ui.violet.buttons .active.button:active{background-color:#5626bf;color:#fff;text-shadow:none}.ui.basic.violet.button,.ui.basic.violet.buttons .button{-webkit-box-shadow:0 0 0 1px #6435c9 inset!important;box-shadow:0 0 0 1px #6435c9 inset!important;color:#6435c9!important}.ui.basic.violet.button:hover,.ui.basic.violet.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #5829bb inset!important;box-shadow:0 0 0 1px #5829bb inset!important;color:#5829bb!important}.ui.basic.violet.button:focus,.ui.basic.violet.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #4f20b5 inset!important;box-shadow:0 0 0 1px #4f20b5 inset!important;color:#5829bb!important}.ui.basic.violet.active.button,.ui.basic.violet.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #5626bf inset!important;box-shadow:0 0 0 1px #5626bf inset!important;color:#502aa1!important}.ui.basic.violet.button:active,.ui.basic.violet.buttons .button:active{-webkit-box-shadow:0 0 0 1px #502aa1 inset!important;box-shadow:0 0 0 1px #502aa1 inset!important;color:#502aa1!important}.ui.buttons:not(.vertical)>.basic.violet.button:not(:first-child){margin-left:-1px}.ui.inverted.violet.button,.ui.inverted.violet.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #a291fb inset!important;box-shadow:0 0 0 2px #a291fb inset!important;color:#a291fb}.ui.inverted.violet.button.active,.ui.inverted.violet.button:active,.ui.inverted.violet.button:focus,.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button.active,.ui.inverted.violet.buttons .button:active,.ui.inverted.violet.buttons .button:focus,.ui.inverted.violet.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button:hover{background-color:#8a73ff}.ui.inverted.violet.button:focus,.ui.inverted.violet.buttons .button:focus{background-color:#7d64ff}.ui.inverted.violet.active.button,.ui.inverted.violet.buttons .active.button{background-color:#8a73ff}.ui.inverted.violet.button:active,.ui.inverted.violet.buttons .button:active{background-color:#7860f9}.ui.inverted.violet.basic.button,.ui.inverted.violet.basic.buttons .button,.ui.inverted.violet.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.violet.basic.button:hover,.ui.inverted.violet.basic.buttons .button:hover,.ui.inverted.violet.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #8a73ff inset!important;box-shadow:0 0 0 2px #8a73ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.button:focus,.ui.inverted.violet.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #7d64ff inset!important;box-shadow:0 0 0 2px #7d64ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.active.button,.ui.inverted.violet.basic.buttons .active.button,.ui.inverted.violet.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #8a73ff inset!important;box-shadow:0 0 0 2px #8a73ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.button:active,.ui.inverted.violet.basic.buttons .button:active,.ui.inverted.violet.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #7860f9 inset!important;box-shadow:0 0 0 2px #7860f9 inset!important;color:#a291fb!important}.ui.purple.button,.ui.purple.buttons .button{background-color:#a333c8;color:#fff;text-shadow:none;background-image:none}.ui.purple.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.purple.button:hover,.ui.purple.buttons .button:hover{background-color:#9627ba;color:#fff;text-shadow:none}.ui.purple.button:focus,.ui.purple.buttons .button:focus{background-color:#8f1eb4;color:#fff;text-shadow:none}.ui.purple.button:active,.ui.purple.buttons .button:active{background-color:#82299f;color:#fff;text-shadow:none}.ui.purple.active.button,.ui.purple.button .active.button:active,.ui.purple.buttons .active.button,.ui.purple.buttons .active.button:active{background-color:#9724be;color:#fff;text-shadow:none}.ui.basic.purple.button,.ui.basic.purple.buttons .button{-webkit-box-shadow:0 0 0 1px #a333c8 inset!important;box-shadow:0 0 0 1px #a333c8 inset!important;color:#a333c8!important}.ui.basic.purple.button:hover,.ui.basic.purple.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #9627ba inset!important;box-shadow:0 0 0 1px #9627ba inset!important;color:#9627ba!important}.ui.basic.purple.button:focus,.ui.basic.purple.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #8f1eb4 inset!important;box-shadow:0 0 0 1px #8f1eb4 inset!important;color:#9627ba!important}.ui.basic.purple.active.button,.ui.basic.purple.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #9724be inset!important;box-shadow:0 0 0 1px #9724be inset!important;color:#82299f!important}.ui.basic.purple.button:active,.ui.basic.purple.buttons .button:active{-webkit-box-shadow:0 0 0 1px #82299f inset!important;box-shadow:0 0 0 1px #82299f inset!important;color:#82299f!important}.ui.buttons:not(.vertical)>.basic.purple.button:not(:first-child){margin-left:-1px}.ui.inverted.purple.button,.ui.inverted.purple.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #dc73ff inset!important;box-shadow:0 0 0 2px #dc73ff inset!important;color:#dc73ff}.ui.inverted.purple.button.active,.ui.inverted.purple.button:active,.ui.inverted.purple.button:focus,.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button.active,.ui.inverted.purple.buttons .button:active,.ui.inverted.purple.buttons .button:focus,.ui.inverted.purple.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button:hover{background-color:#d65aff}.ui.inverted.purple.button:focus,.ui.inverted.purple.buttons .button:focus{background-color:#d24aff}.ui.inverted.purple.active.button,.ui.inverted.purple.buttons .active.button{background-color:#d65aff}.ui.inverted.purple.button:active,.ui.inverted.purple.buttons .button:active{background-color:#cf40ff}.ui.inverted.purple.basic.button,.ui.inverted.purple.basic.buttons .button,.ui.inverted.purple.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.purple.basic.button:hover,.ui.inverted.purple.basic.buttons .button:hover,.ui.inverted.purple.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #d65aff inset!important;box-shadow:0 0 0 2px #d65aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.button:focus,.ui.inverted.purple.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #d24aff inset!important;box-shadow:0 0 0 2px #d24aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.active.button,.ui.inverted.purple.basic.buttons .active.button,.ui.inverted.purple.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #d65aff inset!important;box-shadow:0 0 0 2px #d65aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.button:active,.ui.inverted.purple.basic.buttons .button:active,.ui.inverted.purple.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #cf40ff inset!important;box-shadow:0 0 0 2px #cf40ff inset!important;color:#dc73ff!important}.ui.red.button,.ui.red.buttons .button{background-color:#db2828;color:#fff;text-shadow:none;background-image:none}.ui.red.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.red.button:hover,.ui.red.buttons .button:hover{background-color:#d01919;color:#fff;text-shadow:none}.ui.red.button:focus,.ui.red.buttons .button:focus{background-color:#ca1010;color:#fff;text-shadow:none}.ui.red.button:active,.ui.red.buttons .button:active{background-color:#b21e1e;color:#fff;text-shadow:none}.ui.red.active.button,.ui.red.button .active.button:active,.ui.red.buttons .active.button,.ui.red.buttons .active.button:active{background-color:#d41515;color:#fff;text-shadow:none}.ui.basic.red.button,.ui.basic.red.buttons .button{-webkit-box-shadow:0 0 0 1px #db2828 inset!important;box-shadow:0 0 0 1px #db2828 inset!important;color:#db2828!important}.ui.basic.red.button:hover,.ui.basic.red.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d01919 inset!important;box-shadow:0 0 0 1px #d01919 inset!important;color:#d01919!important}.ui.basic.red.button:focus,.ui.basic.red.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #ca1010 inset!important;box-shadow:0 0 0 1px #ca1010 inset!important;color:#d01919!important}.ui.basic.red.active.button,.ui.basic.red.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d41515 inset!important;box-shadow:0 0 0 1px #d41515 inset!important;color:#b21e1e!important}.ui.basic.red.button:active,.ui.basic.red.buttons .button:active{-webkit-box-shadow:0 0 0 1px #b21e1e inset!important;box-shadow:0 0 0 1px #b21e1e inset!important;color:#b21e1e!important}.ui.buttons:not(.vertical)>.basic.red.button:not(:first-child){margin-left:-1px}.ui.inverted.red.button,.ui.inverted.red.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ff695e inset!important;box-shadow:0 0 0 2px #ff695e inset!important;color:#ff695e}.ui.inverted.red.button.active,.ui.inverted.red.button:active,.ui.inverted.red.button:focus,.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button.active,.ui.inverted.red.buttons .button:active,.ui.inverted.red.buttons .button:focus,.ui.inverted.red.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button:hover{background-color:#ff5144}.ui.inverted.red.button:focus,.ui.inverted.red.buttons .button:focus{background-color:#ff4335}.ui.inverted.red.active.button,.ui.inverted.red.buttons .active.button{background-color:#ff5144}.ui.inverted.red.button:active,.ui.inverted.red.buttons .button:active{background-color:#ff392b}.ui.inverted.red.basic.button,.ui.inverted.red.basic.buttons .button,.ui.inverted.red.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.red.basic.button:hover,.ui.inverted.red.basic.buttons .button:hover,.ui.inverted.red.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ff5144 inset!important;box-shadow:0 0 0 2px #ff5144 inset!important;color:#ff695e!important}.ui.inverted.red.basic.button:focus,.ui.inverted.red.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #ff4335 inset!important;box-shadow:0 0 0 2px #ff4335 inset!important;color:#ff695e!important}.ui.inverted.red.basic.active.button,.ui.inverted.red.basic.buttons .active.button,.ui.inverted.red.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ff5144 inset!important;box-shadow:0 0 0 2px #ff5144 inset!important;color:#ff695e!important}.ui.inverted.red.basic.button:active,.ui.inverted.red.basic.buttons .button:active,.ui.inverted.red.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #ff392b inset!important;box-shadow:0 0 0 2px #ff392b inset!important;color:#ff695e!important}.ui.teal.button,.ui.teal.buttons .button{background-color:#00b5ad;color:#fff;text-shadow:none;background-image:none}.ui.teal.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.teal.button:hover,.ui.teal.buttons .button:hover{background-color:#009c95;color:#fff;text-shadow:none}.ui.teal.button:focus,.ui.teal.buttons .button:focus{background-color:#008c86;color:#fff;text-shadow:none}.ui.teal.button:active,.ui.teal.buttons .button:active{background-color:#00827c;color:#fff;text-shadow:none}.ui.teal.active.button,.ui.teal.button .active.button:active,.ui.teal.buttons .active.button,.ui.teal.buttons .active.button:active{background-color:#009c95;color:#fff;text-shadow:none}.ui.basic.teal.button,.ui.basic.teal.buttons .button{-webkit-box-shadow:0 0 0 1px #00b5ad inset!important;box-shadow:0 0 0 1px #00b5ad inset!important;color:#00b5ad!important}.ui.basic.teal.button:hover,.ui.basic.teal.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #009c95 inset!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#009c95!important}.ui.basic.teal.button:focus,.ui.basic.teal.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #008c86 inset!important;box-shadow:0 0 0 1px #008c86 inset!important;color:#009c95!important}.ui.basic.teal.active.button,.ui.basic.teal.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #009c95 inset!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#00827c!important}.ui.basic.teal.button:active,.ui.basic.teal.buttons .button:active{-webkit-box-shadow:0 0 0 1px #00827c inset!important;box-shadow:0 0 0 1px #00827c inset!important;color:#00827c!important}.ui.buttons:not(.vertical)>.basic.teal.button:not(:first-child){margin-left:-1px}.ui.inverted.teal.button,.ui.inverted.teal.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #6dffff inset!important;box-shadow:0 0 0 2px #6dffff inset!important;color:#6dffff}.ui.inverted.teal.button.active,.ui.inverted.teal.button:active,.ui.inverted.teal.button:focus,.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button.active,.ui.inverted.teal.buttons .button:active,.ui.inverted.teal.buttons .button:focus,.ui.inverted.teal.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button:hover{background-color:#54ffff}.ui.inverted.teal.button:focus,.ui.inverted.teal.buttons .button:focus{background-color:#4ff}.ui.inverted.teal.active.button,.ui.inverted.teal.buttons .active.button{background-color:#54ffff}.ui.inverted.teal.button:active,.ui.inverted.teal.buttons .button:active{background-color:#3affff}.ui.inverted.teal.basic.button,.ui.inverted.teal.basic.buttons .button,.ui.inverted.teal.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.teal.basic.button:hover,.ui.inverted.teal.basic.buttons .button:hover,.ui.inverted.teal.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #54ffff inset!important;box-shadow:0 0 0 2px #54ffff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.button:focus,.ui.inverted.teal.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #4ff inset!important;box-shadow:0 0 0 2px #4ff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.active.button,.ui.inverted.teal.basic.buttons .active.button,.ui.inverted.teal.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #54ffff inset!important;box-shadow:0 0 0 2px #54ffff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.button:active,.ui.inverted.teal.basic.buttons .button:active,.ui.inverted.teal.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #3affff inset!important;box-shadow:0 0 0 2px #3affff inset!important;color:#6dffff!important}.ui.olive.button,.ui.olive.buttons .button{background-color:#b5cc18;color:#fff;text-shadow:none;background-image:none}.ui.olive.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.olive.button:hover,.ui.olive.buttons .button:hover{background-color:#a7bd0d;color:#fff;text-shadow:none}.ui.olive.button:focus,.ui.olive.buttons .button:focus{background-color:#a0b605;color:#fff;text-shadow:none}.ui.olive.button:active,.ui.olive.buttons .button:active{background-color:#8d9e13;color:#fff;text-shadow:none}.ui.olive.active.button,.ui.olive.button .active.button:active,.ui.olive.buttons .active.button,.ui.olive.buttons .active.button:active{background-color:#aac109;color:#fff;text-shadow:none}.ui.basic.olive.button,.ui.basic.olive.buttons .button{-webkit-box-shadow:0 0 0 1px #b5cc18 inset!important;box-shadow:0 0 0 1px #b5cc18 inset!important;color:#b5cc18!important}.ui.basic.olive.button:hover,.ui.basic.olive.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #a7bd0d inset!important;box-shadow:0 0 0 1px #a7bd0d inset!important;color:#a7bd0d!important}.ui.basic.olive.button:focus,.ui.basic.olive.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #a0b605 inset!important;box-shadow:0 0 0 1px #a0b605 inset!important;color:#a7bd0d!important}.ui.basic.olive.active.button,.ui.basic.olive.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #aac109 inset!important;box-shadow:0 0 0 1px #aac109 inset!important;color:#8d9e13!important}.ui.basic.olive.button:active,.ui.basic.olive.buttons .button:active{-webkit-box-shadow:0 0 0 1px #8d9e13 inset!important;box-shadow:0 0 0 1px #8d9e13 inset!important;color:#8d9e13!important}.ui.buttons:not(.vertical)>.basic.olive.button:not(:first-child){margin-left:-1px}.ui.inverted.olive.button,.ui.inverted.olive.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d9e778 inset!important;box-shadow:0 0 0 2px #d9e778 inset!important;color:#d9e778}.ui.inverted.olive.button.active,.ui.inverted.olive.button:active,.ui.inverted.olive.button:focus,.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button.active,.ui.inverted.olive.buttons .button:active,.ui.inverted.olive.buttons .button:focus,.ui.inverted.olive.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button:hover{background-color:#d8ea5c}.ui.inverted.olive.button:focus,.ui.inverted.olive.buttons .button:focus{background-color:#daef47}.ui.inverted.olive.active.button,.ui.inverted.olive.buttons .active.button{background-color:#daed59}.ui.inverted.olive.button:active,.ui.inverted.olive.buttons .button:active{background-color:#cddf4d}.ui.inverted.olive.basic.button,.ui.inverted.olive.basic.buttons .button,.ui.inverted.olive.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.olive.basic.button:hover,.ui.inverted.olive.basic.buttons .button:hover,.ui.inverted.olive.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #d8ea5c inset!important;box-shadow:0 0 0 2px #d8ea5c inset!important;color:#d9e778!important}.ui.inverted.olive.basic.button:focus,.ui.inverted.olive.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #daef47 inset!important;box-shadow:0 0 0 2px #daef47 inset!important;color:#d9e778!important}.ui.inverted.olive.basic.active.button,.ui.inverted.olive.basic.buttons .active.button,.ui.inverted.olive.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #daed59 inset!important;box-shadow:0 0 0 2px #daed59 inset!important;color:#d9e778!important}.ui.inverted.olive.basic.button:active,.ui.inverted.olive.basic.buttons .button:active,.ui.inverted.olive.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #cddf4d inset!important;box-shadow:0 0 0 2px #cddf4d inset!important;color:#d9e778!important}.ui.yellow.button,.ui.yellow.buttons .button{background-color:#fbbd08;color:#fff;text-shadow:none;background-image:none}.ui.yellow.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.yellow.button:hover,.ui.yellow.buttons .button:hover{background-color:#eaae00;color:#fff;text-shadow:none}.ui.yellow.button:focus,.ui.yellow.buttons .button:focus{background-color:#daa300;color:#fff;text-shadow:none}.ui.yellow.button:active,.ui.yellow.buttons .button:active{background-color:#cd9903;color:#fff;text-shadow:none}.ui.yellow.active.button,.ui.yellow.button .active.button:active,.ui.yellow.buttons .active.button,.ui.yellow.buttons .active.button:active{background-color:#eaae00;color:#fff;text-shadow:none}.ui.basic.yellow.button,.ui.basic.yellow.buttons .button{-webkit-box-shadow:0 0 0 1px #fbbd08 inset!important;box-shadow:0 0 0 1px #fbbd08 inset!important;color:#fbbd08!important}.ui.basic.yellow.button:hover,.ui.basic.yellow.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #eaae00 inset!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#eaae00!important}.ui.basic.yellow.button:focus,.ui.basic.yellow.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #daa300 inset!important;box-shadow:0 0 0 1px #daa300 inset!important;color:#eaae00!important}.ui.basic.yellow.active.button,.ui.basic.yellow.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #eaae00 inset!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#cd9903!important}.ui.basic.yellow.button:active,.ui.basic.yellow.buttons .button:active{-webkit-box-shadow:0 0 0 1px #cd9903 inset!important;box-shadow:0 0 0 1px #cd9903 inset!important;color:#cd9903!important}.ui.buttons:not(.vertical)>.basic.yellow.button:not(:first-child){margin-left:-1px}.ui.inverted.yellow.button,.ui.inverted.yellow.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ffe21f inset!important;box-shadow:0 0 0 2px #ffe21f inset!important;color:#ffe21f}.ui.inverted.yellow.button.active,.ui.inverted.yellow.button:active,.ui.inverted.yellow.button:focus,.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button.active,.ui.inverted.yellow.buttons .button:active,.ui.inverted.yellow.buttons .button:focus,.ui.inverted.yellow.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button:hover{background-color:#ffdf05}.ui.inverted.yellow.button:focus,.ui.inverted.yellow.buttons .button:focus{background-color:#f5d500}.ui.inverted.yellow.active.button,.ui.inverted.yellow.buttons .active.button{background-color:#ffdf05}.ui.inverted.yellow.button:active,.ui.inverted.yellow.buttons .button:active{background-color:#ebcd00}.ui.inverted.yellow.basic.button,.ui.inverted.yellow.basic.buttons .button,.ui.inverted.yellow.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.yellow.basic.button:hover,.ui.inverted.yellow.basic.buttons .button:hover,.ui.inverted.yellow.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ffdf05 inset!important;box-shadow:0 0 0 2px #ffdf05 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.button:focus,.ui.inverted.yellow.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #f5d500 inset!important;box-shadow:0 0 0 2px #f5d500 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.active.button,.ui.inverted.yellow.basic.buttons .active.button,.ui.inverted.yellow.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ffdf05 inset!important;box-shadow:0 0 0 2px #ffdf05 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.button:active,.ui.inverted.yellow.basic.buttons .button:active,.ui.inverted.yellow.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #ebcd00 inset!important;box-shadow:0 0 0 2px #ebcd00 inset!important;color:#ffe21f!important}.ui.primary.button,.ui.primary.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.primary.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.primary.button:hover,.ui.primary.buttons .button:hover{background-color:#1678c2;color:#fff;text-shadow:none}.ui.primary.button:focus,.ui.primary.buttons .button:focus{background-color:#0d71bb;color:#fff;text-shadow:none}.ui.primary.button:active,.ui.primary.buttons .button:active{background-color:#1a69a4;color:#fff;text-shadow:none}.ui.primary.active.button,.ui.primary.button .active.button:active,.ui.primary.buttons .active.button,.ui.primary.buttons .active.button:active{background-color:#1279c6;color:#fff;text-shadow:none}.ui.basic.primary.button,.ui.basic.primary.buttons .button{-webkit-box-shadow:0 0 0 1px #2185d0 inset!important;box-shadow:0 0 0 1px #2185d0 inset!important;color:#2185d0!important}.ui.basic.primary.button:hover,.ui.basic.primary.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1678c2 inset!important;box-shadow:0 0 0 1px #1678c2 inset!important;color:#1678c2!important}.ui.basic.primary.button:focus,.ui.basic.primary.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0d71bb inset!important;box-shadow:0 0 0 1px #0d71bb inset!important;color:#1678c2!important}.ui.basic.primary.active.button,.ui.basic.primary.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1279c6 inset!important;box-shadow:0 0 0 1px #1279c6 inset!important;color:#1a69a4!important}.ui.basic.primary.button:active,.ui.basic.primary.buttons .button:active{-webkit-box-shadow:0 0 0 1px #1a69a4 inset!important;box-shadow:0 0 0 1px #1a69a4 inset!important;color:#1a69a4!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.inverted.primary.button,.ui.inverted.primary.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #54c8ff inset!important;box-shadow:0 0 0 2px #54c8ff inset!important;color:#54c8ff}.ui.inverted.primary.button.active,.ui.inverted.primary.button:active,.ui.inverted.primary.button:focus,.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button.active,.ui.inverted.primary.buttons .button:active,.ui.inverted.primary.buttons .button:focus,.ui.inverted.primary.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button:hover{background-color:#3ac0ff}.ui.inverted.primary.button:focus,.ui.inverted.primary.buttons .button:focus{background-color:#2bbbff}.ui.inverted.primary.active.button,.ui.inverted.primary.buttons .active.button{background-color:#3ac0ff}.ui.inverted.primary.button:active,.ui.inverted.primary.buttons .button:active{background-color:#21b8ff}.ui.inverted.primary.basic.button,.ui.inverted.primary.basic.buttons .button,.ui.inverted.primary.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.primary.basic.button:hover,.ui.inverted.primary.basic.buttons .button:hover,.ui.inverted.primary.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #3ac0ff inset!important;box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.button:focus,.ui.inverted.primary.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #2bbbff inset!important;box-shadow:0 0 0 2px #2bbbff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.active.button,.ui.inverted.primary.basic.buttons .active.button,.ui.inverted.primary.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #3ac0ff inset!important;box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.button:active,.ui.inverted.primary.basic.buttons .button:active,.ui.inverted.primary.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #21b8ff inset!important;box-shadow:0 0 0 2px #21b8ff inset!important;color:#54c8ff!important}.ui.secondary.button,.ui.secondary.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.secondary.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.secondary.button:hover,.ui.secondary.buttons .button:hover{background-color:#27292a;color:#fff;text-shadow:none}.ui.secondary.button:focus,.ui.secondary.buttons .button:focus{background-color:#2e3032;color:#fff;text-shadow:none}.ui.secondary.button:active,.ui.secondary.buttons .button:active{background-color:#343637;color:#fff;text-shadow:none}.ui.secondary.active.button,.ui.secondary.button .active.button:active,.ui.secondary.buttons .active.button,.ui.secondary.buttons .active.button:active{background-color:#27292a;color:#fff;text-shadow:none}.ui.basic.secondary.button,.ui.basic.secondary.buttons .button{-webkit-box-shadow:0 0 0 1px #1b1c1d inset!important;box-shadow:0 0 0 1px #1b1c1d inset!important;color:#1b1c1d!important}.ui.basic.secondary.button:hover,.ui.basic.secondary.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #27292a inset!important;box-shadow:0 0 0 1px #27292a inset!important;color:#27292a!important}.ui.basic.secondary.button:focus,.ui.basic.secondary.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #2e3032 inset!important;box-shadow:0 0 0 1px #2e3032 inset!important;color:#27292a!important}.ui.basic.secondary.active.button,.ui.basic.secondary.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #27292a inset!important;box-shadow:0 0 0 1px #27292a inset!important;color:#343637!important}.ui.basic.secondary.button:active,.ui.basic.secondary.buttons .button:active{-webkit-box-shadow:0 0 0 1px #343637 inset!important;box-shadow:0 0 0 1px #343637 inset!important;color:#343637!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.inverted.secondary.button,.ui.inverted.secondary.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #545454 inset!important;box-shadow:0 0 0 2px #545454 inset!important;color:#545454}.ui.inverted.secondary.button.active,.ui.inverted.secondary.button:active,.ui.inverted.secondary.button:focus,.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button.active,.ui.inverted.secondary.buttons .button:active,.ui.inverted.secondary.buttons .button:focus,.ui.inverted.secondary.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button:hover{background-color:#616161}.ui.inverted.secondary.button:focus,.ui.inverted.secondary.buttons .button:focus{background-color:#686868}.ui.inverted.secondary.active.button,.ui.inverted.secondary.buttons .active.button{background-color:#616161}.ui.inverted.secondary.button:active,.ui.inverted.secondary.buttons .button:active{background-color:#6e6e6e}.ui.inverted.secondary.basic.button,.ui.inverted.secondary.basic.buttons .button,.ui.inverted.secondary.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.secondary.basic.button:hover,.ui.inverted.secondary.basic.buttons .button:hover,.ui.inverted.secondary.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #616161 inset!important;box-shadow:0 0 0 2px #616161 inset!important;color:#545454!important}.ui.inverted.secondary.basic.button:focus,.ui.inverted.secondary.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #686868 inset!important;box-shadow:0 0 0 2px #686868 inset!important;color:#545454!important}.ui.inverted.secondary.basic.active.button,.ui.inverted.secondary.basic.buttons .active.button,.ui.inverted.secondary.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #616161 inset!important;box-shadow:0 0 0 2px #616161 inset!important;color:#545454!important}.ui.inverted.secondary.basic.button:active,.ui.inverted.secondary.basic.buttons .button:active,.ui.inverted.secondary.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #6e6e6e inset!important;box-shadow:0 0 0 2px #6e6e6e inset!important;color:#545454!important}.ui.positive.button,.ui.positive.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.positive.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.positive.button:hover,.ui.positive.buttons .button:hover{background-color:#16ab39;color:#fff;text-shadow:none}.ui.positive.button:focus,.ui.positive.buttons .button:focus{background-color:#0ea432;color:#fff;text-shadow:none}.ui.positive.button:active,.ui.positive.buttons .button:active{background-color:#198f35;color:#fff;text-shadow:none}.ui.positive.active.button,.ui.positive.button .active.button:active,.ui.positive.buttons .active.button,.ui.positive.buttons .active.button:active{background-color:#13ae38;color:#fff;text-shadow:none}.ui.basic.positive.button,.ui.basic.positive.buttons .button{-webkit-box-shadow:0 0 0 1px #21ba45 inset!important;box-shadow:0 0 0 1px #21ba45 inset!important;color:#21ba45!important}.ui.basic.positive.button:hover,.ui.basic.positive.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #16ab39 inset!important;box-shadow:0 0 0 1px #16ab39 inset!important;color:#16ab39!important}.ui.basic.positive.button:focus,.ui.basic.positive.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0ea432 inset!important;box-shadow:0 0 0 1px #0ea432 inset!important;color:#16ab39!important}.ui.basic.positive.active.button,.ui.basic.positive.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #13ae38 inset!important;box-shadow:0 0 0 1px #13ae38 inset!important;color:#198f35!important}.ui.basic.positive.button:active,.ui.basic.positive.buttons .button:active{-webkit-box-shadow:0 0 0 1px #198f35 inset!important;box-shadow:0 0 0 1px #198f35 inset!important;color:#198f35!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.negative.button,.ui.negative.buttons .button{background-color:#db2828;color:#fff;text-shadow:none;background-image:none}.ui.negative.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.negative.button:hover,.ui.negative.buttons .button:hover{background-color:#d01919;color:#fff;text-shadow:none}.ui.negative.button:focus,.ui.negative.buttons .button:focus{background-color:#ca1010;color:#fff;text-shadow:none}.ui.negative.button:active,.ui.negative.buttons .button:active{background-color:#b21e1e;color:#fff;text-shadow:none}.ui.negative.active.button,.ui.negative.button .active.button:active,.ui.negative.buttons .active.button,.ui.negative.buttons .active.button:active{background-color:#d41515;color:#fff;text-shadow:none}.ui.basic.negative.button,.ui.basic.negative.buttons .button{-webkit-box-shadow:0 0 0 1px #db2828 inset!important;box-shadow:0 0 0 1px #db2828 inset!important;color:#db2828!important}.ui.basic.negative.button:hover,.ui.basic.negative.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d01919 inset!important;box-shadow:0 0 0 1px #d01919 inset!important;color:#d01919!important}.ui.basic.negative.button:focus,.ui.basic.negative.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #ca1010 inset!important;box-shadow:0 0 0 1px #ca1010 inset!important;color:#d01919!important}.ui.basic.negative.active.button,.ui.basic.negative.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d41515 inset!important;box-shadow:0 0 0 1px #d41515 inset!important;color:#b21e1e!important}.ui.basic.negative.button:active,.ui.basic.negative.buttons .button:active{-webkit-box-shadow:0 0 0 1px #b21e1e inset!important;box-shadow:0 0 0 1px #b21e1e inset!important;color:#b21e1e!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.buttons{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;font-size:0;vertical-align:baseline;margin:0 .25em 0 0}.ui.buttons:not(.basic):not(.inverted){-webkit-box-shadow:none;box-shadow:none}.ui.buttons:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.buttons .button{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;border-radius:0;margin:0}.ui.buttons:not(.basic):not(.inverted)>.button,.ui.buttons>.ui.button:not(.basic):not(.inverted){-webkit-box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.buttons .button:first-child{border-left:none;margin-left:0;border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.buttons .button:last-child{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.buttons{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.vertical.buttons .button{display:block;float:none;width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.ui.vertical.buttons .button:first-child{border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.vertical.buttons .button:last-child{margin-bottom:0;border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.buttons .button:only-child{border-radius:.28571429rem}/*! - * # Semantic UI 2.4.0 - Container - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.container{display:block;max-width:100%!important}@media only screen and (max-width:767px){.ui.container{width:auto!important;margin-left:1em!important;margin-right:1em!important}.ui.grid.container{width:auto!important}.ui.relaxed.grid.container{width:auto!important}.ui.very.relaxed.grid.container{width:auto!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.container{width:723px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(723px + 2rem)!important}.ui.relaxed.grid.container{width:calc(723px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(723px + 5rem)!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.container{width:933px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(933px + 2rem)!important}.ui.relaxed.grid.container{width:calc(933px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(933px + 5rem)!important}}@media only screen and (min-width:1200px){.ui.container{width:1127px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(1127px + 2rem)!important}.ui.relaxed.grid.container{width:calc(1127px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(1127px + 5rem)!important}}.ui.text.container{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;max-width:700px!important;line-height:1.5}.ui.text.container{font-size:1.14285714rem}.ui.fluid.container{width:100%}.ui[class*="left aligned"].container{text-align:left}.ui[class*="center aligned"].container{text-align:center}.ui[class*="right aligned"].container{text-align:right}.ui.justified.container{text-align:justify;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}/*! - * # Semantic UI 2.4.0 - Divider - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.divider{margin:1rem 0;line-height:1;height:0;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:rgba(0,0,0,.85);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ui.divider:not(.vertical):not(.horizontal){border-top:1px solid rgba(34,36,38,.15);border-bottom:1px solid rgba(255,255,255,.1)}.ui.grid>.column+.divider,.ui.grid>.row>.column+.divider{left:auto}.ui.horizontal.divider{display:table;white-space:nowrap;height:auto;margin:'';line-height:1;text-align:center}.ui.horizontal.divider:after,.ui.horizontal.divider:before{content:'';display:table-cell;position:relative;top:50%;width:50%;background-repeat:no-repeat}.ui.horizontal.divider:before{background-position:right 1em top 50%}.ui.horizontal.divider:after{background-position:left 1em top 50%}.ui.vertical.divider{position:absolute;z-index:2;top:50%;left:50%;margin:0;padding:0;width:auto;height:50%;line-height:0;text-align:center;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.ui.vertical.divider:after,.ui.vertical.divider:before{position:absolute;left:50%;content:'';z-index:3;border-left:1px solid rgba(34,36,38,.15);border-right:1px solid rgba(255,255,255,.1);width:0%;height:calc(100% - 1rem)}.ui.vertical.divider:before{top:-100%}.ui.vertical.divider:after{top:auto;bottom:0}@media only screen and (max-width:767px){.ui.grid .stackable.row .ui.vertical.divider,.ui.stackable.grid .ui.vertical.divider{display:table;white-space:nowrap;height:auto;margin:'';overflow:hidden;line-height:1;text-align:center;position:static;top:0;left:0;-webkit-transform:none;transform:none}.ui.grid .stackable.row .ui.vertical.divider:after,.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:before{position:static;left:0;border-left:none;border-right:none;content:'';display:table-cell;position:relative;top:50%;width:50%;background-repeat:no-repeat}.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:before{background-position:right 1em top 50%}.ui.grid .stackable.row .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:after{background-position:left 1em top 50%}}.ui.divider>.icon{margin:0;font-size:1rem;height:1em;vertical-align:middle}.ui.hidden.divider{border-color:transparent!important}.ui.hidden.divider:after,.ui.hidden.divider:before{display:none}.ui.divider.inverted,.ui.horizontal.inverted.divider,.ui.vertical.inverted.divider{color:#fff}.ui.divider.inverted,.ui.divider.inverted:after,.ui.divider.inverted:before{border-top-color:rgba(34,36,38,.15)!important;border-left-color:rgba(34,36,38,.15)!important;border-bottom-color:rgba(255,255,255,.15)!important;border-right-color:rgba(255,255,255,.15)!important}.ui.fitted.divider{margin:0}.ui.clearing.divider{clear:both}.ui.section.divider{margin-top:2rem;margin-bottom:2rem}.ui.divider{font-size:1rem}.ui.horizontal.divider:after,.ui.horizontal.divider:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC)}@media only screen and (max-width:767px){.ui.grid .stackable.row .ui.vertical.divider:after,.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC)}}/*! - * # Semantic UI 2.4.0 - Flag - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */i.flag:not(.icon){display:inline-block;width:16px;height:11px;line-height:11px;vertical-align:baseline;margin:0 .5em 0 0;text-decoration:inherit;speak:none;font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.flag:not(.icon):before{display:inline-block;content:'';background:url(themes/default/assets/images/flags.png) no-repeat -108px -1976px;width:16px;height:11px}i.flag.ad:before,i.flag.andorra:before{background-position:0 0}i.flag.ae:before,i.flag.uae:before,i.flag.united.arab.emirates:before{background-position:0 -26px}i.flag.af:before,i.flag.afghanistan:before{background-position:0 -52px}i.flag.ag:before,i.flag.antigua:before{background-position:0 -78px}i.flag.ai:before,i.flag.anguilla:before{background-position:0 -104px}i.flag.al:before,i.flag.albania:before{background-position:0 -130px}i.flag.am:before,i.flag.armenia:before{background-position:0 -156px}i.flag.an:before,i.flag.netherlands.antilles:before{background-position:0 -182px}i.flag.angola:before,i.flag.ao:before{background-position:0 -208px}i.flag.ar:before,i.flag.argentina:before{background-position:0 -234px}i.flag.american.samoa:before,i.flag.as:before{background-position:0 -260px}i.flag.at:before,i.flag.austria:before{background-position:0 -286px}i.flag.au:before,i.flag.australia:before{background-position:0 -312px}i.flag.aruba:before,i.flag.aw:before{background-position:0 -338px}i.flag.aland.islands:before,i.flag.ax:before{background-position:0 -364px}i.flag.az:before,i.flag.azerbaijan:before{background-position:0 -390px}i.flag.ba:before,i.flag.bosnia:before{background-position:0 -416px}i.flag.barbados:before,i.flag.bb:before{background-position:0 -442px}i.flag.bangladesh:before,i.flag.bd:before{background-position:0 -468px}i.flag.be:before,i.flag.belgium:before{background-position:0 -494px}i.flag.bf:before,i.flag.burkina.faso:before{background-position:0 -520px}i.flag.bg:before,i.flag.bulgaria:before{background-position:0 -546px}i.flag.bahrain:before,i.flag.bh:before{background-position:0 -572px}i.flag.bi:before,i.flag.burundi:before{background-position:0 -598px}i.flag.benin:before,i.flag.bj:before{background-position:0 -624px}i.flag.bermuda:before,i.flag.bm:before{background-position:0 -650px}i.flag.bn:before,i.flag.brunei:before{background-position:0 -676px}i.flag.bo:before,i.flag.bolivia:before{background-position:0 -702px}i.flag.br:before,i.flag.brazil:before{background-position:0 -728px}i.flag.bahamas:before,i.flag.bs:before{background-position:0 -754px}i.flag.bhutan:before,i.flag.bt:before{background-position:0 -780px}i.flag.bouvet.island:before,i.flag.bv:before{background-position:0 -806px}i.flag.botswana:before,i.flag.bw:before{background-position:0 -832px}i.flag.belarus:before,i.flag.by:before{background-position:0 -858px}i.flag.belize:before,i.flag.bz:before{background-position:0 -884px}i.flag.ca:before,i.flag.canada:before{background-position:0 -910px}i.flag.cc:before,i.flag.cocos.islands:before{background-position:0 -962px}i.flag.cd:before,i.flag.congo:before{background-position:0 -988px}i.flag.central.african.republic:before,i.flag.cf:before{background-position:0 -1014px}i.flag.cg:before,i.flag.congo.brazzaville:before{background-position:0 -1040px}i.flag.ch:before,i.flag.switzerland:before{background-position:0 -1066px}i.flag.ci:before,i.flag.cote.divoire:before{background-position:0 -1092px}i.flag.ck:before,i.flag.cook.islands:before{background-position:0 -1118px}i.flag.chile:before,i.flag.cl:before{background-position:0 -1144px}i.flag.cameroon:before,i.flag.cm:before{background-position:0 -1170px}i.flag.china:before,i.flag.cn:before{background-position:0 -1196px}i.flag.co:before,i.flag.colombia:before{background-position:0 -1222px}i.flag.costa.rica:before,i.flag.cr:before{background-position:0 -1248px}i.flag.cs:before,i.flag.serbia:before{background-position:0 -1274px}i.flag.cu:before,i.flag.cuba:before{background-position:0 -1300px}i.flag.cape.verde:before,i.flag.cv:before{background-position:0 -1326px}i.flag.christmas.island:before,i.flag.cx:before{background-position:0 -1352px}i.flag.cy:before,i.flag.cyprus:before{background-position:0 -1378px}i.flag.cz:before,i.flag.czech.republic:before{background-position:0 -1404px}i.flag.de:before,i.flag.germany:before{background-position:0 -1430px}i.flag.dj:before,i.flag.djibouti:before{background-position:0 -1456px}i.flag.denmark:before,i.flag.dk:before{background-position:0 -1482px}i.flag.dm:before,i.flag.dominica:before{background-position:0 -1508px}i.flag.do:before,i.flag.dominican.republic:before{background-position:0 -1534px}i.flag.algeria:before,i.flag.dz:before{background-position:0 -1560px}i.flag.ec:before,i.flag.ecuador:before{background-position:0 -1586px}i.flag.ee:before,i.flag.estonia:before{background-position:0 -1612px}i.flag.eg:before,i.flag.egypt:before{background-position:0 -1638px}i.flag.eh:before,i.flag.western.sahara:before{background-position:0 -1664px}i.flag.england:before,i.flag.gb.eng:before{background-position:0 -1690px}i.flag.er:before,i.flag.eritrea:before{background-position:0 -1716px}i.flag.es:before,i.flag.spain:before{background-position:0 -1742px}i.flag.et:before,i.flag.ethiopia:before{background-position:0 -1768px}i.flag.eu:before,i.flag.european.union:before{background-position:0 -1794px}i.flag.fi:before,i.flag.finland:before{background-position:0 -1846px}i.flag.fiji:before,i.flag.fj:before{background-position:0 -1872px}i.flag.falkland.islands:before,i.flag.fk:before{background-position:0 -1898px}i.flag.fm:before,i.flag.micronesia:before{background-position:0 -1924px}i.flag.faroe.islands:before,i.flag.fo:before{background-position:0 -1950px}i.flag.fr:before,i.flag.france:before{background-position:0 -1976px}i.flag.ga:before,i.flag.gabon:before{background-position:-36px 0}i.flag.gb:before,i.flag.uk:before,i.flag.united.kingdom:before{background-position:-36px -26px}i.flag.gd:before,i.flag.grenada:before{background-position:-36px -52px}i.flag.ge:before,i.flag.georgia:before{background-position:-36px -78px}i.flag.french.guiana:before,i.flag.gf:before{background-position:-36px -104px}i.flag.gh:before,i.flag.ghana:before{background-position:-36px -130px}i.flag.gi:before,i.flag.gibraltar:before{background-position:-36px -156px}i.flag.gl:before,i.flag.greenland:before{background-position:-36px -182px}i.flag.gambia:before,i.flag.gm:before{background-position:-36px -208px}i.flag.gn:before,i.flag.guinea:before{background-position:-36px -234px}i.flag.gp:before,i.flag.guadeloupe:before{background-position:-36px -260px}i.flag.equatorial.guinea:before,i.flag.gq:before{background-position:-36px -286px}i.flag.gr:before,i.flag.greece:before{background-position:-36px -312px}i.flag.gs:before,i.flag.sandwich.islands:before{background-position:-36px -338px}i.flag.gt:before,i.flag.guatemala:before{background-position:-36px -364px}i.flag.gu:before,i.flag.guam:before{background-position:-36px -390px}i.flag.guinea-bissau:before,i.flag.gw:before{background-position:-36px -416px}i.flag.guyana:before,i.flag.gy:before{background-position:-36px -442px}i.flag.hk:before,i.flag.hong.kong:before{background-position:-36px -468px}i.flag.heard.island:before,i.flag.hm:before{background-position:-36px -494px}i.flag.hn:before,i.flag.honduras:before{background-position:-36px -520px}i.flag.croatia:before,i.flag.hr:before{background-position:-36px -546px}i.flag.haiti:before,i.flag.ht:before{background-position:-36px -572px}i.flag.hu:before,i.flag.hungary:before{background-position:-36px -598px}i.flag.id:before,i.flag.indonesia:before{background-position:-36px -624px}i.flag.ie:before,i.flag.ireland:before{background-position:-36px -650px}i.flag.il:before,i.flag.israel:before{background-position:-36px -676px}i.flag.in:before,i.flag.india:before{background-position:-36px -702px}i.flag.indian.ocean.territory:before,i.flag.io:before{background-position:-36px -728px}i.flag.iq:before,i.flag.iraq:before{background-position:-36px -754px}i.flag.ir:before,i.flag.iran:before{background-position:-36px -780px}i.flag.iceland:before,i.flag.is:before{background-position:-36px -806px}i.flag.it:before,i.flag.italy:before{background-position:-36px -832px}i.flag.jamaica:before,i.flag.jm:before{background-position:-36px -858px}i.flag.jo:before,i.flag.jordan:before{background-position:-36px -884px}i.flag.japan:before,i.flag.jp:before{background-position:-36px -910px}i.flag.ke:before,i.flag.kenya:before{background-position:-36px -936px}i.flag.kg:before,i.flag.kyrgyzstan:before{background-position:-36px -962px}i.flag.cambodia:before,i.flag.kh:before{background-position:-36px -988px}i.flag.ki:before,i.flag.kiribati:before{background-position:-36px -1014px}i.flag.comoros:before,i.flag.km:before{background-position:-36px -1040px}i.flag.kn:before,i.flag.saint.kitts.and.nevis:before{background-position:-36px -1066px}i.flag.kp:before,i.flag.north.korea:before{background-position:-36px -1092px}i.flag.kr:before,i.flag.south.korea:before{background-position:-36px -1118px}i.flag.kuwait:before,i.flag.kw:before{background-position:-36px -1144px}i.flag.cayman.islands:before,i.flag.ky:before{background-position:-36px -1170px}i.flag.kazakhstan:before,i.flag.kz:before{background-position:-36px -1196px}i.flag.la:before,i.flag.laos:before{background-position:-36px -1222px}i.flag.lb:before,i.flag.lebanon:before{background-position:-36px -1248px}i.flag.lc:before,i.flag.saint.lucia:before{background-position:-36px -1274px}i.flag.li:before,i.flag.liechtenstein:before{background-position:-36px -1300px}i.flag.lk:before,i.flag.sri.lanka:before{background-position:-36px -1326px}i.flag.liberia:before,i.flag.lr:before{background-position:-36px -1352px}i.flag.lesotho:before,i.flag.ls:before{background-position:-36px -1378px}i.flag.lithuania:before,i.flag.lt:before{background-position:-36px -1404px}i.flag.lu:before,i.flag.luxembourg:before{background-position:-36px -1430px}i.flag.latvia:before,i.flag.lv:before{background-position:-36px -1456px}i.flag.libya:before,i.flag.ly:before{background-position:-36px -1482px}i.flag.ma:before,i.flag.morocco:before{background-position:-36px -1508px}i.flag.mc:before,i.flag.monaco:before{background-position:-36px -1534px}i.flag.md:before,i.flag.moldova:before{background-position:-36px -1560px}i.flag.me:before,i.flag.montenegro:before{background-position:-36px -1586px}i.flag.madagascar:before,i.flag.mg:before{background-position:-36px -1613px}i.flag.marshall.islands:before,i.flag.mh:before{background-position:-36px -1639px}i.flag.macedonia:before,i.flag.mk:before{background-position:-36px -1665px}i.flag.mali:before,i.flag.ml:before{background-position:-36px -1691px}i.flag.burma:before,i.flag.mm:before,i.flag.myanmar:before{background-position:-73px -1821px}i.flag.mn:before,i.flag.mongolia:before{background-position:-36px -1743px}i.flag.macau:before,i.flag.mo:before{background-position:-36px -1769px}i.flag.mp:before,i.flag.northern.mariana.islands:before{background-position:-36px -1795px}i.flag.martinique:before,i.flag.mq:before{background-position:-36px -1821px}i.flag.mauritania:before,i.flag.mr:before{background-position:-36px -1847px}i.flag.montserrat:before,i.flag.ms:before{background-position:-36px -1873px}i.flag.malta:before,i.flag.mt:before{background-position:-36px -1899px}i.flag.mauritius:before,i.flag.mu:before{background-position:-36px -1925px}i.flag.maldives:before,i.flag.mv:before{background-position:-36px -1951px}i.flag.malawi:before,i.flag.mw:before{background-position:-36px -1977px}i.flag.mexico:before,i.flag.mx:before{background-position:-72px 0}i.flag.malaysia:before,i.flag.my:before{background-position:-72px -26px}i.flag.mozambique:before,i.flag.mz:before{background-position:-72px -52px}i.flag.na:before,i.flag.namibia:before{background-position:-72px -78px}i.flag.nc:before,i.flag.new.caledonia:before{background-position:-72px -104px}i.flag.ne:before,i.flag.niger:before{background-position:-72px -130px}i.flag.nf:before,i.flag.norfolk.island:before{background-position:-72px -156px}i.flag.ng:before,i.flag.nigeria:before{background-position:-72px -182px}i.flag.ni:before,i.flag.nicaragua:before{background-position:-72px -208px}i.flag.netherlands:before,i.flag.nl:before{background-position:-72px -234px}i.flag.no:before,i.flag.norway:before{background-position:-72px -260px}i.flag.nepal:before,i.flag.np:before{background-position:-72px -286px}i.flag.nauru:before,i.flag.nr:before{background-position:-72px -312px}i.flag.niue:before,i.flag.nu:before{background-position:-72px -338px}i.flag.new.zealand:before,i.flag.nz:before{background-position:-72px -364px}i.flag.om:before,i.flag.oman:before{background-position:-72px -390px}i.flag.pa:before,i.flag.panama:before{background-position:-72px -416px}i.flag.pe:before,i.flag.peru:before{background-position:-72px -442px}i.flag.french.polynesia:before,i.flag.pf:before{background-position:-72px -468px}i.flag.new.guinea:before,i.flag.pg:before{background-position:-72px -494px}i.flag.ph:before,i.flag.philippines:before{background-position:-72px -520px}i.flag.pakistan:before,i.flag.pk:before{background-position:-72px -546px}i.flag.pl:before,i.flag.poland:before{background-position:-72px -572px}i.flag.pm:before,i.flag.saint.pierre:before{background-position:-72px -598px}i.flag.pitcairn.islands:before,i.flag.pn:before{background-position:-72px -624px}i.flag.pr:before,i.flag.puerto.rico:before{background-position:-72px -650px}i.flag.palestine:before,i.flag.ps:before{background-position:-72px -676px}i.flag.portugal:before,i.flag.pt:before{background-position:-72px -702px}i.flag.palau:before,i.flag.pw:before{background-position:-72px -728px}i.flag.paraguay:before,i.flag.py:before{background-position:-72px -754px}i.flag.qa:before,i.flag.qatar:before{background-position:-72px -780px}i.flag.re:before,i.flag.reunion:before{background-position:-72px -806px}i.flag.ro:before,i.flag.romania:before{background-position:-72px -832px}i.flag.rs:before,i.flag.serbia:before{background-position:-72px -858px}i.flag.ru:before,i.flag.russia:before{background-position:-72px -884px}i.flag.rw:before,i.flag.rwanda:before{background-position:-72px -910px}i.flag.sa:before,i.flag.saudi.arabia:before{background-position:-72px -936px}i.flag.sb:before,i.flag.solomon.islands:before{background-position:-72px -962px}i.flag.sc:before,i.flag.seychelles:before{background-position:-72px -988px}i.flag.gb.sct:before,i.flag.scotland:before{background-position:-72px -1014px}i.flag.sd:before,i.flag.sudan:before{background-position:-72px -1040px}i.flag.se:before,i.flag.sweden:before{background-position:-72px -1066px}i.flag.sg:before,i.flag.singapore:before{background-position:-72px -1092px}i.flag.saint.helena:before,i.flag.sh:before{background-position:-72px -1118px}i.flag.si:before,i.flag.slovenia:before{background-position:-72px -1144px}i.flag.jan.mayen:before,i.flag.sj:before,i.flag.svalbard:before{background-position:-72px -1170px}i.flag.sk:before,i.flag.slovakia:before{background-position:-72px -1196px}i.flag.sierra.leone:before,i.flag.sl:before{background-position:-72px -1222px}i.flag.san.marino:before,i.flag.sm:before{background-position:-72px -1248px}i.flag.senegal:before,i.flag.sn:before{background-position:-72px -1274px}i.flag.so:before,i.flag.somalia:before{background-position:-72px -1300px}i.flag.sr:before,i.flag.suriname:before{background-position:-72px -1326px}i.flag.sao.tome:before,i.flag.st:before{background-position:-72px -1352px}i.flag.el.salvador:before,i.flag.sv:before{background-position:-72px -1378px}i.flag.sy:before,i.flag.syria:before{background-position:-72px -1404px}i.flag.swaziland:before,i.flag.sz:before{background-position:-72px -1430px}i.flag.caicos.islands:before,i.flag.tc:before{background-position:-72px -1456px}i.flag.chad:before,i.flag.td:before{background-position:-72px -1482px}i.flag.french.territories:before,i.flag.tf:before{background-position:-72px -1508px}i.flag.tg:before,i.flag.togo:before{background-position:-72px -1534px}i.flag.th:before,i.flag.thailand:before{background-position:-72px -1560px}i.flag.tajikistan:before,i.flag.tj:before{background-position:-72px -1586px}i.flag.tk:before,i.flag.tokelau:before{background-position:-72px -1612px}i.flag.timorleste:before,i.flag.tl:before{background-position:-72px -1638px}i.flag.tm:before,i.flag.turkmenistan:before{background-position:-72px -1664px}i.flag.tn:before,i.flag.tunisia:before{background-position:-72px -1690px}i.flag.to:before,i.flag.tonga:before{background-position:-72px -1716px}i.flag.tr:before,i.flag.turkey:before{background-position:-72px -1742px}i.flag.trinidad:before,i.flag.tt:before{background-position:-72px -1768px}i.flag.tuvalu:before,i.flag.tv:before{background-position:-72px -1794px}i.flag.taiwan:before,i.flag.tw:before{background-position:-72px -1820px}i.flag.tanzania:before,i.flag.tz:before{background-position:-72px -1846px}i.flag.ua:before,i.flag.ukraine:before{background-position:-72px -1872px}i.flag.ug:before,i.flag.uganda:before{background-position:-72px -1898px}i.flag.um:before,i.flag.us.minor.islands:before{background-position:-72px -1924px}i.flag.america:before,i.flag.united.states:before,i.flag.us:before{background-position:-72px -1950px}i.flag.uruguay:before,i.flag.uy:before{background-position:-72px -1976px}i.flag.uz:before,i.flag.uzbekistan:before{background-position:-108px 0}i.flag.va:before,i.flag.vatican.city:before{background-position:-108px -26px}i.flag.saint.vincent:before,i.flag.vc:before{background-position:-108px -52px}i.flag.ve:before,i.flag.venezuela:before{background-position:-108px -78px}i.flag.british.virgin.islands:before,i.flag.vg:before{background-position:-108px -104px}i.flag.us.virgin.islands:before,i.flag.vi:before{background-position:-108px -130px}i.flag.vietnam:before,i.flag.vn:before{background-position:-108px -156px}i.flag.vanuatu:before,i.flag.vu:before{background-position:-108px -182px}i.flag.gb.wls:before,i.flag.wales:before{background-position:-108px -208px}i.flag.wallis.and.futuna:before,i.flag.wf:before{background-position:-108px -234px}i.flag.samoa:before,i.flag.ws:before{background-position:-108px -260px}i.flag.ye:before,i.flag.yemen:before{background-position:-108px -286px}i.flag.mayotte:before,i.flag.yt:before{background-position:-108px -312px}i.flag.south.africa:before,i.flag.za:before{background-position:-108px -338px}i.flag.zambia:before,i.flag.zm:before{background-position:-108px -364px}i.flag.zimbabwe:before,i.flag.zw:before{background-position:-108px -390px}/*! - * # Semantic UI 2.4.0 - Header - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.header{border:none;margin:calc(2rem - .14285714em) 0 1rem;padding:0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;line-height:1.28571429em;text-transform:none;color:rgba(0,0,0,.87)}.ui.header:first-child{margin-top:-.14285714em}.ui.header:last-child{margin-bottom:0}.ui.header .sub.header{display:block;font-weight:400;padding:0;margin:0;font-size:1rem;line-height:1.2em;color:rgba(0,0,0,.6)}.ui.header>.icon{display:table-cell;opacity:1;font-size:1.5em;padding-top:0;vertical-align:middle}.ui.header .icon:only-child{display:inline-block;padding:0;margin-right:.75rem}.ui.header>.image:not(.icon),.ui.header>img{display:inline-block;margin-top:.14285714em;width:2.5em;height:auto;vertical-align:middle}.ui.header>.image:not(.icon):only-child,.ui.header>img:only-child{margin-right:.75rem}.ui.header .content{display:inline-block;vertical-align:top}.ui.header>.image+.content,.ui.header>img+.content{padding-left:.75rem;vertical-align:middle}.ui.header>.icon+.content{padding-left:.75rem;display:table-cell;vertical-align:middle}.ui.header .ui.label{font-size:'';margin-left:.5rem;vertical-align:middle}.ui.header+p{margin-top:0}h1.ui.header{font-size:2rem}h2.ui.header{font-size:1.71428571rem}h3.ui.header{font-size:1.28571429rem}h4.ui.header{font-size:1.07142857rem}h5.ui.header{font-size:1rem}h1.ui.header .sub.header{font-size:1.14285714rem}h2.ui.header .sub.header{font-size:1.14285714rem}h3.ui.header .sub.header{font-size:1rem}h4.ui.header .sub.header{font-size:1rem}h5.ui.header .sub.header{font-size:.92857143rem}.ui.huge.header{min-height:1em;font-size:2em}.ui.large.header{font-size:1.71428571em}.ui.medium.header{font-size:1.28571429em}.ui.small.header{font-size:1.07142857em}.ui.tiny.header{font-size:1em}.ui.huge.header .sub.header{font-size:1.14285714rem}.ui.large.header .sub.header{font-size:1.14285714rem}.ui.header .sub.header{font-size:1rem}.ui.small.header .sub.header{font-size:1rem}.ui.tiny.header .sub.header{font-size:.92857143rem}.ui.sub.header{padding:0;margin-bottom:.14285714rem;font-weight:700;font-size:.85714286em;text-transform:uppercase;color:''}.ui.small.sub.header{font-size:.78571429em}.ui.sub.header{font-size:.85714286em}.ui.large.sub.header{font-size:.92857143em}.ui.huge.sub.header{font-size:1em}.ui.icon.header{display:inline-block;text-align:center;margin:2rem 0 1rem}.ui.icon.header:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.icon.header:first-child{margin-top:0}.ui.icon.header .icon{float:none;display:block;width:auto;height:auto;line-height:1;padding:0;font-size:3em;margin:0 auto .5rem;opacity:1}.ui.icon.header .content{display:block;padding:0}.ui.icon.header .circular.icon{font-size:2em}.ui.icon.header .square.icon{font-size:2em}.ui.block.icon.header .icon{margin-bottom:0}.ui.icon.header.aligned{margin-left:auto;margin-right:auto;display:block}.ui.disabled.header{opacity:.45}.ui.inverted.header{color:#fff}.ui.inverted.header .sub.header{color:rgba(255,255,255,.8)}.ui.inverted.attached.header{background:#545454 -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:#545454 -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:#545454 linear-gradient(transparent,rgba(0,0,0,.05));-webkit-box-shadow:none;box-shadow:none;border-color:transparent}.ui.inverted.block.header{background:#545454 -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:#545454 -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:#545454 linear-gradient(transparent,rgba(0,0,0,.05));-webkit-box-shadow:none;box-shadow:none}.ui.inverted.block.header{border-bottom:none}.ui.red.header{color:#db2828!important}a.ui.red.header:hover{color:#d01919!important}.ui.red.dividing.header{border-bottom:2px solid #db2828}.ui.inverted.red.header{color:#ff695e!important}a.ui.inverted.red.header:hover{color:#ff5144!important}.ui.orange.header{color:#f2711c!important}a.ui.orange.header:hover{color:#f26202!important}.ui.orange.dividing.header{border-bottom:2px solid #f2711c}.ui.inverted.orange.header{color:#ff851b!important}a.ui.inverted.orange.header:hover{color:#ff7701!important}.ui.olive.header{color:#b5cc18!important}a.ui.olive.header:hover{color:#a7bd0d!important}.ui.olive.dividing.header{border-bottom:2px solid #b5cc18}.ui.inverted.olive.header{color:#d9e778!important}a.ui.inverted.olive.header:hover{color:#d8ea5c!important}.ui.yellow.header{color:#fbbd08!important}a.ui.yellow.header:hover{color:#eaae00!important}.ui.yellow.dividing.header{border-bottom:2px solid #fbbd08}.ui.inverted.yellow.header{color:#ffe21f!important}a.ui.inverted.yellow.header:hover{color:#ffdf05!important}.ui.green.header{color:#21ba45!important}a.ui.green.header:hover{color:#16ab39!important}.ui.green.dividing.header{border-bottom:2px solid #21ba45}.ui.inverted.green.header{color:#2ecc40!important}a.ui.inverted.green.header:hover{color:#22be34!important}.ui.teal.header{color:#00b5ad!important}a.ui.teal.header:hover{color:#009c95!important}.ui.teal.dividing.header{border-bottom:2px solid #00b5ad}.ui.inverted.teal.header{color:#6dffff!important}a.ui.inverted.teal.header:hover{color:#54ffff!important}.ui.blue.header{color:#2185d0!important}a.ui.blue.header:hover{color:#1678c2!important}.ui.blue.dividing.header{border-bottom:2px solid #2185d0}.ui.inverted.blue.header{color:#54c8ff!important}a.ui.inverted.blue.header:hover{color:#3ac0ff!important}.ui.violet.header{color:#6435c9!important}a.ui.violet.header:hover{color:#5829bb!important}.ui.violet.dividing.header{border-bottom:2px solid #6435c9}.ui.inverted.violet.header{color:#a291fb!important}a.ui.inverted.violet.header:hover{color:#8a73ff!important}.ui.purple.header{color:#a333c8!important}a.ui.purple.header:hover{color:#9627ba!important}.ui.purple.dividing.header{border-bottom:2px solid #a333c8}.ui.inverted.purple.header{color:#dc73ff!important}a.ui.inverted.purple.header:hover{color:#d65aff!important}.ui.pink.header{color:#e03997!important}a.ui.pink.header:hover{color:#e61a8d!important}.ui.pink.dividing.header{border-bottom:2px solid #e03997}.ui.inverted.pink.header{color:#ff8edf!important}a.ui.inverted.pink.header:hover{color:#ff74d8!important}.ui.brown.header{color:#a5673f!important}a.ui.brown.header:hover{color:#975b33!important}.ui.brown.dividing.header{border-bottom:2px solid #a5673f}.ui.inverted.brown.header{color:#d67c1c!important}a.ui.inverted.brown.header:hover{color:#c86f11!important}.ui.grey.header{color:#767676!important}a.ui.grey.header:hover{color:#838383!important}.ui.grey.dividing.header{border-bottom:2px solid #767676}.ui.inverted.grey.header{color:#dcddde!important}a.ui.inverted.grey.header:hover{color:#cfd0d2!important}.ui.left.aligned.header{text-align:left}.ui.right.aligned.header{text-align:right}.ui.center.aligned.header,.ui.centered.header{text-align:center}.ui.justified.header{text-align:justify}.ui.justified.header:after{display:inline-block;content:'';width:100%}.ui.floated.header,.ui[class*="left floated"].header{float:left;margin-top:0;margin-right:.5em}.ui[class*="right floated"].header{float:right;margin-top:0;margin-left:.5em}.ui.fitted.header{padding:0}.ui.dividing.header{padding-bottom:.21428571rem;border-bottom:1px solid rgba(34,36,38,.15)}.ui.dividing.header .sub.header{padding-bottom:.21428571rem}.ui.dividing.header .icon{margin-bottom:0}.ui.inverted.dividing.header{border-bottom-color:rgba(255,255,255,.1)}.ui.block.header{background:#f3f4f5;padding:.78571429rem 1rem;-webkit-box-shadow:none;box-shadow:none;border:1px solid #d4d4d5;border-radius:.28571429rem}.ui.tiny.block.header{font-size:.85714286rem}.ui.small.block.header{font-size:.92857143rem}.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1rem}.ui.large.block.header{font-size:1.14285714rem}.ui.huge.block.header{font-size:1.42857143rem}.ui.attached.header{background:#fff;padding:.78571429rem 1rem;margin-left:-1px;margin-right:-1px;-webkit-box-shadow:none;box-shadow:none;border:1px solid #d4d4d5}.ui.attached.block.header{background:#f3f4f5}.ui.attached:not(.top):not(.bottom).header{margin-top:0;margin-bottom:0;border-top:none;border-radius:0}.ui.top.attached.header{margin-bottom:0;border-radius:.28571429rem .28571429rem 0 0}.ui.bottom.attached.header{margin-top:0;border-top:none;border-radius:0 0 .28571429rem .28571429rem}.ui.tiny.attached.header{font-size:.85714286em}.ui.small.attached.header{font-size:.92857143em}.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1em}.ui.large.attached.header{font-size:1.14285714em}.ui.huge.attached.header{font-size:1.42857143em}.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1.28571429em}/*! - * # Semantic UI 2.4.0 - Icon - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */@font-face{font-family:Icons;src:url(themes/default/assets/fonts/icons.eot);src:url(themes/default/assets/fonts/icons.eot?#iefix) format('embedded-opentype'),url(themes/default/assets/fonts/icons.woff2) format('woff2'),url(themes/default/assets/fonts/icons.woff) format('woff'),url(themes/default/assets/fonts/icons.ttf) format('truetype'),url(themes/default/assets/fonts/icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon{display:inline-block;opacity:1;margin:0 .25rem 0 0;width:1.18em;height:1em;font-family:Icons;font-style:normal;font-weight:400;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.icon:before{background:0 0!important}i.icon.loading{height:1em;line-height:1;-webkit-animation:icon-loading 2s linear infinite;animation:icon-loading 2s linear infinite}@-webkit-keyframes icon-loading{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-loading{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}i.icon.hover{opacity:1!important}i.icon.active{opacity:1!important}i.emphasized.icon{opacity:1!important}i.disabled.icon{opacity:.45!important}i.fitted.icon{width:auto;margin:0!important}i.link.icon,i.link.icons{cursor:pointer;opacity:.8;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}i.link.icon:hover,i.link.icons:hover{opacity:1!important}i.circular.icon{border-radius:500em!important;line-height:1!important;padding:.5em 0!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;width:2em!important;height:2em!important}i.circular.inverted.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.flipped.icon,i.horizontally.flipped.icon{-webkit-transform:scale(-1,1);transform:scale(-1,1)}i.vertically.flipped.icon{-webkit-transform:scale(1,-1);transform:scale(1,-1)}i.clockwise.rotated.icon,i.right.rotated.icon,i.rotated.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}i.counterclockwise.rotated.icon,i.left.rotated.icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}i.bordered.icon{line-height:1;vertical-align:baseline;width:2em;height:2em;padding:.5em 0!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset}i.bordered.inverted.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.inverted.bordered.icon,i.inverted.circular.icon{background-color:#1b1c1d!important;color:#fff!important}i.inverted.icon{color:#fff}i.red.icon{color:#db2828!important}i.inverted.red.icon{color:#ff695e!important}i.inverted.bordered.red.icon,i.inverted.circular.red.icon{background-color:#db2828!important;color:#fff!important}i.orange.icon{color:#f2711c!important}i.inverted.orange.icon{color:#ff851b!important}i.inverted.bordered.orange.icon,i.inverted.circular.orange.icon{background-color:#f2711c!important;color:#fff!important}i.yellow.icon{color:#fbbd08!important}i.inverted.yellow.icon{color:#ffe21f!important}i.inverted.bordered.yellow.icon,i.inverted.circular.yellow.icon{background-color:#fbbd08!important;color:#fff!important}i.olive.icon{color:#b5cc18!important}i.inverted.olive.icon{color:#d9e778!important}i.inverted.bordered.olive.icon,i.inverted.circular.olive.icon{background-color:#b5cc18!important;color:#fff!important}i.green.icon{color:#21ba45!important}i.inverted.green.icon{color:#2ecc40!important}i.inverted.bordered.green.icon,i.inverted.circular.green.icon{background-color:#21ba45!important;color:#fff!important}i.teal.icon{color:#00b5ad!important}i.inverted.teal.icon{color:#6dffff!important}i.inverted.bordered.teal.icon,i.inverted.circular.teal.icon{background-color:#00b5ad!important;color:#fff!important}i.blue.icon{color:#2185d0!important}i.inverted.blue.icon{color:#54c8ff!important}i.inverted.bordered.blue.icon,i.inverted.circular.blue.icon{background-color:#2185d0!important;color:#fff!important}i.violet.icon{color:#6435c9!important}i.inverted.violet.icon{color:#a291fb!important}i.inverted.bordered.violet.icon,i.inverted.circular.violet.icon{background-color:#6435c9!important;color:#fff!important}i.purple.icon{color:#a333c8!important}i.inverted.purple.icon{color:#dc73ff!important}i.inverted.bordered.purple.icon,i.inverted.circular.purple.icon{background-color:#a333c8!important;color:#fff!important}i.pink.icon{color:#e03997!important}i.inverted.pink.icon{color:#ff8edf!important}i.inverted.bordered.pink.icon,i.inverted.circular.pink.icon{background-color:#e03997!important;color:#fff!important}i.brown.icon{color:#a5673f!important}i.inverted.brown.icon{color:#d67c1c!important}i.inverted.bordered.brown.icon,i.inverted.circular.brown.icon{background-color:#a5673f!important;color:#fff!important}i.grey.icon{color:#767676!important}i.inverted.grey.icon{color:#dcddde!important}i.inverted.bordered.grey.icon,i.inverted.circular.grey.icon{background-color:#767676!important;color:#fff!important}i.black.icon{color:#1b1c1d!important}i.inverted.black.icon{color:#545454!important}i.inverted.bordered.black.icon,i.inverted.circular.black.icon{background-color:#1b1c1d!important;color:#fff!important}i.mini.icon,i.mini.icons{line-height:1;font-size:.4em}i.tiny.icon,i.tiny.icons{line-height:1;font-size:.5em}i.small.icon,i.small.icons{line-height:1;font-size:.75em}i.icon,i.icons{font-size:1em}i.large.icon,i.large.icons{line-height:1;vertical-align:middle;font-size:1.5em}i.big.icon,i.big.icons{line-height:1;vertical-align:middle;font-size:2em}i.huge.icon,i.huge.icons{line-height:1;vertical-align:middle;font-size:4em}i.massive.icon,i.massive.icons{line-height:1;vertical-align:middle;font-size:8em}i.icons{display:inline-block;position:relative;line-height:1}i.icons .icon{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);margin:0;margin:0}i.icons .icon:first-child{position:static;width:auto;height:auto;vertical-align:top;-webkit-transform:none;transform:none;margin-right:.25rem}i.icons .corner.icon{top:auto;left:auto;right:0;bottom:0;-webkit-transform:none;transform:none;font-size:.45em;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}i.icons .top.right.corner.icon{top:0;left:auto;right:0;bottom:auto}i.icons .top.left.corner.icon{top:0;left:0;right:auto;bottom:auto}i.icons .bottom.left.corner.icon{top:auto;left:0;right:auto;bottom:0}i.icons .bottom.right.corner.icon{top:auto;left:auto;right:0;bottom:0}i.icons .inverted.corner.icon{text-shadow:-1px -1px 0 #1b1c1d,1px -1px 0 #1b1c1d,-1px 1px 0 #1b1c1d,1px 1px 0 #1b1c1d}i.icon.linkedin.in:before{content:"\f0e1"}i.icon.zoom.in:before{content:"\f00e"}i.icon.zoom.out:before{content:"\f010"}i.icon.sign.in:before{content:"\f2f6"}i.icon.in.cart:before{content:"\f218"}i.icon.log.out:before{content:"\f2f5"}i.icon.sign.out:before{content:"\f2f5"}i.icon.\35 00px:before{content:"\f26e"}i.icon.accessible.icon:before{content:"\f368"}i.icon.accusoft:before{content:"\f369"}i.icon.address.book:before{content:"\f2b9"}i.icon.address.card:before{content:"\f2bb"}i.icon.adjust:before{content:"\f042"}i.icon.adn:before{content:"\f170"}i.icon.adversal:before{content:"\f36a"}i.icon.affiliatetheme:before{content:"\f36b"}i.icon.algolia:before{content:"\f36c"}i.icon.align.center:before{content:"\f037"}i.icon.align.justify:before{content:"\f039"}i.icon.align.left:before{content:"\f036"}i.icon.align.right:before{content:"\f038"}i.icon.amazon:before{content:"\f270"}i.icon.amazon.pay:before{content:"\f42c"}i.icon.ambulance:before{content:"\f0f9"}i.icon.american.sign.language.interpreting:before{content:"\f2a3"}i.icon.amilia:before{content:"\f36d"}i.icon.anchor:before{content:"\f13d"}i.icon.android:before{content:"\f17b"}i.icon.angellist:before{content:"\f209"}i.icon.angle.double.down:before{content:"\f103"}i.icon.angle.double.left:before{content:"\f100"}i.icon.angle.double.right:before{content:"\f101"}i.icon.angle.double.up:before{content:"\f102"}i.icon.angle.down:before{content:"\f107"}i.icon.angle.left:before{content:"\f104"}i.icon.angle.right:before{content:"\f105"}i.icon.angle.up:before{content:"\f106"}i.icon.angrycreative:before{content:"\f36e"}i.icon.angular:before{content:"\f420"}i.icon.app.store:before{content:"\f36f"}i.icon.app.store.ios:before{content:"\f370"}i.icon.apper:before{content:"\f371"}i.icon.apple:before{content:"\f179"}i.icon.apple.pay:before{content:"\f415"}i.icon.archive:before{content:"\f187"}i.icon.arrow.alternate.circle.down:before{content:"\f358"}i.icon.arrow.alternate.circle.left:before{content:"\f359"}i.icon.arrow.alternate.circle.right:before{content:"\f35a"}i.icon.arrow.alternate.circle.up:before{content:"\f35b"}i.icon.arrow.circle.down:before{content:"\f0ab"}i.icon.arrow.circle.left:before{content:"\f0a8"}i.icon.arrow.circle.right:before{content:"\f0a9"}i.icon.arrow.circle.up:before{content:"\f0aa"}i.icon.arrow.down:before{content:"\f063"}i.icon.arrow.left:before{content:"\f060"}i.icon.arrow.right:before{content:"\f061"}i.icon.arrow.up:before{content:"\f062"}i.icon.arrows.alternate:before{content:"\f0b2"}i.icon.arrows.alternate.horizontal:before{content:"\f337"}i.icon.arrows.alternate.vertical:before{content:"\f338"}i.icon.assistive.listening.systems:before{content:"\f2a2"}i.icon.asterisk:before{content:"\f069"}i.icon.asymmetrik:before{content:"\f372"}i.icon.at:before{content:"\f1fa"}i.icon.audible:before{content:"\f373"}i.icon.audio.description:before{content:"\f29e"}i.icon.autoprefixer:before{content:"\f41c"}i.icon.avianex:before{content:"\f374"}i.icon.aviato:before{content:"\f421"}i.icon.aws:before{content:"\f375"}i.icon.backward:before{content:"\f04a"}i.icon.balance.scale:before{content:"\f24e"}i.icon.ban:before{content:"\f05e"}i.icon.band.aid:before{content:"\f462"}i.icon.bandcamp:before{content:"\f2d5"}i.icon.barcode:before{content:"\f02a"}i.icon.bars:before{content:"\f0c9"}i.icon.baseball.ball:before{content:"\f433"}i.icon.basketball.ball:before{content:"\f434"}i.icon.bath:before{content:"\f2cd"}i.icon.battery.empty:before{content:"\f244"}i.icon.battery.full:before{content:"\f240"}i.icon.battery.half:before{content:"\f242"}i.icon.battery.quarter:before{content:"\f243"}i.icon.battery.three.quarters:before{content:"\f241"}i.icon.bed:before{content:"\f236"}i.icon.beer:before{content:"\f0fc"}i.icon.behance:before{content:"\f1b4"}i.icon.behance.square:before{content:"\f1b5"}i.icon.bell:before{content:"\f0f3"}i.icon.bell.slash:before{content:"\f1f6"}i.icon.bicycle:before{content:"\f206"}i.icon.bimobject:before{content:"\f378"}i.icon.binoculars:before{content:"\f1e5"}i.icon.birthday.cake:before{content:"\f1fd"}i.icon.bitbucket:before{content:"\f171"}i.icon.bitcoin:before{content:"\f379"}i.icon.bity:before{content:"\f37a"}i.icon.black.tie:before{content:"\f27e"}i.icon.blackberry:before{content:"\f37b"}i.icon.blind:before{content:"\f29d"}i.icon.blogger:before{content:"\f37c"}i.icon.blogger.b:before{content:"\f37d"}i.icon.bluetooth:before{content:"\f293"}i.icon.bluetooth.b:before{content:"\f294"}i.icon.bold:before{content:"\f032"}i.icon.bolt:before{content:"\f0e7"}i.icon.bomb:before{content:"\f1e2"}i.icon.book:before{content:"\f02d"}i.icon.bookmark:before{content:"\f02e"}i.icon.bowling.ball:before{content:"\f436"}i.icon.box:before{content:"\f466"}i.icon.boxes:before{content:"\f468"}i.icon.braille:before{content:"\f2a1"}i.icon.briefcase:before{content:"\f0b1"}i.icon.btc:before{content:"\f15a"}i.icon.bug:before{content:"\f188"}i.icon.building:before{content:"\f1ad"}i.icon.bullhorn:before{content:"\f0a1"}i.icon.bullseye:before{content:"\f140"}i.icon.buromobelexperte:before{content:"\f37f"}i.icon.bus:before{content:"\f207"}i.icon.buysellads:before{content:"\f20d"}i.icon.calculator:before{content:"\f1ec"}i.icon.calendar:before{content:"\f133"}i.icon.calendar.alternate:before{content:"\f073"}i.icon.calendar.check:before{content:"\f274"}i.icon.calendar.minus:before{content:"\f272"}i.icon.calendar.plus:before{content:"\f271"}i.icon.calendar.times:before{content:"\f273"}i.icon.camera:before{content:"\f030"}i.icon.camera.retro:before{content:"\f083"}i.icon.car:before{content:"\f1b9"}i.icon.caret.down:before{content:"\f0d7"}i.icon.caret.left:before{content:"\f0d9"}i.icon.caret.right:before{content:"\f0da"}i.icon.caret.square.down:before{content:"\f150"}i.icon.caret.square.left:before{content:"\f191"}i.icon.caret.square.right:before{content:"\f152"}i.icon.caret.square.up:before{content:"\f151"}i.icon.caret.up:before{content:"\f0d8"}i.icon.cart.arrow.down:before{content:"\f218"}i.icon.cart.plus:before{content:"\f217"}i.icon.cc.amazon.pay:before{content:"\f42d"}i.icon.cc.amex:before{content:"\f1f3"}i.icon.cc.apple.pay:before{content:"\f416"}i.icon.cc.diners.club:before{content:"\f24c"}i.icon.cc.discover:before{content:"\f1f2"}i.icon.cc.jcb:before{content:"\f24b"}i.icon.cc.mastercard:before{content:"\f1f1"}i.icon.cc.paypal:before{content:"\f1f4"}i.icon.cc.stripe:before{content:"\f1f5"}i.icon.cc.visa:before{content:"\f1f0"}i.icon.centercode:before{content:"\f380"}i.icon.certificate:before{content:"\f0a3"}i.icon.chart.area:before{content:"\f1fe"}i.icon.chart.bar:before{content:"\f080"}i.icon.chart.line:before{content:"\f201"}i.icon.chart.pie:before{content:"\f200"}i.icon.check:before{content:"\f00c"}i.icon.check.circle:before{content:"\f058"}i.icon.check.square:before{content:"\f14a"}i.icon.chess:before{content:"\f439"}i.icon.chess.bishop:before{content:"\f43a"}i.icon.chess.board:before{content:"\f43c"}i.icon.chess.king:before{content:"\f43f"}i.icon.chess.knight:before{content:"\f441"}i.icon.chess.pawn:before{content:"\f443"}i.icon.chess.queen:before{content:"\f445"}i.icon.chess.rook:before{content:"\f447"}i.icon.chevron.circle.down:before{content:"\f13a"}i.icon.chevron.circle.left:before{content:"\f137"}i.icon.chevron.circle.right:before{content:"\f138"}i.icon.chevron.circle.up:before{content:"\f139"}i.icon.chevron.down:before{content:"\f078"}i.icon.chevron.left:before{content:"\f053"}i.icon.chevron.right:before{content:"\f054"}i.icon.chevron.up:before{content:"\f077"}i.icon.child:before{content:"\f1ae"}i.icon.chrome:before{content:"\f268"}i.icon.circle:before{content:"\f111"}i.icon.circle.notch:before{content:"\f1ce"}i.icon.clipboard:before{content:"\f328"}i.icon.clipboard.check:before{content:"\f46c"}i.icon.clipboard.list:before{content:"\f46d"}i.icon.clock:before{content:"\f017"}i.icon.clone:before{content:"\f24d"}i.icon.closed.captioning:before{content:"\f20a"}i.icon.cloud:before{content:"\f0c2"}i.icon.cloudscale:before{content:"\f383"}i.icon.cloudsmith:before{content:"\f384"}i.icon.cloudversify:before{content:"\f385"}i.icon.code:before{content:"\f121"}i.icon.code.branch:before{content:"\f126"}i.icon.codepen:before{content:"\f1cb"}i.icon.codiepie:before{content:"\f284"}i.icon.coffee:before{content:"\f0f4"}i.icon.cog:before{content:"\f013"}i.icon.cogs:before{content:"\f085"}i.icon.columns:before{content:"\f0db"}i.icon.comment:before{content:"\f075"}i.icon.comment.alternate:before{content:"\f27a"}i.icon.comments:before{content:"\f086"}i.icon.compass:before{content:"\f14e"}i.icon.compress:before{content:"\f066"}i.icon.connectdevelop:before{content:"\f20e"}i.icon.contao:before{content:"\f26d"}i.icon.copy:before{content:"\f0c5"}i.icon.copyright:before{content:"\f1f9"}i.icon.cpanel:before{content:"\f388"}i.icon.creative.commons:before{content:"\f25e"}i.icon.credit.card:before{content:"\f09d"}i.icon.crop:before{content:"\f125"}i.icon.crosshairs:before{content:"\f05b"}i.icon.css3:before{content:"\f13c"}i.icon.css3.alternate:before{content:"\f38b"}i.icon.cube:before{content:"\f1b2"}i.icon.cubes:before{content:"\f1b3"}i.icon.cut:before{content:"\f0c4"}i.icon.cuttlefish:before{content:"\f38c"}i.icon.d.and.d:before{content:"\f38d"}i.icon.dashcube:before{content:"\f210"}i.icon.database:before{content:"\f1c0"}i.icon.deaf:before{content:"\f2a4"}i.icon.delicious:before{content:"\f1a5"}i.icon.deploydog:before{content:"\f38e"}i.icon.deskpro:before{content:"\f38f"}i.icon.desktop:before{content:"\f108"}i.icon.deviantart:before{content:"\f1bd"}i.icon.digg:before{content:"\f1a6"}i.icon.digital.ocean:before{content:"\f391"}i.icon.discord:before{content:"\f392"}i.icon.discourse:before{content:"\f393"}i.icon.dna:before{content:"\f471"}i.icon.dochub:before{content:"\f394"}i.icon.docker:before{content:"\f395"}i.icon.dollar.sign:before{content:"\f155"}i.icon.dolly:before{content:"\f472"}i.icon.dolly.flatbed:before{content:"\f474"}i.icon.dot.circle:before{content:"\f192"}i.icon.download:before{content:"\f019"}i.icon.draft2digital:before{content:"\f396"}i.icon.dribbble:before{content:"\f17d"}i.icon.dribbble.square:before{content:"\f397"}i.icon.dropbox:before{content:"\f16b"}i.icon.drupal:before{content:"\f1a9"}i.icon.dyalog:before{content:"\f399"}i.icon.earlybirds:before{content:"\f39a"}i.icon.edge:before{content:"\f282"}i.icon.edit:before{content:"\f044"}i.icon.eject:before{content:"\f052"}i.icon.elementor:before{content:"\f430"}i.icon.ellipsis.horizontal:before{content:"\f141"}i.icon.ellipsis.vertical:before{content:"\f142"}i.icon.ember:before{content:"\f423"}i.icon.empire:before{content:"\f1d1"}i.icon.envelope:before{content:"\f0e0"}i.icon.envelope.open:before{content:"\f2b6"}i.icon.envelope.square:before{content:"\f199"}i.icon.envira:before{content:"\f299"}i.icon.eraser:before{content:"\f12d"}i.icon.erlang:before{content:"\f39d"}i.icon.ethereum:before{content:"\f42e"}i.icon.etsy:before{content:"\f2d7"}i.icon.euro.sign:before{content:"\f153"}i.icon.exchange.alternate:before{content:"\f362"}i.icon.exclamation:before{content:"\f12a"}i.icon.exclamation.circle:before{content:"\f06a"}i.icon.exclamation.triangle:before{content:"\f071"}i.icon.expand:before{content:"\f065"}i.icon.expand.arrows.alternate:before{content:"\f31e"}i.icon.expeditedssl:before{content:"\f23e"}i.icon.external.alternate:before{content:"\f35d"}i.icon.external.square.alternate:before{content:"\f360"}i.icon.eye:before{content:"\f06e"}i.icon.eye.dropper:before{content:"\f1fb"}i.icon.eye.slash:before{content:"\f070"}i.icon.facebook:before{content:"\f09a"}i.icon.facebook.f:before{content:"\f39e"}i.icon.facebook.messenger:before{content:"\f39f"}i.icon.facebook.square:before{content:"\f082"}i.icon.fast.backward:before{content:"\f049"}i.icon.fast.forward:before{content:"\f050"}i.icon.fax:before{content:"\f1ac"}i.icon.female:before{content:"\f182"}i.icon.fighter.jet:before{content:"\f0fb"}i.icon.file:before{content:"\f15b"}i.icon.file.alternate:before{content:"\f15c"}i.icon.file.archive:before{content:"\f1c6"}i.icon.file.audio:before{content:"\f1c7"}i.icon.file.code:before{content:"\f1c9"}i.icon.file.excel:before{content:"\f1c3"}i.icon.file.image:before{content:"\f1c5"}i.icon.file.pdf:before{content:"\f1c1"}i.icon.file.powerpoint:before{content:"\f1c4"}i.icon.file.video:before{content:"\f1c8"}i.icon.file.word:before{content:"\f1c2"}i.icon.film:before{content:"\f008"}i.icon.filter:before{content:"\f0b0"}i.icon.fire:before{content:"\f06d"}i.icon.fire.extinguisher:before{content:"\f134"}i.icon.firefox:before{content:"\f269"}i.icon.first.aid:before{content:"\f479"}i.icon.first.order:before{content:"\f2b0"}i.icon.firstdraft:before{content:"\f3a1"}i.icon.flag:before{content:"\f024"}i.icon.flag.checkered:before{content:"\f11e"}i.icon.flask:before{content:"\f0c3"}i.icon.flickr:before{content:"\f16e"}i.icon.flipboard:before{content:"\f44d"}i.icon.fly:before{content:"\f417"}i.icon.folder:before{content:"\f07b"}i.icon.folder.open:before{content:"\f07c"}i.icon.font:before{content:"\f031"}i.icon.font.awesome:before{content:"\f2b4"}i.icon.font.awesome.alternate:before{content:"\f35c"}i.icon.font.awesome.flag:before{content:"\f425"}i.icon.fonticons:before{content:"\f280"}i.icon.fonticons.fi:before{content:"\f3a2"}i.icon.football.ball:before{content:"\f44e"}i.icon.fort.awesome:before{content:"\f286"}i.icon.fort.awesome.alternate:before{content:"\f3a3"}i.icon.forumbee:before{content:"\f211"}i.icon.forward:before{content:"\f04e"}i.icon.foursquare:before{content:"\f180"}i.icon.free.code.camp:before{content:"\f2c5"}i.icon.freebsd:before{content:"\f3a4"}i.icon.frown:before{content:"\f119"}i.icon.futbol:before{content:"\f1e3"}i.icon.gamepad:before{content:"\f11b"}i.icon.gavel:before{content:"\f0e3"}i.icon.gem:before{content:"\f3a5"}i.icon.genderless:before{content:"\f22d"}i.icon.get.pocket:before{content:"\f265"}i.icon.gg:before{content:"\f260"}i.icon.gg.circle:before{content:"\f261"}i.icon.gift:before{content:"\f06b"}i.icon.git:before{content:"\f1d3"}i.icon.git.square:before{content:"\f1d2"}i.icon.github:before{content:"\f09b"}i.icon.github.alternate:before{content:"\f113"}i.icon.github.square:before{content:"\f092"}i.icon.gitkraken:before{content:"\f3a6"}i.icon.gitlab:before{content:"\f296"}i.icon.gitter:before{content:"\f426"}i.icon.glass.martini:before{content:"\f000"}i.icon.glide:before{content:"\f2a5"}i.icon.glide.g:before{content:"\f2a6"}i.icon.globe:before{content:"\f0ac"}i.icon.gofore:before{content:"\f3a7"}i.icon.golf.ball:before{content:"\f450"}i.icon.goodreads:before{content:"\f3a8"}i.icon.goodreads.g:before{content:"\f3a9"}i.icon.google:before{content:"\f1a0"}i.icon.google.drive:before{content:"\f3aa"}i.icon.google.play:before{content:"\f3ab"}i.icon.google.plus:before{content:"\f2b3"}i.icon.google.plus.g:before{content:"\f0d5"}i.icon.google.plus.square:before{content:"\f0d4"}i.icon.google.wallet:before{content:"\f1ee"}i.icon.graduation.cap:before{content:"\f19d"}i.icon.gratipay:before{content:"\f184"}i.icon.grav:before{content:"\f2d6"}i.icon.gripfire:before{content:"\f3ac"}i.icon.grunt:before{content:"\f3ad"}i.icon.gulp:before{content:"\f3ae"}i.icon.h.square:before{content:"\f0fd"}i.icon.hacker.news:before{content:"\f1d4"}i.icon.hacker.news.square:before{content:"\f3af"}i.icon.hand.lizard:before{content:"\f258"}i.icon.hand.paper:before{content:"\f256"}i.icon.hand.peace:before{content:"\f25b"}i.icon.hand.point.down:before{content:"\f0a7"}i.icon.hand.point.left:before{content:"\f0a5"}i.icon.hand.point.right:before{content:"\f0a4"}i.icon.hand.point.up:before{content:"\f0a6"}i.icon.hand.pointer:before{content:"\f25a"}i.icon.hand.rock:before{content:"\f255"}i.icon.hand.scissors:before{content:"\f257"}i.icon.hand.spock:before{content:"\f259"}i.icon.handshake:before{content:"\f2b5"}i.icon.hashtag:before{content:"\f292"}i.icon.hdd:before{content:"\f0a0"}i.icon.heading:before{content:"\f1dc"}i.icon.headphones:before{content:"\f025"}i.icon.heart:before{content:"\f004"}i.icon.heartbeat:before{content:"\f21e"}i.icon.hips:before{content:"\f452"}i.icon.hire.a.helper:before{content:"\f3b0"}i.icon.history:before{content:"\f1da"}i.icon.hockey.puck:before{content:"\f453"}i.icon.home:before{content:"\f015"}i.icon.hooli:before{content:"\f427"}i.icon.hospital:before{content:"\f0f8"}i.icon.hospital.symbol:before{content:"\f47e"}i.icon.hotjar:before{content:"\f3b1"}i.icon.hourglass:before{content:"\f254"}i.icon.hourglass.end:before{content:"\f253"}i.icon.hourglass.half:before{content:"\f252"}i.icon.hourglass.start:before{content:"\f251"}i.icon.houzz:before{content:"\f27c"}i.icon.html5:before{content:"\f13b"}i.icon.hubspot:before{content:"\f3b2"}i.icon.i.cursor:before{content:"\f246"}i.icon.id.badge:before{content:"\f2c1"}i.icon.id.card:before{content:"\f2c2"}i.icon.image:before{content:"\f03e"}i.icon.images:before{content:"\f302"}i.icon.imdb:before{content:"\f2d8"}i.icon.inbox:before{content:"\f01c"}i.icon.indent:before{content:"\f03c"}i.icon.industry:before{content:"\f275"}i.icon.info:before{content:"\f129"}i.icon.info.circle:before{content:"\f05a"}i.icon.instagram:before{content:"\f16d"}i.icon.internet.explorer:before{content:"\f26b"}i.icon.ioxhost:before{content:"\f208"}i.icon.italic:before{content:"\f033"}i.icon.itunes:before{content:"\f3b4"}i.icon.itunes.note:before{content:"\f3b5"}i.icon.jenkins:before{content:"\f3b6"}i.icon.joget:before{content:"\f3b7"}i.icon.joomla:before{content:"\f1aa"}i.icon.js:before{content:"\f3b8"}i.icon.js.square:before{content:"\f3b9"}i.icon.jsfiddle:before{content:"\f1cc"}i.icon.key:before{content:"\f084"}i.icon.keyboard:before{content:"\f11c"}i.icon.keycdn:before{content:"\f3ba"}i.icon.kickstarter:before{content:"\f3bb"}i.icon.kickstarter.k:before{content:"\f3bc"}i.icon.korvue:before{content:"\f42f"}i.icon.language:before{content:"\f1ab"}i.icon.laptop:before{content:"\f109"}i.icon.laravel:before{content:"\f3bd"}i.icon.lastfm:before{content:"\f202"}i.icon.lastfm.square:before{content:"\f203"}i.icon.leaf:before{content:"\f06c"}i.icon.leanpub:before{content:"\f212"}i.icon.lemon:before{content:"\f094"}i.icon.less:before{content:"\f41d"}i.icon.level.down.alternate:before{content:"\f3be"}i.icon.level.up.alternate:before{content:"\f3bf"}i.icon.life.ring:before{content:"\f1cd"}i.icon.lightbulb:before{content:"\f0eb"}i.icon.linechat:before{content:"\f3c0"}i.icon.linkify:before{content:"\f0c1"}i.icon.linkedin:before{content:"\f08c"}i.icon.linkedin.alt:before{content:"\f0e1"}i.icon.linode:before{content:"\f2b8"}i.icon.linux:before{content:"\f17c"}i.icon.lira.sign:before{content:"\f195"}i.icon.list:before{content:"\f03a"}i.icon.list.alternate:before{content:"\f022"}i.icon.list.ol:before{content:"\f0cb"}i.icon.list.ul:before{content:"\f0ca"}i.icon.location.arrow:before{content:"\f124"}i.icon.lock:before{content:"\f023"}i.icon.lock.open:before{content:"\f3c1"}i.icon.long.arrow.alternate.down:before{content:"\f309"}i.icon.long.arrow.alternate.left:before{content:"\f30a"}i.icon.long.arrow.alternate.right:before{content:"\f30b"}i.icon.long.arrow.alternate.up:before{content:"\f30c"}i.icon.low.vision:before{content:"\f2a8"}i.icon.lyft:before{content:"\f3c3"}i.icon.magento:before{content:"\f3c4"}i.icon.magic:before{content:"\f0d0"}i.icon.magnet:before{content:"\f076"}i.icon.male:before{content:"\f183"}i.icon.map:before{content:"\f279"}i.icon.map.marker:before{content:"\f041"}i.icon.map.marker.alternate:before{content:"\f3c5"}i.icon.map.pin:before{content:"\f276"}i.icon.map.signs:before{content:"\f277"}i.icon.mars:before{content:"\f222"}i.icon.mars.double:before{content:"\f227"}i.icon.mars.stroke:before{content:"\f229"}i.icon.mars.stroke.horizontal:before{content:"\f22b"}i.icon.mars.stroke.vertical:before{content:"\f22a"}i.icon.maxcdn:before{content:"\f136"}i.icon.medapps:before{content:"\f3c6"}i.icon.medium:before{content:"\f23a"}i.icon.medium.m:before{content:"\f3c7"}i.icon.medkit:before{content:"\f0fa"}i.icon.medrt:before{content:"\f3c8"}i.icon.meetup:before{content:"\f2e0"}i.icon.meh:before{content:"\f11a"}i.icon.mercury:before{content:"\f223"}i.icon.microchip:before{content:"\f2db"}i.icon.microphone:before{content:"\f130"}i.icon.microphone.slash:before{content:"\f131"}i.icon.microsoft:before{content:"\f3ca"}i.icon.minus:before{content:"\f068"}i.icon.minus.circle:before{content:"\f056"}i.icon.minus.square:before{content:"\f146"}i.icon.mix:before{content:"\f3cb"}i.icon.mixcloud:before{content:"\f289"}i.icon.mizuni:before{content:"\f3cc"}i.icon.mobile:before{content:"\f10b"}i.icon.mobile.alternate:before{content:"\f3cd"}i.icon.modx:before{content:"\f285"}i.icon.monero:before{content:"\f3d0"}i.icon.money.bill.alternate:before{content:"\f3d1"}i.icon.moon:before{content:"\f186"}i.icon.motorcycle:before{content:"\f21c"}i.icon.mouse.pointer:before{content:"\f245"}i.icon.music:before{content:"\f001"}i.icon.napster:before{content:"\f3d2"}i.icon.neuter:before{content:"\f22c"}i.icon.newspaper:before{content:"\f1ea"}i.icon.nintendo.switch:before{content:"\f418"}i.icon.node:before{content:"\f419"}i.icon.node.js:before{content:"\f3d3"}i.icon.npm:before{content:"\f3d4"}i.icon.ns8:before{content:"\f3d5"}i.icon.nutritionix:before{content:"\f3d6"}i.icon.object.group:before{content:"\f247"}i.icon.object.ungroup:before{content:"\f248"}i.icon.odnoklassniki:before{content:"\f263"}i.icon.odnoklassniki.square:before{content:"\f264"}i.icon.opencart:before{content:"\f23d"}i.icon.openid:before{content:"\f19b"}i.icon.opera:before{content:"\f26a"}i.icon.optin.monster:before{content:"\f23c"}i.icon.osi:before{content:"\f41a"}i.icon.outdent:before{content:"\f03b"}i.icon.page4:before{content:"\f3d7"}i.icon.pagelines:before{content:"\f18c"}i.icon.paint.brush:before{content:"\f1fc"}i.icon.palfed:before{content:"\f3d8"}i.icon.pallet:before{content:"\f482"}i.icon.paper.plane:before{content:"\f1d8"}i.icon.paperclip:before{content:"\f0c6"}i.icon.paragraph:before{content:"\f1dd"}i.icon.paste:before{content:"\f0ea"}i.icon.patreon:before{content:"\f3d9"}i.icon.pause:before{content:"\f04c"}i.icon.pause.circle:before{content:"\f28b"}i.icon.paw:before{content:"\f1b0"}i.icon.paypal:before{content:"\f1ed"}i.icon.pen.square:before{content:"\f14b"}i.icon.pencil.alternate:before{content:"\f303"}i.icon.percent:before{content:"\f295"}i.icon.periscope:before{content:"\f3da"}i.icon.phabricator:before{content:"\f3db"}i.icon.phoenix.framework:before{content:"\f3dc"}i.icon.phone:before{content:"\f095"}i.icon.phone.square:before{content:"\f098"}i.icon.phone.volume:before{content:"\f2a0"}i.icon.php:before{content:"\f457"}i.icon.pied.piper:before{content:"\f2ae"}i.icon.pied.piper.alternate:before{content:"\f1a8"}i.icon.pied.piper.pp:before{content:"\f1a7"}i.icon.pills:before{content:"\f484"}i.icon.pinterest:before{content:"\f0d2"}i.icon.pinterest.p:before{content:"\f231"}i.icon.pinterest.square:before{content:"\f0d3"}i.icon.plane:before{content:"\f072"}i.icon.play:before{content:"\f04b"}i.icon.play.circle:before{content:"\f144"}i.icon.playstation:before{content:"\f3df"}i.icon.plug:before{content:"\f1e6"}i.icon.plus:before{content:"\f067"}i.icon.plus.circle:before{content:"\f055"}i.icon.plus.square:before{content:"\f0fe"}i.icon.podcast:before{content:"\f2ce"}i.icon.pound.sign:before{content:"\f154"}i.icon.power.off:before{content:"\f011"}i.icon.print:before{content:"\f02f"}i.icon.product.hunt:before{content:"\f288"}i.icon.pushed:before{content:"\f3e1"}i.icon.puzzle.piece:before{content:"\f12e"}i.icon.python:before{content:"\f3e2"}i.icon.qq:before{content:"\f1d6"}i.icon.qrcode:before{content:"\f029"}i.icon.question:before{content:"\f128"}i.icon.question.circle:before{content:"\f059"}i.icon.quidditch:before{content:"\f458"}i.icon.quinscape:before{content:"\f459"}i.icon.quora:before{content:"\f2c4"}i.icon.quote.left:before{content:"\f10d"}i.icon.quote.right:before{content:"\f10e"}i.icon.random:before{content:"\f074"}i.icon.ravelry:before{content:"\f2d9"}i.icon.react:before{content:"\f41b"}i.icon.rebel:before{content:"\f1d0"}i.icon.recycle:before{content:"\f1b8"}i.icon.redriver:before{content:"\f3e3"}i.icon.reddit:before{content:"\f1a1"}i.icon.reddit.alien:before{content:"\f281"}i.icon.reddit.square:before{content:"\f1a2"}i.icon.redo:before{content:"\f01e"}i.icon.redo.alternate:before{content:"\f2f9"}i.icon.registered:before{content:"\f25d"}i.icon.rendact:before{content:"\f3e4"}i.icon.renren:before{content:"\f18b"}i.icon.reply:before{content:"\f3e5"}i.icon.reply.all:before{content:"\f122"}i.icon.replyd:before{content:"\f3e6"}i.icon.resolving:before{content:"\f3e7"}i.icon.retweet:before{content:"\f079"}i.icon.road:before{content:"\f018"}i.icon.rocket:before{content:"\f135"}i.icon.rocketchat:before{content:"\f3e8"}i.icon.rockrms:before{content:"\f3e9"}i.icon.rss:before{content:"\f09e"}i.icon.rss.square:before{content:"\f143"}i.icon.ruble.sign:before{content:"\f158"}i.icon.rupee.sign:before{content:"\f156"}i.icon.safari:before{content:"\f267"}i.icon.sass:before{content:"\f41e"}i.icon.save:before{content:"\f0c7"}i.icon.schlix:before{content:"\f3ea"}i.icon.scribd:before{content:"\f28a"}i.icon.search:before{content:"\f002"}i.icon.search.minus:before{content:"\f010"}i.icon.search.plus:before{content:"\f00e"}i.icon.searchengin:before{content:"\f3eb"}i.icon.sellcast:before{content:"\f2da"}i.icon.sellsy:before{content:"\f213"}i.icon.server:before{content:"\f233"}i.icon.servicestack:before{content:"\f3ec"}i.icon.share:before{content:"\f064"}i.icon.share.alternate:before{content:"\f1e0"}i.icon.share.alternate.square:before{content:"\f1e1"}i.icon.share.square:before{content:"\f14d"}i.icon.shekel.sign:before{content:"\f20b"}i.icon.shield.alternate:before{content:"\f3ed"}i.icon.ship:before{content:"\f21a"}i.icon.shipping.fast:before{content:"\f48b"}i.icon.shirtsinbulk:before{content:"\f214"}i.icon.shopping.bag:before{content:"\f290"}i.icon.shopping.basket:before{content:"\f291"}i.icon.shopping.cart:before{content:"\f07a"}i.icon.shower:before{content:"\f2cc"}i.icon.sign.language:before{content:"\f2a7"}i.icon.signal:before{content:"\f012"}i.icon.simplybuilt:before{content:"\f215"}i.icon.sistrix:before{content:"\f3ee"}i.icon.sitemap:before{content:"\f0e8"}i.icon.skyatlas:before{content:"\f216"}i.icon.skype:before{content:"\f17e"}i.icon.slack:before{content:"\f198"}i.icon.slack.hash:before{content:"\f3ef"}i.icon.sliders.horizontal:before{content:"\f1de"}i.icon.slideshare:before{content:"\f1e7"}i.icon.smile:before{content:"\f118"}i.icon.snapchat:before{content:"\f2ab"}i.icon.snapchat.ghost:before{content:"\f2ac"}i.icon.snapchat.square:before{content:"\f2ad"}i.icon.snowflake:before{content:"\f2dc"}i.icon.sort:before{content:"\f0dc"}i.icon.sort.alphabet.down:before{content:"\f15d"}i.icon.sort.alphabet.up:before{content:"\f15e"}i.icon.sort.amount.down:before{content:"\f160"}i.icon.sort.amount.up:before{content:"\f161"}i.icon.sort.down:before{content:"\f0dd"}i.icon.sort.numeric.down:before{content:"\f162"}i.icon.sort.numeric.up:before{content:"\f163"}i.icon.sort.up:before{content:"\f0de"}i.icon.soundcloud:before{content:"\f1be"}i.icon.space.shuttle:before{content:"\f197"}i.icon.speakap:before{content:"\f3f3"}i.icon.spinner:before{content:"\f110"}i.icon.spotify:before{content:"\f1bc"}i.icon.square:before{content:"\f0c8"}i.icon.square.full:before{content:"\f45c"}i.icon.stack.exchange:before{content:"\f18d"}i.icon.stack.overflow:before{content:"\f16c"}i.icon.star:before{content:"\f005"}i.icon.star.half:before{content:"\f089"}i.icon.staylinked:before{content:"\f3f5"}i.icon.steam:before{content:"\f1b6"}i.icon.steam.square:before{content:"\f1b7"}i.icon.steam.symbol:before{content:"\f3f6"}i.icon.step.backward:before{content:"\f048"}i.icon.step.forward:before{content:"\f051"}i.icon.stethoscope:before{content:"\f0f1"}i.icon.sticker.mule:before{content:"\f3f7"}i.icon.sticky.note:before{content:"\f249"}i.icon.stop:before{content:"\f04d"}i.icon.stop.circle:before{content:"\f28d"}i.icon.stopwatch:before{content:"\f2f2"}i.icon.strava:before{content:"\f428"}i.icon.street.view:before{content:"\f21d"}i.icon.strikethrough:before{content:"\f0cc"}i.icon.stripe:before{content:"\f429"}i.icon.stripe.s:before{content:"\f42a"}i.icon.studiovinari:before{content:"\f3f8"}i.icon.stumbleupon:before{content:"\f1a4"}i.icon.stumbleupon.circle:before{content:"\f1a3"}i.icon.subscript:before{content:"\f12c"}i.icon.subway:before{content:"\f239"}i.icon.suitcase:before{content:"\f0f2"}i.icon.sun:before{content:"\f185"}i.icon.superpowers:before{content:"\f2dd"}i.icon.superscript:before{content:"\f12b"}i.icon.supple:before{content:"\f3f9"}i.icon.sync:before{content:"\f021"}i.icon.sync.alternate:before{content:"\f2f1"}i.icon.syringe:before{content:"\f48e"}i.icon.table:before{content:"\f0ce"}i.icon.table.tennis:before{content:"\f45d"}i.icon.tablet:before{content:"\f10a"}i.icon.tablet.alternate:before{content:"\f3fa"}i.icon.tachometer.alternate:before{content:"\f3fd"}i.icon.tag:before{content:"\f02b"}i.icon.tags:before{content:"\f02c"}i.icon.tasks:before{content:"\f0ae"}i.icon.taxi:before{content:"\f1ba"}i.icon.telegram:before{content:"\f2c6"}i.icon.telegram.plane:before{content:"\f3fe"}i.icon.tencent.weibo:before{content:"\f1d5"}i.icon.terminal:before{content:"\f120"}i.icon.text.height:before{content:"\f034"}i.icon.text.width:before{content:"\f035"}i.icon.th:before{content:"\f00a"}i.icon.th.large:before{content:"\f009"}i.icon.th.list:before{content:"\f00b"}i.icon.themeisle:before{content:"\f2b2"}i.icon.thermometer:before{content:"\f491"}i.icon.thermometer.empty:before{content:"\f2cb"}i.icon.thermometer.full:before{content:"\f2c7"}i.icon.thermometer.half:before{content:"\f2c9"}i.icon.thermometer.quarter:before{content:"\f2ca"}i.icon.thermometer.three.quarters:before{content:"\f2c8"}i.icon.thumbs.down:before{content:"\f165"}i.icon.thumbs.up:before{content:"\f164"}i.icon.thumbtack:before{content:"\f08d"}i.icon.ticket.alternate:before{content:"\f3ff"}i.icon.times:before{content:"\f00d"}i.icon.times.circle:before{content:"\f057"}i.icon.tint:before{content:"\f043"}i.icon.toggle.off:before{content:"\f204"}i.icon.toggle.on:before{content:"\f205"}i.icon.trademark:before{content:"\f25c"}i.icon.train:before{content:"\f238"}i.icon.transgender:before{content:"\f224"}i.icon.transgender.alternate:before{content:"\f225"}i.icon.trash:before{content:"\f1f8"}i.icon.trash.alternate:before{content:"\f2ed"}i.icon.tree:before{content:"\f1bb"}i.icon.trello:before{content:"\f181"}i.icon.tripadvisor:before{content:"\f262"}i.icon.trophy:before{content:"\f091"}i.icon.truck:before{content:"\f0d1"}i.icon.tty:before{content:"\f1e4"}i.icon.tumblr:before{content:"\f173"}i.icon.tumblr.square:before{content:"\f174"}i.icon.tv:before{content:"\f26c"}i.icon.twitch:before{content:"\f1e8"}i.icon.twitter:before{content:"\f099"}i.icon.twitter.square:before{content:"\f081"}i.icon.typo3:before{content:"\f42b"}i.icon.uber:before{content:"\f402"}i.icon.uikit:before{content:"\f403"}i.icon.umbrella:before{content:"\f0e9"}i.icon.underline:before{content:"\f0cd"}i.icon.undo:before{content:"\f0e2"}i.icon.undo.alternate:before{content:"\f2ea"}i.icon.uniregistry:before{content:"\f404"}i.icon.universal.access:before{content:"\f29a"}i.icon.university:before{content:"\f19c"}i.icon.unlink:before{content:"\f127"}i.icon.unlock:before{content:"\f09c"}i.icon.unlock.alternate:before{content:"\f13e"}i.icon.untappd:before{content:"\f405"}i.icon.upload:before{content:"\f093"}i.icon.usb:before{content:"\f287"}i.icon.user:before{content:"\f007"}i.icon.user.circle:before{content:"\f2bd"}i.icon.user.md:before{content:"\f0f0"}i.icon.user.plus:before{content:"\f234"}i.icon.user.secret:before{content:"\f21b"}i.icon.user.times:before{content:"\f235"}i.icon.users:before{content:"\f0c0"}i.icon.ussunnah:before{content:"\f407"}i.icon.utensil.spoon:before{content:"\f2e5"}i.icon.utensils:before{content:"\f2e7"}i.icon.vaadin:before{content:"\f408"}i.icon.venus:before{content:"\f221"}i.icon.venus.double:before{content:"\f226"}i.icon.venus.mars:before{content:"\f228"}i.icon.viacoin:before{content:"\f237"}i.icon.viadeo:before{content:"\f2a9"}i.icon.viadeo.square:before{content:"\f2aa"}i.icon.viber:before{content:"\f409"}i.icon.video:before{content:"\f03d"}i.icon.vimeo:before{content:"\f40a"}i.icon.vimeo.square:before{content:"\f194"}i.icon.vimeo.v:before{content:"\f27d"}i.icon.vine:before{content:"\f1ca"}i.icon.vk:before{content:"\f189"}i.icon.vnv:before{content:"\f40b"}i.icon.volleyball.ball:before{content:"\f45f"}i.icon.volume.down:before{content:"\f027"}i.icon.volume.off:before{content:"\f026"}i.icon.volume.up:before{content:"\f028"}i.icon.vuejs:before{content:"\f41f"}i.icon.warehouse:before{content:"\f494"}i.icon.weibo:before{content:"\f18a"}i.icon.weight:before{content:"\f496"}i.icon.weixin:before{content:"\f1d7"}i.icon.whatsapp:before{content:"\f232"}i.icon.whatsapp.square:before{content:"\f40c"}i.icon.wheelchair:before{content:"\f193"}i.icon.whmcs:before{content:"\f40d"}i.icon.wifi:before{content:"\f1eb"}i.icon.wikipedia.w:before{content:"\f266"}i.icon.window.close:before{content:"\f410"}i.icon.window.maximize:before{content:"\f2d0"}i.icon.window.minimize:before{content:"\f2d1"}i.icon.window.restore:before{content:"\f2d2"}i.icon.windows:before{content:"\f17a"}i.icon.won.sign:before{content:"\f159"}i.icon.wordpress:before{content:"\f19a"}i.icon.wordpress.simple:before{content:"\f411"}i.icon.wpbeginner:before{content:"\f297"}i.icon.wpexplorer:before{content:"\f2de"}i.icon.wpforms:before{content:"\f298"}i.icon.wrench:before{content:"\f0ad"}i.icon.xbox:before{content:"\f412"}i.icon.xing:before{content:"\f168"}i.icon.xing.square:before{content:"\f169"}i.icon.y.combinator:before{content:"\f23b"}i.icon.yahoo:before{content:"\f19e"}i.icon.yandex:before{content:"\f413"}i.icon.yandex.international:before{content:"\f414"}i.icon.yelp:before{content:"\f1e9"}i.icon.yen.sign:before{content:"\f157"}i.icon.yoast:before{content:"\f2b1"}i.icon.youtube:before{content:"\f167"}i.icon.youtube.square:before{content:"\f431"}i.icon.chess.rock:before{content:"\f447"}i.icon.ordered.list:before{content:"\f0cb"}i.icon.unordered.list:before{content:"\f0ca"}i.icon.user.doctor:before{content:"\f0f0"}i.icon.shield:before{content:"\f3ed"}i.icon.puzzle:before{content:"\f12e"}i.icon.credit.card.amazon.pay:before{content:"\f42d"}i.icon.credit.card.american.express:before{content:"\f1f3"}i.icon.credit.card.diners.club:before{content:"\f24c"}i.icon.credit.card.discover:before{content:"\f1f2"}i.icon.credit.card.jcb:before{content:"\f24b"}i.icon.credit.card.mastercard:before{content:"\f1f1"}i.icon.credit.card.paypal:before{content:"\f1f4"}i.icon.credit.card.stripe:before{content:"\f1f5"}i.icon.credit.card.visa:before{content:"\f1f0"}i.icon.add.circle:before{content:"\f055"}i.icon.add.square:before{content:"\f0fe"}i.icon.add.to.calendar:before{content:"\f271"}i.icon.add.to.cart:before{content:"\f217"}i.icon.add.user:before{content:"\f234"}i.icon.add:before{content:"\f067"}i.icon.alarm.mute:before{content:"\f1f6"}i.icon.alarm:before{content:"\f0f3"}i.icon.ald:before{content:"\f2a2"}i.icon.als:before{content:"\f2a2"}i.icon.american.express.card:before{content:"\f1f3"}i.icon.american.express:before{content:"\f1f3"}i.icon.amex:before{content:"\f1f3"}i.icon.announcement:before{content:"\f0a1"}i.icon.area.chart:before{content:"\f1fe"}i.icon.area.graph:before{content:"\f1fe"}i.icon.arrow.down.cart:before{content:"\f218"}i.icon.asexual:before{content:"\f22d"}i.icon.asl.interpreting:before{content:"\f2a3"}i.icon.asl:before{content:"\f2a3"}i.icon.assistive.listening.devices:before{content:"\f2a2"}i.icon.attach:before{content:"\f0c6"}i.icon.attention:before{content:"\f06a"}i.icon.balance:before{content:"\f24e"}i.icon.bar:before{content:"\f0fc"}i.icon.bathtub:before{content:"\f2cd"}i.icon.battery.four:before{content:"\f240"}i.icon.battery.high:before{content:"\f241"}i.icon.battery.low:before{content:"\f243"}i.icon.battery.medium:before{content:"\f242"}i.icon.battery.one:before{content:"\f243"}i.icon.battery.three:before{content:"\f241"}i.icon.battery.two:before{content:"\f242"}i.icon.battery.zero:before{content:"\f244"}i.icon.birthday:before{content:"\f1fd"}i.icon.block.layout:before{content:"\f009"}i.icon.bluetooth.alternative:before{content:"\f294"}i.icon.broken.chain:before{content:"\f127"}i.icon.browser:before{content:"\f022"}i.icon.call.square:before{content:"\f098"}i.icon.call:before{content:"\f095"}i.icon.cancel:before{content:"\f00d"}i.icon.cart:before{content:"\f07a"}i.icon.cc:before{content:"\f20a"}i.icon.chain:before{content:"\f0c1"}i.icon.chat:before{content:"\f075"}i.icon.checked.calendar:before{content:"\f274"}i.icon.checkmark:before{content:"\f00c"}i.icon.circle.notched:before{content:"\f1ce"}i.icon.close:before{content:"\f00d"}i.icon.cny:before{content:"\f157"}i.icon.cocktail:before{content:"\f000"}i.icon.commenting:before{content:"\f27a"}i.icon.computer:before{content:"\f108"}i.icon.configure:before{content:"\f0ad"}i.icon.content:before{content:"\f0c9"}i.icon.deafness:before{content:"\f2a4"}i.icon.delete.calendar:before{content:"\f273"}i.icon.delete:before{content:"\f00d"}i.icon.detective:before{content:"\f21b"}i.icon.diners.club.card:before{content:"\f24c"}i.icon.diners.club:before{content:"\f24c"}i.icon.discover.card:before{content:"\f1f2"}i.icon.discover:before{content:"\f1f2"}i.icon.discussions:before{content:"\f086"}i.icon.doctor:before{content:"\f0f0"}i.icon.dollar:before{content:"\f155"}i.icon.dont:before{content:"\f05e"}i.icon.dribble:before{content:"\f17d"}i.icon.drivers.license:before{content:"\f2c2"}i.icon.dropdown:before{content:"\f0d7"}i.icon.eercast:before{content:"\f2da"}i.icon.emergency:before{content:"\f0f9"}i.icon.envira.gallery:before{content:"\f299"}i.icon.erase:before{content:"\f12d"}i.icon.eur:before{content:"\f153"}i.icon.euro:before{content:"\f153"}i.icon.eyedropper:before{content:"\f1fb"}i.icon.fa:before{content:"\f2b4"}i.icon.factory:before{content:"\f275"}i.icon.favorite:before{content:"\f005"}i.icon.feed:before{content:"\f09e"}i.icon.female.homosexual:before{content:"\f226"}i.icon.file.text:before{content:"\f15c"}i.icon.find:before{content:"\f1e5"}i.icon.first.aid:before{content:"\f0fa"}i.icon.five.hundred.pixels:before{content:"\f26e"}i.icon.fork:before{content:"\f126"}i.icon.game:before{content:"\f11b"}i.icon.gay:before{content:"\f227"}i.icon.gbp:before{content:"\f154"}i.icon.gittip:before{content:"\f184"}i.icon.google.plus.circle:before{content:"\f2b3"}i.icon.google.plus.official:before{content:"\f2b3"}i.icon.grab:before{content:"\f255"}i.icon.graduation:before{content:"\f19d"}i.icon.grid.layout:before{content:"\f00a"}i.icon.group:before{content:"\f0c0"}i.icon.h:before{content:"\f0fd"}i.icon.hand.victory:before{content:"\f25b"}i.icon.handicap:before{content:"\f193"}i.icon.hard.of.hearing:before{content:"\f2a4"}i.icon.header:before{content:"\f1dc"}i.icon.help.circle:before{content:"\f059"}i.icon.help:before{content:"\f128"}i.icon.heterosexual:before{content:"\f228"}i.icon.hide:before{content:"\f070"}i.icon.hotel:before{content:"\f236"}i.icon.hourglass.four:before{content:"\f254"}i.icon.hourglass.full:before{content:"\f254"}i.icon.hourglass.one:before{content:"\f251"}i.icon.hourglass.three:before{content:"\f253"}i.icon.hourglass.two:before{content:"\f252"}i.icon.idea:before{content:"\f0eb"}i.icon.ils:before{content:"\f20b"}i.icon.in-cart:before{content:"\f218"}i.icon.inr:before{content:"\f156"}i.icon.intergender:before{content:"\f224"}i.icon.intersex:before{content:"\f224"}i.icon.japan.credit.bureau.card:before{content:"\f24b"}i.icon.japan.credit.bureau:before{content:"\f24b"}i.icon.jcb:before{content:"\f24b"}i.icon.jpy:before{content:"\f157"}i.icon.krw:before{content:"\f159"}i.icon.lab:before{content:"\f0c3"}i.icon.law:before{content:"\f24e"}i.icon.legal:before{content:"\f0e3"}i.icon.lesbian:before{content:"\f226"}i.icon.lightning:before{content:"\f0e7"}i.icon.like:before{content:"\f004"}i.icon.line.graph:before{content:"\f201"}i.icon.linkedin.square:before{content:"\f08c"}i.icon.linkify:before{content:"\f0c1"}i.icon.lira:before{content:"\f195"}i.icon.list.layout:before{content:"\f00b"}i.icon.magnify:before{content:"\f00e"}i.icon.mail.forward:before{content:"\f064"}i.icon.mail.square:before{content:"\f199"}i.icon.mail:before{content:"\f0e0"}i.icon.male.homosexual:before{content:"\f227"}i.icon.man:before{content:"\f222"}i.icon.marker:before{content:"\f041"}i.icon.mars.alternate:before{content:"\f229"}i.icon.mars.horizontal:before{content:"\f22b"}i.icon.mars.vertical:before{content:"\f22a"}i.icon.mastercard.card:before{content:"\f1f1"}i.icon.mastercard:before{content:"\f1f1"}i.icon.microsoft.edge:before{content:"\f282"}i.icon.military:before{content:"\f0fb"}i.icon.ms.edge:before{content:"\f282"}i.icon.mute:before{content:"\f131"}i.icon.new.pied.piper:before{content:"\f2ae"}i.icon.non.binary.transgender:before{content:"\f223"}i.icon.numbered.list:before{content:"\f0cb"}i.icon.optinmonster:before{content:"\f23c"}i.icon.options:before{content:"\f1de"}i.icon.other.gender.horizontal:before{content:"\f22b"}i.icon.other.gender.vertical:before{content:"\f22a"}i.icon.other.gender:before{content:"\f229"}i.icon.payment:before{content:"\f09d"}i.icon.paypal.card:before{content:"\f1f4"}i.icon.pencil.square:before{content:"\f14b"}i.icon.photo:before{content:"\f030"}i.icon.picture:before{content:"\f03e"}i.icon.pie.chart:before{content:"\f200"}i.icon.pie.graph:before{content:"\f200"}i.icon.pied.piper.hat:before{content:"\f2ae"}i.icon.pin:before{content:"\f08d"}i.icon.plus.cart:before{content:"\f217"}i.icon.pocket:before{content:"\f265"}i.icon.point:before{content:"\f041"}i.icon.pointing.down:before{content:"\f0a7"}i.icon.pointing.left:before{content:"\f0a5"}i.icon.pointing.right:before{content:"\f0a4"}i.icon.pointing.up:before{content:"\f0a6"}i.icon.pound:before{content:"\f154"}i.icon.power.cord:before{content:"\f1e6"}i.icon.power:before{content:"\f011"}i.icon.privacy:before{content:"\f084"}i.icon.r.circle:before{content:"\f25d"}i.icon.rain:before{content:"\f0e9"}i.icon.record:before{content:"\f03d"}i.icon.refresh:before{content:"\f021"}i.icon.remove.circle:before{content:"\f057"}i.icon.remove.from.calendar:before{content:"\f272"}i.icon.remove.user:before{content:"\f235"}i.icon.remove:before{content:"\f00d"}i.icon.repeat:before{content:"\f01e"}i.icon.rmb:before{content:"\f157"}i.icon.rouble:before{content:"\f158"}i.icon.rub:before{content:"\f158"}i.icon.ruble:before{content:"\f158"}i.icon.rupee:before{content:"\f156"}i.icon.s15:before{content:"\f2cd"}i.icon.selected.radio:before{content:"\f192"}i.icon.send:before{content:"\f1d8"}i.icon.setting:before{content:"\f013"}i.icon.settings:before{content:"\f085"}i.icon.shekel:before{content:"\f20b"}i.icon.sheqel:before{content:"\f20b"}i.icon.shipping:before{content:"\f0d1"}i.icon.shop:before{content:"\f07a"}i.icon.shuffle:before{content:"\f074"}i.icon.shutdown:before{content:"\f011"}i.icon.sidebar:before{content:"\f0c9"}i.icon.signing:before{content:"\f2a7"}i.icon.signup:before{content:"\f044"}i.icon.sliders:before{content:"\f1de"}i.icon.soccer:before{content:"\f1e3"}i.icon.sort.alphabet.ascending:before{content:"\f15d"}i.icon.sort.alphabet.descending:before{content:"\f15e"}i.icon.sort.ascending:before{content:"\f0de"}i.icon.sort.content.ascending:before{content:"\f160"}i.icon.sort.content.descending:before{content:"\f161"}i.icon.sort.descending:before{content:"\f0dd"}i.icon.sort.numeric.ascending:before{content:"\f162"}i.icon.sort.numeric.descending:before{content:"\f163"}i.icon.sound:before{content:"\f025"}i.icon.spy:before{content:"\f21b"}i.icon.stripe.card:before{content:"\f1f5"}i.icon.student:before{content:"\f19d"}i.icon.talk:before{content:"\f27a"}i.icon.target:before{content:"\f140"}i.icon.teletype:before{content:"\f1e4"}i.icon.television:before{content:"\f26c"}i.icon.text.cursor:before{content:"\f246"}i.icon.text.telephone:before{content:"\f1e4"}i.icon.theme.isle:before{content:"\f2b2"}i.icon.theme:before{content:"\f043"}i.icon.thermometer:before{content:"\f2c7"}i.icon.thumb.tack:before{content:"\f08d"}i.icon.time:before{content:"\f017"}i.icon.tm:before{content:"\f25c"}i.icon.toggle.down:before{content:"\f150"}i.icon.toggle.left:before{content:"\f191"}i.icon.toggle.right:before{content:"\f152"}i.icon.toggle.up:before{content:"\f151"}i.icon.translate:before{content:"\f1ab"}i.icon.travel:before{content:"\f0b1"}i.icon.treatment:before{content:"\f0f1"}i.icon.triangle.down:before{content:"\f0d7"}i.icon.triangle.left:before{content:"\f0d9"}i.icon.triangle.right:before{content:"\f0da"}i.icon.triangle.up:before{content:"\f0d8"}i.icon.try:before{content:"\f195"}i.icon.unhide:before{content:"\f06e"}i.icon.unlinkify:before{content:"\f127"}i.icon.unmute:before{content:"\f130"}i.icon.usd:before{content:"\f155"}i.icon.user.cancel:before{content:"\f235"}i.icon.user.close:before{content:"\f235"}i.icon.user.delete:before{content:"\f235"}i.icon.user.x:before{content:"\f235"}i.icon.vcard:before{content:"\f2bb"}i.icon.video.camera:before{content:"\f03d"}i.icon.video.play:before{content:"\f144"}i.icon.visa.card:before{content:"\f1f0"}i.icon.visa:before{content:"\f1f0"}i.icon.volume.control.phone:before{content:"\f2a0"}i.icon.wait:before{content:"\f017"}i.icon.warning.circle:before{content:"\f06a"}i.icon.warning.sign:before{content:"\f071"}i.icon.warning:before{content:"\f12a"}i.icon.wechat:before{content:"\f1d7"}i.icon.wi-fi:before{content:"\f1eb"}i.icon.wikipedia:before{content:"\f266"}i.icon.winner:before{content:"\f091"}i.icon.wizard:before{content:"\f0d0"}i.icon.woman:before{content:"\f221"}i.icon.won:before{content:"\f159"}i.icon.wordpress.beginner:before{content:"\f297"}i.icon.wordpress.forms:before{content:"\f298"}i.icon.world:before{content:"\f0ac"}i.icon.write.square:before{content:"\f14b"}i.icon.x:before{content:"\f00d"}i.icon.yc:before{content:"\f23b"}i.icon.ycombinator:before{content:"\f23b"}i.icon.yen:before{content:"\f157"}i.icon.zip:before{content:"\f187"}i.icon.zoom-in:before{content:"\f00e"}i.icon.zoom-out:before{content:"\f010"}i.icon.zoom:before{content:"\f00e"}i.icon.bitbucket.square:before{content:"\f171"}i.icon.checkmark.box:before{content:"\f14a"}i.icon.circle.thin:before{content:"\f111"}i.icon.cloud.download:before{content:"\f381"}i.icon.cloud.upload:before{content:"\f382"}i.icon.compose:before{content:"\f303"}i.icon.conversation:before{content:"\f086"}i.icon.credit.card.alternative:before{content:"\f09d"}i.icon.currency:before{content:"\f3d1"}i.icon.dashboard:before{content:"\f3fd"}i.icon.diamond:before{content:"\f3a5"}i.icon.disk:before{content:"\f0a0"}i.icon.exchange:before{content:"\f362"}i.icon.external.share:before{content:"\f14d"}i.icon.external.square:before{content:"\f360"}i.icon.external:before{content:"\f35d"}i.icon.facebook.official:before{content:"\f082"}i.icon.food:before{content:"\f2e7"}i.icon.hourglass.zero:before{content:"\f253"}i.icon.level.down:before{content:"\f3be"}i.icon.level.up:before{content:"\f3bf"}i.icon.logout:before{content:"\f2f5"}i.icon.meanpath:before{content:"\f0c8"}i.icon.money:before{content:"\f3d1"}i.icon.move:before{content:"\f0b2"}i.icon.pencil:before{content:"\f303"}i.icon.protect:before{content:"\f023"}i.icon.radio:before{content:"\f192"}i.icon.remove.bookmark:before{content:"\f02e"}i.icon.resize.horizontal:before{content:"\f337"}i.icon.resize.vertical:before{content:"\f338"}i.icon.sign-in:before{content:"\f2f6"}i.icon.sign-out:before{content:"\f2f5"}i.icon.spoon:before{content:"\f2e5"}i.icon.star.half.empty:before{content:"\f089"}i.icon.star.half.full:before{content:"\f089"}i.icon.ticket:before{content:"\f3ff"}i.icon.times.rectangle:before{content:"\f410"}i.icon.write:before{content:"\f303"}i.icon.youtube.play:before{content:"\f167"}@font-face{font-family:outline-icons;src:url(themes/default/assets/fonts/outline-icons.eot);src:url(themes/default/assets/fonts/outline-icons.eot?#iefix) format('embedded-opentype'),url(themes/default/assets/fonts/outline-icons.woff2) format('woff2'),url(themes/default/assets/fonts/outline-icons.woff) format('woff'),url(themes/default/assets/fonts/outline-icons.ttf) format('truetype'),url(themes/default/assets/fonts/outline-icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon.outline{font-family:outline-icons}i.icon.address.book.outline:before{content:"\f2b9"}i.icon.address.card.outline:before{content:"\f2bb"}i.icon.arrow.alternate.circle.down.outline:before{content:"\f358"}i.icon.arrow.alternate.circle.left.outline:before{content:"\f359"}i.icon.arrow.alternate.circle.right.outline:before{content:"\f35a"}i.icon.arrow.alternate.circle.up.outline:before{content:"\f35b"}i.icon.bell.outline:before{content:"\f0f3"}i.icon.bell.slash.outline:before{content:"\f1f6"}i.icon.bookmark.outline:before{content:"\f02e"}i.icon.building.outline:before{content:"\f1ad"}i.icon.calendar.outline:before{content:"\f133"}i.icon.calendar.alternate.outline:before{content:"\f073"}i.icon.calendar.check.outline:before{content:"\f274"}i.icon.calendar.minus.outline:before{content:"\f272"}i.icon.calendar.plus.outline:before{content:"\f271"}i.icon.calendar.times.outline:before{content:"\f273"}i.icon.caret.square.down.outline:before{content:"\f150"}i.icon.caret.square.left.outline:before{content:"\f191"}i.icon.caret.square.right.outline:before{content:"\f152"}i.icon.caret.square.up.outline:before{content:"\f151"}i.icon.chart.bar.outline:before{content:"\f080"}i.icon.check.circle.outline:before{content:"\f058"}i.icon.check.square.outline:before{content:"\f14a"}i.icon.circle.outline:before{content:"\f111"}i.icon.clipboard.outline:before{content:"\f328"}i.icon.clock.outline:before{content:"\f017"}i.icon.clone.outline:before{content:"\f24d"}i.icon.closed.captioning.outline:before{content:"\f20a"}i.icon.comment.outline:before{content:"\f075"}i.icon.comment.alternate.outline:before{content:"\f27a"}i.icon.comments.outline:before{content:"\f086"}i.icon.compass.outline:before{content:"\f14e"}i.icon.copy.outline:before{content:"\f0c5"}i.icon.copyright.outline:before{content:"\f1f9"}i.icon.credit.card.outline:before{content:"\f09d"}i.icon.dot.circle.outline:before{content:"\f192"}i.icon.edit.outline:before{content:"\f044"}i.icon.envelope.outline:before{content:"\f0e0"}i.icon.envelope.open.outline:before{content:"\f2b6"}i.icon.eye.slash.outline:before{content:"\f070"}i.icon.file.outline:before{content:"\f15b"}i.icon.file.alternate.outline:before{content:"\f15c"}i.icon.file.archive.outline:before{content:"\f1c6"}i.icon.file.audio.outline:before{content:"\f1c7"}i.icon.file.code.outline:before{content:"\f1c9"}i.icon.file.excel.outline:before{content:"\f1c3"}i.icon.file.image.outline:before{content:"\f1c5"}i.icon.file.pdf.outline:before{content:"\f1c1"}i.icon.file.powerpoint.outline:before{content:"\f1c4"}i.icon.file.video.outline:before{content:"\f1c8"}i.icon.file.word.outline:before{content:"\f1c2"}i.icon.flag.outline:before{content:"\f024"}i.icon.folder.outline:before{content:"\f07b"}i.icon.folder.open.outline:before{content:"\f07c"}i.icon.frown.outline:before{content:"\f119"}i.icon.futbol.outline:before{content:"\f1e3"}i.icon.gem.outline:before{content:"\f3a5"}i.icon.hand.lizard.outline:before{content:"\f258"}i.icon.hand.paper.outline:before{content:"\f256"}i.icon.hand.peace.outline:before{content:"\f25b"}i.icon.hand.point.down.outline:before{content:"\f0a7"}i.icon.hand.point.left.outline:before{content:"\f0a5"}i.icon.hand.point.right.outline:before{content:"\f0a4"}i.icon.hand.point.up.outline:before{content:"\f0a6"}i.icon.hand.pointer.outline:before{content:"\f25a"}i.icon.hand.rock.outline:before{content:"\f255"}i.icon.hand.scissors.outline:before{content:"\f257"}i.icon.hand.spock.outline:before{content:"\f259"}i.icon.handshake.outline:before{content:"\f2b5"}i.icon.hdd.outline:before{content:"\f0a0"}i.icon.heart.outline:before{content:"\f004"}i.icon.hospital.outline:before{content:"\f0f8"}i.icon.hourglass.outline:before{content:"\f254"}i.icon.id.badge.outline:before{content:"\f2c1"}i.icon.id.card.outline:before{content:"\f2c2"}i.icon.image.outline:before{content:"\f03e"}i.icon.images.outline:before{content:"\f302"}i.icon.keyboard.outline:before{content:"\f11c"}i.icon.lemon.outline:before{content:"\f094"}i.icon.life.ring.outline:before{content:"\f1cd"}i.icon.lightbulb.outline:before{content:"\f0eb"}i.icon.list.alternate.outline:before{content:"\f022"}i.icon.map.outline:before{content:"\f279"}i.icon.meh.outline:before{content:"\f11a"}i.icon.minus.square.outline:before{content:"\f146"}i.icon.money.bill.alternate.outline:before{content:"\f3d1"}i.icon.moon.outline:before{content:"\f186"}i.icon.newspaper.outline:before{content:"\f1ea"}i.icon.object.group.outline:before{content:"\f247"}i.icon.object.ungroup.outline:before{content:"\f248"}i.icon.paper.plane.outline:before{content:"\f1d8"}i.icon.pause.circle.outline:before{content:"\f28b"}i.icon.play.circle.outline:before{content:"\f144"}i.icon.plus.square.outline:before{content:"\f0fe"}i.icon.question.circle.outline:before{content:"\f059"}i.icon.registered.outline:before{content:"\f25d"}i.icon.save.outline:before{content:"\f0c7"}i.icon.share.square.outline:before{content:"\f14d"}i.icon.smile.outline:before{content:"\f118"}i.icon.snowflake.outline:before{content:"\f2dc"}i.icon.square.outline:before{content:"\f0c8"}i.icon.star.outline:before{content:"\f005"}i.icon.star.half.outline:before{content:"\f089"}i.icon.sticky.note.outline:before{content:"\f249"}i.icon.stop.circle.outline:before{content:"\f28d"}i.icon.sun.outline:before{content:"\f185"}i.icon.thumbs.down.outline:before{content:"\f165"}i.icon.thumbs.up.outline:before{content:"\f164"}i.icon.times.circle.outline:before{content:"\f057"}i.icon.trash.alternate.outline:before{content:"\f2ed"}i.icon.user.outline:before{content:"\f007"}i.icon.user.circle.outline:before{content:"\f2bd"}i.icon.window.close.outline:before{content:"\f410"}i.icon.window.maximize.outline:before{content:"\f2d0"}i.icon.window.minimize.outline:before{content:"\f2d1"}i.icon.window.restore.outline:before{content:"\f2d2"}i.icon.disk.outline:before{content:"\f0a0"}i.icon.heart.empty,i.icon.star.empty{font-family:outline-icons}i.icon.heart.empty:before{content:"\f004"}i.icon.star.empty:before{content:"\f089"}@font-face{font-family:brand-icons;src:url(themes/default/assets/fonts/brand-icons.eot);src:url(themes/default/assets/fonts/brand-icons.eot?#iefix) format('embedded-opentype'),url(themes/default/assets/fonts/brand-icons.woff2) format('woff2'),url(themes/default/assets/fonts/brand-icons.woff) format('woff'),url(themes/default/assets/fonts/brand-icons.ttf) format('truetype'),url(themes/default/assets/fonts/brand-icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon.\35 00px,i.icon.accessible.icon,i.icon.accusoft,i.icon.adn,i.icon.adversal,i.icon.affiliatetheme,i.icon.algolia,i.icon.amazon,i.icon.amazon.pay,i.icon.amilia,i.icon.android,i.icon.angellist,i.icon.angrycreative,i.icon.angular,i.icon.app.store,i.icon.app.store.ios,i.icon.apper,i.icon.apple,i.icon.apple.pay,i.icon.asymmetrik,i.icon.audible,i.icon.autoprefixer,i.icon.avianex,i.icon.aviato,i.icon.aws,i.icon.bandcamp,i.icon.behance,i.icon.behance.square,i.icon.bimobject,i.icon.bitbucket,i.icon.bitcoin,i.icon.bity,i.icon.black.tie,i.icon.blackberry,i.icon.blogger,i.icon.blogger.b,i.icon.bluetooth,i.icon.bluetooth.b,i.icon.btc,i.icon.buromobelexperte,i.icon.buysellads,i.icon.cc.amazon.pay,i.icon.cc.amex,i.icon.cc.apple.pay,i.icon.cc.diners.club,i.icon.cc.discover,i.icon.cc.jcb,i.icon.cc.mastercard,i.icon.cc.paypal,i.icon.cc.stripe,i.icon.cc.visa,i.icon.centercode,i.icon.chrome,i.icon.cloudscale,i.icon.cloudsmith,i.icon.cloudversify,i.icon.codepen,i.icon.codiepie,i.icon.connectdevelop,i.icon.contao,i.icon.cpanel,i.icon.creative.commons,i.icon.css3,i.icon.css3.alternate,i.icon.cuttlefish,i.icon.d.and.d,i.icon.dashcube,i.icon.delicious,i.icon.deploydog,i.icon.deskpro,i.icon.deviantart,i.icon.digg,i.icon.digital.ocean,i.icon.discord,i.icon.discourse,i.icon.dochub,i.icon.docker,i.icon.draft2digital,i.icon.dribbble,i.icon.dribbble.square,i.icon.dropbox,i.icon.drupal,i.icon.dyalog,i.icon.earlybirds,i.icon.edge,i.icon.elementor,i.icon.ember,i.icon.empire,i.icon.envira,i.icon.erlang,i.icon.ethereum,i.icon.etsy,i.icon.expeditedssl,i.icon.facebook,i.icon.facebook.f,i.icon.facebook.messenger,i.icon.facebook.square,i.icon.firefox,i.icon.first.order,i.icon.firstdraft,i.icon.flickr,i.icon.flipboard,i.icon.fly,i.icon.font.awesome,i.icon.font.awesome.alternate,i.icon.font.awesome.flag,i.icon.fonticons,i.icon.fonticons.fi,i.icon.fort.awesome,i.icon.fort.awesome.alternate,i.icon.forumbee,i.icon.foursquare,i.icon.free.code.camp,i.icon.freebsd,i.icon.get.pocket,i.icon.gg,i.icon.gg.circle,i.icon.git,i.icon.git.square,i.icon.github,i.icon.github.alternate,i.icon.github.square,i.icon.gitkraken,i.icon.gitlab,i.icon.gitter,i.icon.glide,i.icon.glide.g,i.icon.gofore,i.icon.goodreads,i.icon.goodreads.g,i.icon.google,i.icon.google.drive,i.icon.google.play,i.icon.google.plus,i.icon.google.plus.g,i.icon.google.plus.square,i.icon.google.wallet,i.icon.gratipay,i.icon.grav,i.icon.gripfire,i.icon.grunt,i.icon.gulp,i.icon.hacker.news,i.icon.hacker.news.square,i.icon.hips,i.icon.hire.a.helper,i.icon.hooli,i.icon.hotjar,i.icon.houzz,i.icon.html5,i.icon.hubspot,i.icon.imdb,i.icon.instagram,i.icon.internet.explorer,i.icon.ioxhost,i.icon.itunes,i.icon.itunes.note,i.icon.jenkins,i.icon.joget,i.icon.joomla,i.icon.js,i.icon.js.square,i.icon.jsfiddle,i.icon.keycdn,i.icon.kickstarter,i.icon.kickstarter.k,i.icon.korvue,i.icon.laravel,i.icon.lastfm,i.icon.lastfm.square,i.icon.leanpub,i.icon.less,i.icon.linechat,i.icon.linkedin,i.icon.linkedin.alternate,i.icon.linkedin.in,i.icon.linode,i.icon.linux,i.icon.lyft,i.icon.magento,i.icon.maxcdn,i.icon.medapps,i.icon.medium,i.icon.medium.m,i.icon.medrt,i.icon.meetup,i.icon.microsoft,i.icon.mix,i.icon.mixcloud,i.icon.mizuni,i.icon.modx,i.icon.monero,i.icon.napster,i.icon.nintendo.switch,i.icon.node,i.icon.node.js,i.icon.npm,i.icon.ns8,i.icon.nutritionix,i.icon.odnoklassniki,i.icon.odnoklassniki.square,i.icon.opencart,i.icon.openid,i.icon.opera,i.icon.optin.monster,i.icon.osi,i.icon.page4,i.icon.pagelines,i.icon.palfed,i.icon.patreon,i.icon.paypal,i.icon.periscope,i.icon.phabricator,i.icon.phoenix.framework,i.icon.php,i.icon.pied.piper,i.icon.pied.piper.alternate,i.icon.pied.piper.pp,i.icon.pinterest,i.icon.pinterest.p,i.icon.pinterest.square,i.icon.playstation,i.icon.product.hunt,i.icon.pushed,i.icon.python,i.icon.qq,i.icon.quinscape,i.icon.quora,i.icon.ravelry,i.icon.react,i.icon.rebel,i.icon.reddit,i.icon.reddit.alien,i.icon.reddit.square,i.icon.redriver,i.icon.rendact,i.icon.renren,i.icon.replyd,i.icon.resolving,i.icon.rocketchat,i.icon.rockrms,i.icon.safari,i.icon.sass,i.icon.schlix,i.icon.scribd,i.icon.searchengin,i.icon.sellcast,i.icon.sellsy,i.icon.servicestack,i.icon.shirtsinbulk,i.icon.simplybuilt,i.icon.sistrix,i.icon.skyatlas,i.icon.skype,i.icon.slack,i.icon.slack.hash,i.icon.slideshare,i.icon.snapchat,i.icon.snapchat.ghost,i.icon.snapchat.square,i.icon.soundcloud,i.icon.speakap,i.icon.spotify,i.icon.stack.exchange,i.icon.stack.overflow,i.icon.staylinked,i.icon.steam,i.icon.steam.square,i.icon.steam.symbol,i.icon.sticker.mule,i.icon.strava,i.icon.stripe,i.icon.stripe.s,i.icon.studiovinari,i.icon.stumbleupon,i.icon.stumbleupon.circle,i.icon.superpowers,i.icon.supple,i.icon.telegram,i.icon.telegram.plane,i.icon.tencent.weibo,i.icon.themeisle,i.icon.trello,i.icon.tripadvisor,i.icon.tumblr,i.icon.tumblr.square,i.icon.twitch,i.icon.twitter,i.icon.twitter.square,i.icon.typo3,i.icon.uber,i.icon.uikit,i.icon.uniregistry,i.icon.untappd,i.icon.usb,i.icon.ussunnah,i.icon.vaadin,i.icon.viacoin,i.icon.viadeo,i.icon.viadeo.square,i.icon.viber,i.icon.vimeo,i.icon.vimeo.square,i.icon.vimeo.v,i.icon.vine,i.icon.vk,i.icon.vnv,i.icon.vuejs,i.icon.wechat,i.icon.weibo,i.icon.weixin,i.icon.whatsapp,i.icon.whatsapp.square,i.icon.whmcs,i.icon.wikipedia.w,i.icon.windows,i.icon.wordpress,i.icon.wordpress.simple,i.icon.wpbeginner,i.icon.wpexplorer,i.icon.wpforms,i.icon.xbox,i.icon.xing,i.icon.xing.square,i.icon.y.combinator,i.icon.yahoo,i.icon.yandex,i.icon.yandex.international,i.icon.yelp,i.icon.yoast,i.icon.youtube,i.icon.youtube.square{font-family:brand-icons}/*! - * # Semantic UI 2.4.0 - Image - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.image{position:relative;display:inline-block;vertical-align:middle;max-width:100%;background-color:transparent}img.ui.image{display:block}.ui.image img,.ui.image svg{display:block;max-width:100%;height:auto}.ui.hidden.image,.ui.hidden.images{display:none}.ui.hidden.transition.image,.ui.hidden.transition.images{display:block;visibility:hidden}.ui.images>.hidden.transition{display:inline-block;visibility:hidden}.ui.disabled.image,.ui.disabled.images{cursor:default;opacity:.45}.ui.inline.image,.ui.inline.image img,.ui.inline.image svg{display:inline-block}.ui.top.aligned.image,.ui.top.aligned.image img,.ui.top.aligned.image svg,.ui.top.aligned.images .image{display:inline-block;vertical-align:top}.ui.middle.aligned.image,.ui.middle.aligned.image img,.ui.middle.aligned.image svg,.ui.middle.aligned.images .image{display:inline-block;vertical-align:middle}.ui.bottom.aligned.image,.ui.bottom.aligned.image img,.ui.bottom.aligned.image svg,.ui.bottom.aligned.images .image{display:inline-block;vertical-align:bottom}.ui.rounded.image,.ui.rounded.image>*,.ui.rounded.images .image,.ui.rounded.images .image>*{border-radius:.3125em}.ui.bordered.image img,.ui.bordered.image svg,.ui.bordered.images .image,.ui.bordered.images img,.ui.bordered.images svg,img.ui.bordered.image{border:1px solid rgba(0,0,0,.1)}.ui.circular.image,.ui.circular.images{overflow:hidden}.ui.circular.image,.ui.circular.image>*,.ui.circular.images .image,.ui.circular.images .image>*{border-radius:500rem}.ui.fluid.image,.ui.fluid.image img,.ui.fluid.image svg,.ui.fluid.images,.ui.fluid.images img,.ui.fluid.images svg{display:block;width:100%;height:auto}.ui.avatar.image,.ui.avatar.image img,.ui.avatar.image svg,.ui.avatar.images .image,.ui.avatar.images img,.ui.avatar.images svg{margin-right:.25em;display:inline-block;width:2em;height:2em;border-radius:500rem}.ui.spaced.image{display:inline-block!important;margin-left:.5em;margin-right:.5em}.ui[class*="left spaced"].image{margin-left:.5em;margin-right:0}.ui[class*="right spaced"].image{margin-left:0;margin-right:.5em}.ui.floated.image,.ui.floated.images{float:left;margin-right:1em;margin-bottom:1em}.ui.right.floated.image,.ui.right.floated.images{float:right;margin-right:0;margin-bottom:1em;margin-left:1em}.ui.floated.image:last-child,.ui.floated.images:last-child{margin-bottom:0}.ui.centered.image,.ui.centered.images{margin-left:auto;margin-right:auto}.ui.mini.image,.ui.mini.images .image,.ui.mini.images img,.ui.mini.images svg{width:35px;height:auto;font-size:.78571429rem}.ui.tiny.image,.ui.tiny.images .image,.ui.tiny.images img,.ui.tiny.images svg{width:80px;height:auto;font-size:.85714286rem}.ui.small.image,.ui.small.images .image,.ui.small.images img,.ui.small.images svg{width:150px;height:auto;font-size:.92857143rem}.ui.medium.image,.ui.medium.images .image,.ui.medium.images img,.ui.medium.images svg{width:300px;height:auto;font-size:1rem}.ui.large.image,.ui.large.images .image,.ui.large.images img,.ui.large.images svg{width:450px;height:auto;font-size:1.14285714rem}.ui.big.image,.ui.big.images .image,.ui.big.images img,.ui.big.images svg{width:600px;height:auto;font-size:1.28571429rem}.ui.huge.image,.ui.huge.images .image,.ui.huge.images img,.ui.huge.images svg{width:800px;height:auto;font-size:1.42857143rem}.ui.massive.image,.ui.massive.images .image,.ui.massive.images img,.ui.massive.images svg{width:960px;height:auto;font-size:1.71428571rem}.ui.images{font-size:0;margin:0 -.25rem 0}.ui.images .image,.ui.images>img,.ui.images>svg{display:inline-block;margin:0 .25rem .5rem}/*! - * # Semantic UI 2.4.0 - Input - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.input{position:relative;font-weight:400;font-style:normal;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;color:rgba(0,0,0,.87)}.ui.input>input{margin:0;max-width:100%;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:1.21428571em;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;padding:.67857143em 1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-transition:border-color .1s ease,-webkit-box-shadow .1s ease;transition:border-color .1s ease,-webkit-box-shadow .1s ease;transition:box-shadow .1s ease,border-color .1s ease;transition:box-shadow .1s ease,border-color .1s ease,-webkit-box-shadow .1s ease;-webkit-box-shadow:none;box-shadow:none}.ui.input>input::-webkit-input-placeholder{color:rgba(191,191,191,.87)}.ui.input>input::-moz-placeholder{color:rgba(191,191,191,.87)}.ui.input>input:-ms-input-placeholder{color:rgba(191,191,191,.87)}.ui.disabled.input,.ui.input:not(.disabled) input[disabled]{opacity:.45}.ui.disabled.input>input,.ui.input:not(.disabled) input[disabled]{pointer-events:none}.ui.input.down input,.ui.input>input:active{border-color:rgba(0,0,0,.3);background:#fafafa;color:rgba(0,0,0,.87);-webkit-box-shadow:none;box-shadow:none}.ui.loading.loading.input>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.loading.input>i.icon:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}.ui.input.focus>input,.ui.input>input:focus{border-color:#85b7d9;background:#fff;color:rgba(0,0,0,.8);-webkit-box-shadow:none;box-shadow:none}.ui.input.focus>input::-webkit-input-placeholder,.ui.input>input:focus::-webkit-input-placeholder{color:rgba(115,115,115,.87)}.ui.input.focus>input::-moz-placeholder,.ui.input>input:focus::-moz-placeholder{color:rgba(115,115,115,.87)}.ui.input.focus>input:-ms-input-placeholder,.ui.input>input:focus:-ms-input-placeholder{color:rgba(115,115,115,.87)}.ui.input.error>input{background-color:#fff6f6;border-color:#e0b4b4;color:#9f3a38;-webkit-box-shadow:none;box-shadow:none}.ui.input.error>input::-webkit-input-placeholder{color:#e7bdbc}.ui.input.error>input::-moz-placeholder{color:#e7bdbc}.ui.input.error>input:-ms-input-placeholder{color:#e7bdbc!important}.ui.input.error>input:focus::-webkit-input-placeholder{color:#da9796}.ui.input.error>input:focus::-moz-placeholder{color:#da9796}.ui.input.error>input:focus:-ms-input-placeholder{color:#da9796!important}.ui.transparent.input>input{border-color:transparent!important;background-color:transparent!important;padding:0!important;-webkit-box-shadow:none!important;box-shadow:none!important;border-radius:0!important}.ui.transparent.icon.input>i.icon{width:1.1em}.ui.transparent.icon.input>input{padding-left:0!important;padding-right:2em!important}.ui.transparent[class*="left icon"].input>input{padding-left:2em!important;padding-right:0!important}.ui.transparent.inverted.input{color:#fff}.ui.transparent.inverted.input>input{color:inherit}.ui.transparent.inverted.input>input::-webkit-input-placeholder{color:rgba(255,255,255,.5)}.ui.transparent.inverted.input>input::-moz-placeholder{color:rgba(255,255,255,.5)}.ui.transparent.inverted.input>input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.ui.icon.input>i.icon{cursor:default;position:absolute;line-height:1;text-align:center;top:0;right:0;margin:0;height:100%;width:2.67142857em;opacity:.5;border-radius:0 .28571429rem .28571429rem 0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.ui.icon.input>i.icon:not(.link){pointer-events:none}.ui.icon.input>input{padding-right:2.67142857em!important}.ui.icon.input>i.icon:after,.ui.icon.input>i.icon:before{left:0;position:absolute;text-align:center;top:50%;width:100%;margin-top:-.5em}.ui.icon.input>i.link.icon{cursor:pointer}.ui.icon.input>i.circular.icon{top:.35em;right:.5em}.ui[class*="left icon"].input>i.icon{right:auto;left:1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="left icon"].input>i.circular.icon{right:auto;left:.5em}.ui[class*="left icon"].input>input{padding-left:2.67142857em!important;padding-right:1em!important}.ui.icon.input>input:focus~i.icon{opacity:1}.ui.labeled.input>.label{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin:0;font-size:1em}.ui.labeled.input>.label:not(.corner){padding-top:.78571429em;padding-bottom:.78571429em}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child+input{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:transparent}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child+input:focus{border-left-color:#85b7d9}.ui[class*="right labeled"].input>input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right-color:transparent!important}.ui[class*="right labeled"].input>input+.label{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="right labeled"].input>input:focus{border-right-color:#85b7d9!important}.ui.labeled.input .corner.label{top:1px;right:1px;font-size:.64285714em;border-radius:0 .28571429rem 0 0}.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input>input{padding-right:2.5em!important}.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"])>input{padding-right:3.25em!important}.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"])>.icon{margin-right:1.25em}.ui[class*="left corner labeled"].labeled.input>input{padding-left:2.5em!important}.ui[class*="left corner labeled"].icon.input>input{padding-left:3.25em!important}.ui[class*="left corner labeled"].icon.input>.icon{margin-left:1.25em}.ui.input>.ui.corner.label{top:1px;right:1px}.ui.input>.ui.left.corner.label{right:auto;left:1px}.ui.action.input>.button,.ui.action.input>.buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.ui.action.input>.button,.ui.action.input>.buttons>.button{padding-top:.78571429em;padding-bottom:.78571429em;margin:0}.ui.action.input:not([class*="left action"])>input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right-color:transparent!important}.ui.action.input:not([class*="left action"])>.button:not(:first-child),.ui.action.input:not([class*="left action"])>.buttons:not(:first-child)>.button,.ui.action.input:not([class*="left action"])>.dropdown:not(:first-child){border-radius:0}.ui.action.input:not([class*="left action"])>.button:last-child,.ui.action.input:not([class*="left action"])>.buttons:last-child>.button,.ui.action.input:not([class*="left action"])>.dropdown:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.action.input:not([class*="left action"])>input:focus{border-right-color:#85b7d9!important}.ui[class*="left action"].input>input{border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-left-color:transparent!important}.ui[class*="left action"].input>.button,.ui[class*="left action"].input>.buttons>.button,.ui[class*="left action"].input>.dropdown{border-radius:0}.ui[class*="left action"].input>.button:first-child,.ui[class*="left action"].input>.buttons:first-child>.button,.ui[class*="left action"].input>.dropdown:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="left action"].input>input:focus{border-left-color:#85b7d9!important}.ui.inverted.input>input{border:none}.ui.fluid.input{display:-webkit-box;display:-ms-flexbox;display:flex}.ui.fluid.input>input{width:0!important}.ui.mini.input{font-size:.78571429em}.ui.small.input{font-size:.92857143em}.ui.input{font-size:1em}.ui.large.input{font-size:1.14285714em}.ui.big.input{font-size:1.28571429em}.ui.huge.input{font-size:1.42857143em}.ui.massive.input{font-size:1.71428571em}/*! - * # Semantic UI 2.4.0 - Label - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.label{display:inline-block;line-height:1;vertical-align:baseline;margin:0 .14285714em;background-color:#e8e8e8;background-image:none;padding:.5833em .833em;color:rgba(0,0,0,.6);text-transform:none;font-weight:700;border:0 solid transparent;border-radius:.28571429rem;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.label:first-child{margin-left:0}.ui.label:last-child{margin-right:0}a.ui.label{cursor:pointer}.ui.label>a{cursor:pointer;color:inherit;opacity:.5;-webkit-transition:.1s opacity ease;transition:.1s opacity ease}.ui.label>a:hover{opacity:1}.ui.label>img{width:auto!important;vertical-align:middle;height:2.1666em!important}.ui.label>.icon{width:auto;margin:0 .75em 0 0}.ui.label>.detail{display:inline-block;vertical-align:top;font-weight:700;margin-left:1em;opacity:.8}.ui.label>.detail .icon{margin:0 .25em 0 0}.ui.label>.close.icon,.ui.label>.delete.icon{cursor:pointer;margin-right:0;margin-left:.5em;font-size:.92857143em;opacity:.5;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.label>.delete.icon:hover{opacity:1}.ui.labels>.label{margin:0 .5em .5em 0}.ui.header>.ui.label{margin-top:-.29165em}.ui.attached.segment>.ui.top.left.attached.label,.ui.bottom.attached.segment>.ui.top.left.attached.label{border-top-left-radius:0}.ui.attached.segment>.ui.top.right.attached.label,.ui.bottom.attached.segment>.ui.top.right.attached.label{border-top-right-radius:0}.ui.top.attached.segment>.ui.bottom.left.attached.label{border-bottom-left-radius:0}.ui.top.attached.segment>.ui.bottom.right.attached.label{border-bottom-right-radius:0}.ui.top.attached.label+[class*="right floated"]+*,.ui.top.attached.label:first-child+:not(.attached){margin-top:2rem!important}.ui.bottom.attached.label:first-child~:last-child:not(.attached){margin-top:0;margin-bottom:2rem!important}.ui.image.label{width:auto!important;margin-top:0;margin-bottom:0;max-width:9999px;vertical-align:baseline;text-transform:none;background:#e8e8e8;padding:.5833em .833em .5833em .5em;border-radius:.28571429rem;-webkit-box-shadow:none;box-shadow:none}.ui.image.label img{display:inline-block;vertical-align:top;height:2.1666em;margin:-.5833em .5em -.5833em -.5em;border-radius:.28571429rem 0 0 .28571429rem}.ui.image.label .detail{background:rgba(0,0,0,.1);margin:-.5833em -.833em -.5833em .5em;padding:.5833em .833em;border-radius:0 .28571429rem .28571429rem 0}.ui.tag.label,.ui.tag.labels .label{margin-left:1em;position:relative;padding-left:1.5em;padding-right:1.5em;border-radius:0 .28571429rem .28571429rem 0;-webkit-transition:none;transition:none}.ui.tag.label:before,.ui.tag.labels .label:before{position:absolute;-webkit-transform:translateY(-50%) translateX(50%) rotate(-45deg);transform:translateY(-50%) translateX(50%) rotate(-45deg);top:50%;right:100%;content:'';background-color:inherit;background-image:none;width:1.56em;height:1.56em;-webkit-transition:none;transition:none}.ui.tag.label:after,.ui.tag.labels .label:after{position:absolute;content:'';top:50%;left:-.25em;margin-top:-.25em;background-color:#fff!important;width:.5em;height:.5em;-webkit-box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);border-radius:500rem}.ui.corner.label{position:absolute;top:0;right:0;margin:0;padding:0;text-align:center;border-color:#e8e8e8;width:4em;height:4em;z-index:1;-webkit-transition:border-color .1s ease;transition:border-color .1s ease}.ui.corner.label{background-color:transparent!important}.ui.corner.label:after{position:absolute;content:"";right:0;top:0;z-index:-1;width:0;height:0;background-color:transparent!important;border-top:0 solid transparent;border-right:4em solid transparent;border-bottom:4em solid transparent;border-left:0 solid transparent;border-right-color:inherit;-webkit-transition:border-color .1s ease;transition:border-color .1s ease}.ui.corner.label .icon{cursor:default;position:relative;top:.64285714em;left:.78571429em;font-size:1.14285714em;margin:0}.ui.left.corner.label,.ui.left.corner.label:after{right:auto;left:0}.ui.left.corner.label:after{border-top:4em solid transparent;border-right:4em solid transparent;border-bottom:0 solid transparent;border-left:0 solid transparent;border-top-color:inherit}.ui.left.corner.label .icon{left:-.78571429em}.ui.segment>.ui.corner.label{top:-1px;right:-1px}.ui.segment>.ui.left.corner.label{right:auto;left:-1px}.ui.ribbon.label{position:relative;margin:0;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;border-radius:0 .28571429rem .28571429rem 0;border-color:rgba(0,0,0,.15)}.ui.ribbon.label:after{position:absolute;content:'';top:100%;left:0;background-color:transparent!important;border-style:solid;border-width:0 1.2em 1.2em 0;border-color:transparent;border-right-color:inherit;width:0;height:0}.ui.ribbon.label{left:calc(-1rem - 1.2em);margin-right:-1.2em;padding-left:calc(1rem + 1.2em);padding-right:1.2em}.ui[class*="right ribbon"].label{left:calc(100% + 1rem + 1.2em);padding-left:1.2em;padding-right:calc(1rem + 1.2em)}.ui[class*="right ribbon"].label{text-align:left;-webkit-transform:translateX(-100%);transform:translateX(-100%);border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="right ribbon"].label:after{left:auto;right:0;border-style:solid;border-width:1.2em 1.2em 0 0;border-color:transparent;border-top-color:inherit}.ui.card .image>.ribbon.label,.ui.image>.ribbon.label{position:absolute;top:1rem}.ui.card .image>.ui.ribbon.label,.ui.image>.ui.ribbon.label{left:calc(.05rem - 1.2em)}.ui.card .image>.ui[class*="right ribbon"].label,.ui.image>.ui[class*="right ribbon"].label{left:calc(100% + -.05rem + 1.2em);padding-left:.833em}.ui.table td>.ui.ribbon.label{left:calc(-.78571429em - 1.2em)}.ui.table td>.ui[class*="right ribbon"].label{left:calc(100% + .78571429em + 1.2em);padding-left:.833em}.ui.attached.label,.ui[class*="top attached"].label{width:100%;position:absolute;margin:0;top:0;left:0;padding:.75em 1em;border-radius:.21428571rem .21428571rem 0 0}.ui[class*="bottom attached"].label{top:auto;bottom:0;border-radius:0 0 .21428571rem .21428571rem}.ui[class*="top left attached"].label{width:auto;margin-top:0!important;border-radius:.21428571rem 0 .28571429rem 0}.ui[class*="top right attached"].label{width:auto;left:auto;right:0;border-radius:0 .21428571rem 0 .28571429rem}.ui[class*="bottom left attached"].label{width:auto;top:auto;bottom:0;border-radius:0 .28571429rem 0 .21428571rem}.ui[class*="bottom right attached"].label{top:auto;bottom:0;left:auto;right:0;width:auto;border-radius:.28571429rem 0 .21428571rem 0}.ui.label.disabled{opacity:.5}a.ui.label:hover,a.ui.labels .label:hover{background-color:#e0e0e0;border-color:#e0e0e0;background-image:none;color:rgba(0,0,0,.8)}.ui.labels a.label:hover:before,a.ui.label:hover:before{color:rgba(0,0,0,.8)}.ui.active.label{background-color:#d0d0d0;border-color:#d0d0d0;background-image:none;color:rgba(0,0,0,.95)}.ui.active.label:before{background-color:#d0d0d0;background-image:none;color:rgba(0,0,0,.95)}a.ui.active.label:hover,a.ui.labels .active.label:hover{background-color:#c8c8c8;border-color:#c8c8c8;background-image:none;color:rgba(0,0,0,.95)}.ui.labels a.active.label:ActiveHover:before,a.ui.active.label:ActiveHover:before{background-color:#c8c8c8;background-image:none;color:rgba(0,0,0,.95)}.ui.label.visible:not(.dropdown),.ui.labels.visible .label{display:inline-block!important}.ui.label.hidden,.ui.labels.hidden .label{display:none!important}.ui.red.label,.ui.red.labels .label{background-color:#db2828!important;border-color:#db2828!important;color:#fff!important}.ui.red.labels .label:hover,a.ui.red.label:hover{background-color:#d01919!important;border-color:#d01919!important;color:#fff!important}.ui.red.corner.label,.ui.red.corner.label:hover{background-color:transparent!important}.ui.red.ribbon.label{border-color:#b21e1e!important}.ui.basic.red.label{background:none #fff!important;color:#db2828!important;border-color:#db2828!important}.ui.basic.red.labels a.label:hover,a.ui.basic.red.label:hover{background-color:#fff!important;color:#d01919!important;border-color:#d01919!important}.ui.orange.label,.ui.orange.labels .label{background-color:#f2711c!important;border-color:#f2711c!important;color:#fff!important}.ui.orange.labels .label:hover,a.ui.orange.label:hover{background-color:#f26202!important;border-color:#f26202!important;color:#fff!important}.ui.orange.corner.label,.ui.orange.corner.label:hover{background-color:transparent!important}.ui.orange.ribbon.label{border-color:#cf590c!important}.ui.basic.orange.label{background:none #fff!important;color:#f2711c!important;border-color:#f2711c!important}.ui.basic.orange.labels a.label:hover,a.ui.basic.orange.label:hover{background-color:#fff!important;color:#f26202!important;border-color:#f26202!important}.ui.yellow.label,.ui.yellow.labels .label{background-color:#fbbd08!important;border-color:#fbbd08!important;color:#fff!important}.ui.yellow.labels .label:hover,a.ui.yellow.label:hover{background-color:#eaae00!important;border-color:#eaae00!important;color:#fff!important}.ui.yellow.corner.label,.ui.yellow.corner.label:hover{background-color:transparent!important}.ui.yellow.ribbon.label{border-color:#cd9903!important}.ui.basic.yellow.label{background:none #fff!important;color:#fbbd08!important;border-color:#fbbd08!important}.ui.basic.yellow.labels a.label:hover,a.ui.basic.yellow.label:hover{background-color:#fff!important;color:#eaae00!important;border-color:#eaae00!important}.ui.olive.label,.ui.olive.labels .label{background-color:#b5cc18!important;border-color:#b5cc18!important;color:#fff!important}.ui.olive.labels .label:hover,a.ui.olive.label:hover{background-color:#a7bd0d!important;border-color:#a7bd0d!important;color:#fff!important}.ui.olive.corner.label,.ui.olive.corner.label:hover{background-color:transparent!important}.ui.olive.ribbon.label{border-color:#198f35!important}.ui.basic.olive.label{background:none #fff!important;color:#b5cc18!important;border-color:#b5cc18!important}.ui.basic.olive.labels a.label:hover,a.ui.basic.olive.label:hover{background-color:#fff!important;color:#a7bd0d!important;border-color:#a7bd0d!important}.ui.green.label,.ui.green.labels .label{background-color:#21ba45!important;border-color:#21ba45!important;color:#fff!important}.ui.green.labels .label:hover,a.ui.green.label:hover{background-color:#16ab39!important;border-color:#16ab39!important;color:#fff!important}.ui.green.corner.label,.ui.green.corner.label:hover{background-color:transparent!important}.ui.green.ribbon.label{border-color:#198f35!important}.ui.basic.green.label{background:none #fff!important;color:#21ba45!important;border-color:#21ba45!important}.ui.basic.green.labels a.label:hover,a.ui.basic.green.label:hover{background-color:#fff!important;color:#16ab39!important;border-color:#16ab39!important}.ui.teal.label,.ui.teal.labels .label{background-color:#00b5ad!important;border-color:#00b5ad!important;color:#fff!important}.ui.teal.labels .label:hover,a.ui.teal.label:hover{background-color:#009c95!important;border-color:#009c95!important;color:#fff!important}.ui.teal.corner.label,.ui.teal.corner.label:hover{background-color:transparent!important}.ui.teal.ribbon.label{border-color:#00827c!important}.ui.basic.teal.label{background:none #fff!important;color:#00b5ad!important;border-color:#00b5ad!important}.ui.basic.teal.labels a.label:hover,a.ui.basic.teal.label:hover{background-color:#fff!important;color:#009c95!important;border-color:#009c95!important}.ui.blue.label,.ui.blue.labels .label{background-color:#2185d0!important;border-color:#2185d0!important;color:#fff!important}.ui.blue.labels .label:hover,a.ui.blue.label:hover{background-color:#1678c2!important;border-color:#1678c2!important;color:#fff!important}.ui.blue.corner.label,.ui.blue.corner.label:hover{background-color:transparent!important}.ui.blue.ribbon.label{border-color:#1a69a4!important}.ui.basic.blue.label{background:none #fff!important;color:#2185d0!important;border-color:#2185d0!important}.ui.basic.blue.labels a.label:hover,a.ui.basic.blue.label:hover{background-color:#fff!important;color:#1678c2!important;border-color:#1678c2!important}.ui.violet.label,.ui.violet.labels .label{background-color:#6435c9!important;border-color:#6435c9!important;color:#fff!important}.ui.violet.labels .label:hover,a.ui.violet.label:hover{background-color:#5829bb!important;border-color:#5829bb!important;color:#fff!important}.ui.violet.corner.label,.ui.violet.corner.label:hover{background-color:transparent!important}.ui.violet.ribbon.label{border-color:#502aa1!important}.ui.basic.violet.label{background:none #fff!important;color:#6435c9!important;border-color:#6435c9!important}.ui.basic.violet.labels a.label:hover,a.ui.basic.violet.label:hover{background-color:#fff!important;color:#5829bb!important;border-color:#5829bb!important}.ui.purple.label,.ui.purple.labels .label{background-color:#a333c8!important;border-color:#a333c8!important;color:#fff!important}.ui.purple.labels .label:hover,a.ui.purple.label:hover{background-color:#9627ba!important;border-color:#9627ba!important;color:#fff!important}.ui.purple.corner.label,.ui.purple.corner.label:hover{background-color:transparent!important}.ui.purple.ribbon.label{border-color:#82299f!important}.ui.basic.purple.label{background:none #fff!important;color:#a333c8!important;border-color:#a333c8!important}.ui.basic.purple.labels a.label:hover,a.ui.basic.purple.label:hover{background-color:#fff!important;color:#9627ba!important;border-color:#9627ba!important}.ui.pink.label,.ui.pink.labels .label{background-color:#e03997!important;border-color:#e03997!important;color:#fff!important}.ui.pink.labels .label:hover,a.ui.pink.label:hover{background-color:#e61a8d!important;border-color:#e61a8d!important;color:#fff!important}.ui.pink.corner.label,.ui.pink.corner.label:hover{background-color:transparent!important}.ui.pink.ribbon.label{border-color:#c71f7e!important}.ui.basic.pink.label{background:none #fff!important;color:#e03997!important;border-color:#e03997!important}.ui.basic.pink.labels a.label:hover,a.ui.basic.pink.label:hover{background-color:#fff!important;color:#e61a8d!important;border-color:#e61a8d!important}.ui.brown.label,.ui.brown.labels .label{background-color:#a5673f!important;border-color:#a5673f!important;color:#fff!important}.ui.brown.labels .label:hover,a.ui.brown.label:hover{background-color:#975b33!important;border-color:#975b33!important;color:#fff!important}.ui.brown.corner.label,.ui.brown.corner.label:hover{background-color:transparent!important}.ui.brown.ribbon.label{border-color:#805031!important}.ui.basic.brown.label{background:none #fff!important;color:#a5673f!important;border-color:#a5673f!important}.ui.basic.brown.labels a.label:hover,a.ui.basic.brown.label:hover{background-color:#fff!important;color:#975b33!important;border-color:#975b33!important}.ui.grey.label,.ui.grey.labels .label{background-color:#767676!important;border-color:#767676!important;color:#fff!important}.ui.grey.labels .label:hover,a.ui.grey.label:hover{background-color:#838383!important;border-color:#838383!important;color:#fff!important}.ui.grey.corner.label,.ui.grey.corner.label:hover{background-color:transparent!important}.ui.grey.ribbon.label{border-color:#805031!important}.ui.basic.grey.label{background:none #fff!important;color:#767676!important;border-color:#767676!important}.ui.basic.grey.labels a.label:hover,a.ui.basic.grey.label:hover{background-color:#fff!important;color:#838383!important;border-color:#838383!important}.ui.black.label,.ui.black.labels .label{background-color:#1b1c1d!important;border-color:#1b1c1d!important;color:#fff!important}.ui.black.labels .label:hover,a.ui.black.label:hover{background-color:#27292a!important;border-color:#27292a!important;color:#fff!important}.ui.black.corner.label,.ui.black.corner.label:hover{background-color:transparent!important}.ui.black.ribbon.label{border-color:#805031!important}.ui.basic.black.label{background:none #fff!important;color:#1b1c1d!important;border-color:#1b1c1d!important}.ui.basic.black.labels a.label:hover,a.ui.basic.black.label:hover{background-color:#fff!important;color:#27292a!important;border-color:#27292a!important}.ui.basic.label{background:none #fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);-webkit-box-shadow:none;box-shadow:none}a.ui.basic.label:hover{text-decoration:none;background:none #fff;color:#1e70bf;-webkit-box-shadow:1px solid rgba(34,36,38,.15);box-shadow:1px solid rgba(34,36,38,.15);-webkit-box-shadow:none;box-shadow:none}.ui.basic.pointing.label:before{border-color:inherit}.ui.fluid.labels>.label,.ui.label.fluid{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.ui.inverted.label,.ui.inverted.labels .label{color:rgba(255,255,255,.9)!important}.ui.horizontal.label,.ui.horizontal.labels .label{margin:0 .5em 0 0;padding:.4em .833em;min-width:3em;text-align:center}.ui.circular.label,.ui.circular.labels .label{min-width:2em;min-height:2em;padding:.5em!important;line-height:1em;text-align:center;border-radius:500rem}.ui.empty.circular.label,.ui.empty.circular.labels .label{min-width:0;min-height:0;overflow:hidden;width:.5em;height:.5em;vertical-align:baseline}.ui.pointing.label{position:relative}.ui.attached.pointing.label{position:absolute}.ui.pointing.label:before{background-color:inherit;background-image:inherit;border-width:none;border-style:solid;border-color:inherit}.ui.pointing.label:before{position:absolute;content:'';-webkit-transform:rotate(45deg);transform:rotate(45deg);background-image:none;z-index:2;width:.6666em;height:.6666em;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.pointing.label,.ui[class*="pointing above"].label{margin-top:1em}.ui.pointing.label:before,.ui[class*="pointing above"].label:before{border-width:1px 0 0 1px;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);top:0;left:50%}.ui[class*="bottom pointing"].label,.ui[class*="pointing below"].label{margin-top:0;margin-bottom:1em}.ui[class*="bottom pointing"].label:before,.ui[class*="pointing below"].label:before{border-width:0 1px 1px 0;top:auto;right:auto;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);top:100%;left:50%}.ui[class*="left pointing"].label{margin-top:0;margin-left:.6666em}.ui[class*="left pointing"].label:before{border-width:0 0 1px 1px;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);bottom:auto;right:auto;top:50%;left:0}.ui[class*="right pointing"].label{margin-top:0;margin-right:.6666em}.ui[class*="right pointing"].label:before{border-width:1px 1px 0 0;-webkit-transform:translateX(50%) translateY(-50%) rotate(45deg);transform:translateX(50%) translateY(-50%) rotate(45deg);top:50%;right:0;bottom:auto;left:auto}.ui.basic.pointing.label:before,.ui.basic[class*="pointing above"].label:before{margin-top:-1px}.ui.basic[class*="bottom pointing"].label:before,.ui.basic[class*="pointing below"].label:before{bottom:auto;top:100%;margin-top:1px}.ui.basic[class*="left pointing"].label:before{top:50%;left:-1px}.ui.basic[class*="right pointing"].label:before{top:50%;right:-1px}.ui.floating.label{position:absolute;z-index:100;top:-1em;left:100%;margin:0 0 0 -1.5em!important}.ui.mini.label,.ui.mini.labels .label{font-size:.64285714rem}.ui.tiny.label,.ui.tiny.labels .label{font-size:.71428571rem}.ui.small.label,.ui.small.labels .label{font-size:.78571429rem}.ui.label,.ui.labels .label{font-size:.85714286rem}.ui.large.label,.ui.large.labels .label{font-size:1rem}.ui.big.label,.ui.big.labels .label{font-size:1.28571429rem}.ui.huge.label,.ui.huge.labels .label{font-size:1.42857143rem}.ui.massive.label,.ui.massive.labels .label{font-size:1.71428571rem}/*! - * # Semantic UI 2.4.0 - List - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.list,ol.ui.list,ul.ui.list{list-style-type:none;margin:1em 0;padding:0 0}.ui.list:first-child,ol.ui.list:first-child,ul.ui.list:first-child{margin-top:0;padding-top:0}.ui.list:last-child,ol.ui.list:last-child,ul.ui.list:last-child{margin-bottom:0;padding-bottom:0}.ui.list .list>.item,.ui.list>.item,ol.ui.list li,ul.ui.list li{display:list-item;table-layout:fixed;list-style-type:none;list-style-position:outside;padding:.21428571em 0;line-height:1.14285714em}.ui.list>.item:after,.ui.list>.list>.item,ol.ui.list>li:first-child:after,ul.ui.list>li:first-child:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.list .list>.item:first-child,.ui.list>.item:first-child,ol.ui.list li:first-child,ul.ui.list li:first-child{padding-top:0}.ui.list .list>.item:last-child,.ui.list>.item:last-child,ol.ui.list li:last-child,ul.ui.list li:last-child{padding-bottom:0}.ui.list .list,ol.ui.list ol,ul.ui.list ul{clear:both;margin:0;padding:.75em 0 .25em .5em}.ui.list .list>.item,ol.ui.list ol li,ul.ui.list ul li{padding:.14285714em 0;line-height:inherit}.ui.list .list>.item>i.icon,.ui.list>.item>i.icon{display:table-cell;margin:0;padding-top:0;padding-right:.28571429em;vertical-align:top;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.list .list>.item>i.icon:only-child,.ui.list>.item>i.icon:only-child{display:inline-block;vertical-align:top}.ui.list .list>.item>.image,.ui.list>.item>.image{display:table-cell;background-color:transparent;margin:0;vertical-align:top}.ui.list .list>.item>.image:not(:only-child):not(img),.ui.list>.item>.image:not(:only-child):not(img){padding-right:.5em}.ui.list .list>.item>.image img,.ui.list>.item>.image img{vertical-align:top}.ui.list .list>.item>.image:only-child,.ui.list .list>.item>img.image,.ui.list>.item>.image:only-child,.ui.list>.item>img.image{display:inline-block}.ui.list .list>.item>.content,.ui.list>.item>.content{line-height:1.14285714em}.ui.list .list>.item>.icon+.content,.ui.list .list>.item>.image+.content,.ui.list>.item>.icon+.content,.ui.list>.item>.image+.content{display:table-cell;width:100%;padding:0 0 0 .5em;vertical-align:top}.ui.list .list>.item>img.image+.content,.ui.list>.item>img.image+.content{display:inline-block;width:auto}.ui.list .list>.item>.content>.list,.ui.list>.item>.content>.list{margin-left:0;padding-left:0}.ui.list .list>.item .header,.ui.list>.item .header{display:block;margin:0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;color:rgba(0,0,0,.87)}.ui.list .list>.item .description,.ui.list>.item .description{display:block;color:rgba(0,0,0,.7)}.ui.list .list>.item a,.ui.list>.item a{cursor:pointer}.ui.list .list>a.item,.ui.list>a.item{cursor:pointer;color:#4183c4}.ui.list .list>a.item:hover,.ui.list>a.item:hover{color:#1e70bf}.ui.list .list>a.item i.icon,.ui.list>a.item i.icon{color:rgba(0,0,0,.4)}.ui.list .list>.item a.header,.ui.list>.item a.header{cursor:pointer;color:#4183c4!important}.ui.list .list>.item a.header:hover,.ui.list>.item a.header:hover{color:#1e70bf!important}.ui[class*="left floated"].list{float:left}.ui[class*="right floated"].list{float:right}.ui.list .list>.item [class*="left floated"],.ui.list>.item [class*="left floated"]{float:left;margin:0 1em 0 0}.ui.list .list>.item [class*="right floated"],.ui.list>.item [class*="right floated"]{float:right;margin:0 0 0 1em}.ui.menu .ui.list .list>.item,.ui.menu .ui.list>.item{display:list-item;table-layout:fixed;background-color:transparent;list-style-type:none;list-style-position:outside;padding:.21428571em 0;line-height:1.14285714em}.ui.menu .ui.list .list>.item:before,.ui.menu .ui.list>.item:before{border:none;background:0 0}.ui.menu .ui.list .list>.item:first-child,.ui.menu .ui.list>.item:first-child{padding-top:0}.ui.menu .ui.list .list>.item:last-child,.ui.menu .ui.list>.item:last-child{padding-bottom:0}.ui.horizontal.list{display:inline-block;font-size:0}.ui.horizontal.list>.item{display:inline-block;margin-left:1em;font-size:1rem}.ui.horizontal.list:not(.celled)>.item:first-child{margin-left:0!important;padding-left:0!important}.ui.horizontal.list .list{padding-left:0;padding-bottom:0}.ui.horizontal.list .list>.item>.content,.ui.horizontal.list .list>.item>.icon,.ui.horizontal.list .list>.item>.image,.ui.horizontal.list>.item>.content,.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.image{vertical-align:middle}.ui.horizontal.list>.item:first-child,.ui.horizontal.list>.item:last-child{padding-top:.21428571em;padding-bottom:.21428571em}.ui.horizontal.list>.item>i.icon{margin:0;padding:0 .25em 0 0}.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.icon+.content{float:none;display:inline-block}.ui.list .list>.disabled.item,.ui.list>.disabled.item{pointer-events:none;color:rgba(40,40,40,.3)!important}.ui.inverted.list .list>.disabled.item,.ui.inverted.list>.disabled.item{color:rgba(225,225,225,.3)!important}.ui.list .list>a.item:hover .icon,.ui.list>a.item:hover .icon{color:rgba(0,0,0,.87)}.ui.inverted.list .list>a.item>.icon,.ui.inverted.list>a.item>.icon{color:rgba(255,255,255,.7)}.ui.inverted.list .list>.item .header,.ui.inverted.list>.item .header{color:rgba(255,255,255,.9)}.ui.inverted.list .list>.item .description,.ui.inverted.list>.item .description{color:rgba(255,255,255,.7)}.ui.inverted.list .list>a.item,.ui.inverted.list>a.item{cursor:pointer;color:rgba(255,255,255,.9)}.ui.inverted.list .list>a.item:hover,.ui.inverted.list>a.item:hover{color:#1e70bf}.ui.inverted.list .item a:not(.ui){color:rgba(255,255,255,.9)!important}.ui.inverted.list .item a:not(.ui):hover{color:#1e70bf!important}.ui.list [class*="top aligned"],.ui.list[class*="top aligned"] .content,.ui.list[class*="top aligned"] .image{vertical-align:top!important}.ui.list [class*="middle aligned"],.ui.list[class*="middle aligned"] .content,.ui.list[class*="middle aligned"] .image{vertical-align:middle!important}.ui.list [class*="bottom aligned"],.ui.list[class*="bottom aligned"] .content,.ui.list[class*="bottom aligned"] .image{vertical-align:bottom!important}.ui.link.list .item,.ui.link.list .item a:not(.ui),.ui.link.list a.item{color:rgba(0,0,0,.4);-webkit-transition:.1s color ease;transition:.1s color ease}.ui.link.list.list .item a:not(.ui):hover,.ui.link.list.list a.item:hover{color:rgba(0,0,0,.8)}.ui.link.list.list .item a:not(.ui):active,.ui.link.list.list a.item:active{color:rgba(0,0,0,.9)}.ui.link.list.list .active.item,.ui.link.list.list .active.item a:not(.ui){color:rgba(0,0,0,.95)}.ui.inverted.link.list .item,.ui.inverted.link.list .item a:not(.ui),.ui.inverted.link.list a.item{color:rgba(255,255,255,.5)}.ui.inverted.link.list.list .item a:not(.ui):hover,.ui.inverted.link.list.list a.item:hover{color:#fff}.ui.inverted.link.list.list .item a:not(.ui):active,.ui.inverted.link.list.list a.item:active{color:#fff}.ui.inverted.link.list.list .active.item a:not(.ui),.ui.inverted.link.list.list a.active.item{color:#fff}.ui.selection.list .list>.item,.ui.selection.list>.item{cursor:pointer;background:0 0;padding:.5em .5em;margin:0;color:rgba(0,0,0,.4);border-radius:.5em;-webkit-transition:.1s color ease,.1s padding-left ease,.1s background-color ease;transition:.1s color ease,.1s padding-left ease,.1s background-color ease}.ui.selection.list .list>.item:last-child,.ui.selection.list>.item:last-child{margin-bottom:0}.ui.selection.list.list>.item:hover,.ui.selection.list>.item:hover{background:rgba(0,0,0,.03);color:rgba(0,0,0,.8)}.ui.selection.list .list>.item:active,.ui.selection.list>.item:active{background:rgba(0,0,0,.05);color:rgba(0,0,0,.9)}.ui.selection.list .list>.item.active,.ui.selection.list>.item.active{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.inverted.selection.list>.item{background:0 0;color:rgba(255,255,255,.5)}.ui.inverted.selection.list>.item:hover{background:rgba(255,255,255,.02);color:#fff}.ui.inverted.selection.list>.item:active{background:rgba(255,255,255,.08);color:#fff}.ui.inverted.selection.list>.item.active{background:rgba(255,255,255,.08);color:#fff}.ui.celled.selection.list .list>.item,.ui.celled.selection.list>.item,.ui.divided.selection.list .list>.item,.ui.divided.selection.list>.item{border-radius:0}.ui.animated.list>.item{-webkit-transition:.25s color ease .1s,.25s padding-left ease .1s,.25s background-color ease .1s;transition:.25s color ease .1s,.25s padding-left ease .1s,.25s background-color ease .1s}.ui.animated.list:not(.horizontal)>.item:hover{padding-left:1em}.ui.fitted.list:not(.selection) .list>.item,.ui.fitted.list:not(.selection)>.item{padding-left:0;padding-right:0}.ui.fitted.selection.list .list>.item,.ui.fitted.selection.list>.item{margin-left:-.5em;margin-right:-.5em}.ui.bulleted.list,ul.ui.list{margin-left:1.25rem}.ui.bulleted.list .list>.item,.ui.bulleted.list>.item,ul.ui.list li{position:relative}.ui.bulleted.list .list>.item:before,.ui.bulleted.list>.item:before,ul.ui.list li:before{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;position:absolute;top:auto;left:auto;font-weight:400;margin-left:-1.25rem;content:'•';opacity:1;color:inherit;vertical-align:top}.ui.bulleted.list .list>a.item:before,.ui.bulleted.list>a.item:before,ul.ui.list li:before{color:rgba(0,0,0,.87)}.ui.bulleted.list .list,ul.ui.list ul{padding-left:1.25rem}.ui.horizontal.bulleted.list,ul.ui.horizontal.bulleted.list{margin-left:0}.ui.horizontal.bulleted.list>.item,ul.ui.horizontal.bulleted.list li{margin-left:1.75rem}.ui.horizontal.bulleted.list>.item:first-child,ul.ui.horizontal.bulleted.list li:first-child{margin-left:0}.ui.horizontal.bulleted.list>.item::before,ul.ui.horizontal.bulleted.list li::before{color:rgba(0,0,0,.87)}.ui.horizontal.bulleted.list>.item:first-child::before,ul.ui.horizontal.bulleted.list li:first-child::before{display:none}.ui.ordered.list,.ui.ordered.list .list,ol.ui.list,ol.ui.list ol{counter-reset:ordered;margin-left:1.25rem;list-style-type:none}.ui.ordered.list .list>.item,.ui.ordered.list>.item,ol.ui.list li{list-style-type:none;position:relative}.ui.ordered.list .list>.item:before,.ui.ordered.list>.item:before,ol.ui.list li:before{position:absolute;top:auto;left:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;margin-left:-1.25rem;counter-increment:ordered;content:counters(ordered, ".") " ";text-align:right;color:rgba(0,0,0,.87);vertical-align:middle;opacity:.8}.ui.ordered.inverted.list .list>.item:before,.ui.ordered.inverted.list>.item:before,ol.ui.inverted.list li:before{color:rgba(255,255,255,.7)}.ui.ordered.list>.item[data-value],.ui.ordered.list>.list>.item[data-value]{content:attr(data-value)}ol.ui.list li[value]:before{content:attr(value)}.ui.ordered.list .list,ol.ui.list ol{margin-left:1em}.ui.ordered.list .list>.item:before,ol.ui.list ol li:before{margin-left:-2em}.ui.ordered.horizontal.list,ol.ui.horizontal.list{margin-left:0}.ui.ordered.horizontal.list .list>.item:before,.ui.ordered.horizontal.list>.item:before,ol.ui.horizontal.list li:before{position:static;margin:0 .5em 0 0}.ui.divided.list>.item{border-top:1px solid rgba(34,36,38,.15)}.ui.divided.list .list>.item{border-top:none}.ui.divided.list .item .list>.item{border-top:none}.ui.divided.list .list>.item:first-child,.ui.divided.list>.item:first-child{border-top:none}.ui.divided.list:not(.horizontal) .list>.item:first-child{border-top-width:1px}.ui.divided.bulleted.list .list,.ui.divided.bulleted.list:not(.horizontal){margin-left:0;padding-left:0}.ui.divided.bulleted.list>.item:not(.horizontal){padding-left:1.25rem}.ui.divided.ordered.list{margin-left:0}.ui.divided.ordered.list .list>.item,.ui.divided.ordered.list>.item{padding-left:1.25rem}.ui.divided.ordered.list .item .list{margin-left:0;margin-right:0;padding-bottom:.21428571em}.ui.divided.ordered.list .item .list>.item{padding-left:1em}.ui.divided.selection.list .list>.item,.ui.divided.selection.list>.item{margin:0;border-radius:0}.ui.divided.horizontal.list{margin-left:0}.ui.divided.horizontal.list>.item:not(:first-child){padding-left:.5em}.ui.divided.horizontal.list>.item:not(:last-child){padding-right:.5em}.ui.divided.horizontal.list>.item{border-top:none;border-left:1px solid rgba(34,36,38,.15);margin:0;line-height:.6}.ui.horizontal.divided.list>.item:first-child{border-left:none}.ui.divided.inverted.horizontal.list>.item,.ui.divided.inverted.list>.item,.ui.divided.inverted.list>.list{border-color:rgba(255,255,255,.1)}.ui.celled.list>.item,.ui.celled.list>.list{border-top:1px solid rgba(34,36,38,.15);padding-left:.5em;padding-right:.5em}.ui.celled.list>.item:last-child{border-bottom:1px solid rgba(34,36,38,.15)}.ui.celled.list>.item:first-child,.ui.celled.list>.item:last-child{padding-top:.21428571em;padding-bottom:.21428571em}.ui.celled.list .item .list>.item{border-width:0}.ui.celled.list .list>.item:first-child{border-top-width:0}.ui.celled.bulleted.list{margin-left:0}.ui.celled.bulleted.list .list>.item,.ui.celled.bulleted.list>.item{padding-left:1.25rem}.ui.celled.bulleted.list .item .list{margin-left:-1.25rem;margin-right:-1.25rem;padding-bottom:.21428571em}.ui.celled.ordered.list{margin-left:0}.ui.celled.ordered.list .list>.item,.ui.celled.ordered.list>.item{padding-left:1.25rem}.ui.celled.ordered.list .item .list{margin-left:0;margin-right:0;padding-bottom:.21428571em}.ui.celled.ordered.list .list>.item{padding-left:1em}.ui.horizontal.celled.list{margin-left:0}.ui.horizontal.celled.list .list>.item,.ui.horizontal.celled.list>.item{border-top:none;border-left:1px solid rgba(34,36,38,.15);margin:0;padding-left:.5em;padding-right:.5em;line-height:.6}.ui.horizontal.celled.list .list>.item:last-child,.ui.horizontal.celled.list>.item:last-child{border-bottom:none;border-right:1px solid rgba(34,36,38,.15)}.ui.celled.inverted.list>.item,.ui.celled.inverted.list>.list{border-color:1px solid rgba(255,255,255,.1)}.ui.celled.inverted.horizontal.list .list>.item,.ui.celled.inverted.horizontal.list>.item{border-color:1px solid rgba(255,255,255,.1)}.ui.relaxed.list:not(.horizontal)>.item:not(:first-child){padding-top:.42857143em}.ui.relaxed.list:not(.horizontal)>.item:not(:last-child){padding-bottom:.42857143em}.ui.horizontal.relaxed.list .list>.item:not(:first-child),.ui.horizontal.relaxed.list>.item:not(:first-child){padding-left:1rem}.ui.horizontal.relaxed.list .list>.item:not(:last-child),.ui.horizontal.relaxed.list>.item:not(:last-child){padding-right:1rem}.ui[class*="very relaxed"].list:not(.horizontal)>.item:not(:first-child){padding-top:.85714286em}.ui[class*="very relaxed"].list:not(.horizontal)>.item:not(:last-child){padding-bottom:.85714286em}.ui.horizontal[class*="very relaxed"].list .list>.item:not(:first-child),.ui.horizontal[class*="very relaxed"].list>.item:not(:first-child){padding-left:1.5rem}.ui.horizontal[class*="very relaxed"].list .list>.item:not(:last-child),.ui.horizontal[class*="very relaxed"].list>.item:not(:last-child){padding-right:1.5rem}.ui.mini.list{font-size:.78571429em}.ui.tiny.list{font-size:.85714286em}.ui.small.list{font-size:.92857143em}.ui.list{font-size:1em}.ui.large.list{font-size:1.14285714em}.ui.big.list{font-size:1.28571429em}.ui.huge.list{font-size:1.42857143em}.ui.massive.list{font-size:1.71428571em}.ui.mini.horizontal.list .list>.item,.ui.mini.horizontal.list>.item{font-size:.78571429rem}.ui.tiny.horizontal.list .list>.item,.ui.tiny.horizontal.list>.item{font-size:.85714286rem}.ui.small.horizontal.list .list>.item,.ui.small.horizontal.list>.item{font-size:.92857143rem}.ui.horizontal.list .list>.item,.ui.horizontal.list>.item{font-size:1rem}.ui.large.horizontal.list .list>.item,.ui.large.horizontal.list>.item{font-size:1.14285714rem}.ui.big.horizontal.list .list>.item,.ui.big.horizontal.list>.item{font-size:1.28571429rem}.ui.huge.horizontal.list .list>.item,.ui.huge.horizontal.list>.item{font-size:1.42857143rem}.ui.massive.horizontal.list .list>.item,.ui.massive.horizontal.list>.item{font-size:1.71428571rem}/*! - * # Semantic UI 2.4.0 - Loader - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.loader{display:none;position:absolute;top:50%;left:50%;margin:0;text-align:center;z-index:1000;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.ui.loader:before{position:absolute;content:'';top:0;left:50%;width:100%;height:100%;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loader:after{position:absolute;content:'';top:0;left:50%;width:100%;height:100%;-webkit-animation:loader .6s linear;animation:loader .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}@-webkit-keyframes loader{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loader{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.mini.loader:after,.ui.mini.loader:before{width:1rem;height:1rem;margin:0 0 0 -.5rem}.ui.tiny.loader:after,.ui.tiny.loader:before{width:1.14285714rem;height:1.14285714rem;margin:0 0 0 -.57142857rem}.ui.small.loader:after,.ui.small.loader:before{width:1.71428571rem;height:1.71428571rem;margin:0 0 0 -.85714286rem}.ui.loader:after,.ui.loader:before{width:2.28571429rem;height:2.28571429rem;margin:0 0 0 -1.14285714rem}.ui.large.loader:after,.ui.large.loader:before{width:3.42857143rem;height:3.42857143rem;margin:0 0 0 -1.71428571rem}.ui.big.loader:after,.ui.big.loader:before{width:3.71428571rem;height:3.71428571rem;margin:0 0 0 -1.85714286rem}.ui.huge.loader:after,.ui.huge.loader:before{width:4.14285714rem;height:4.14285714rem;margin:0 0 0 -2.07142857rem}.ui.massive.loader:after,.ui.massive.loader:before{width:4.57142857rem;height:4.57142857rem;margin:0 0 0 -2.28571429rem}.ui.dimmer .loader{display:block}.ui.dimmer .ui.loader{color:rgba(255,255,255,.9)}.ui.dimmer .ui.loader:before{border-color:rgba(255,255,255,.15)}.ui.dimmer .ui.loader:after{border-color:#fff transparent transparent}.ui.inverted.dimmer .ui.loader{color:rgba(0,0,0,.87)}.ui.inverted.dimmer .ui.loader:before{border-color:rgba(0,0,0,.1)}.ui.inverted.dimmer .ui.loader:after{border-color:#767676 transparent transparent}.ui.text.loader{width:auto!important;height:auto!important;text-align:center;font-style:normal}.ui.indeterminate.loader:after{animation-direction:reverse;-webkit-animation-duration:1.2s;animation-duration:1.2s}.ui.loader.active,.ui.loader.visible{display:block}.ui.loader.disabled,.ui.loader.hidden{display:none}.ui.inverted.dimmer .ui.mini.loader,.ui.mini.loader{width:1rem;height:1rem;font-size:.78571429em}.ui.inverted.dimmer .ui.tiny.loader,.ui.tiny.loader{width:1.14285714rem;height:1.14285714rem;font-size:.85714286em}.ui.inverted.dimmer .ui.small.loader,.ui.small.loader{width:1.71428571rem;height:1.71428571rem;font-size:.92857143em}.ui.inverted.dimmer .ui.loader,.ui.loader{width:2.28571429rem;height:2.28571429rem;font-size:1em}.ui.inverted.dimmer .ui.large.loader,.ui.large.loader{width:3.42857143rem;height:3.42857143rem;font-size:1.14285714em}.ui.big.loader,.ui.inverted.dimmer .ui.big.loader{width:3.71428571rem;height:3.71428571rem;font-size:1.28571429em}.ui.huge.loader,.ui.inverted.dimmer .ui.huge.loader{width:4.14285714rem;height:4.14285714rem;font-size:1.42857143em}.ui.inverted.dimmer .ui.massive.loader,.ui.massive.loader{width:4.57142857rem;height:4.57142857rem;font-size:1.71428571em}.ui.mini.text.loader{min-width:1rem;padding-top:1.78571429rem}.ui.tiny.text.loader{min-width:1.14285714rem;padding-top:1.92857143rem}.ui.small.text.loader{min-width:1.71428571rem;padding-top:2.5rem}.ui.text.loader{min-width:2.28571429rem;padding-top:3.07142857rem}.ui.large.text.loader{min-width:3.42857143rem;padding-top:4.21428571rem}.ui.big.text.loader{min-width:3.71428571rem;padding-top:4.5rem}.ui.huge.text.loader{min-width:4.14285714rem;padding-top:4.92857143rem}.ui.massive.text.loader{min-width:4.57142857rem;padding-top:5.35714286rem}.ui.inverted.loader{color:rgba(255,255,255,.9)}.ui.inverted.loader:before{border-color:rgba(255,255,255,.15)}.ui.inverted.loader:after{border-top-color:#fff}.ui.inline.loader{position:relative;vertical-align:middle;margin:0;left:0;top:0;-webkit-transform:none;transform:none}.ui.inline.loader.active,.ui.inline.loader.visible{display:inline-block}.ui.centered.inline.loader.active,.ui.centered.inline.loader.visible{display:block;margin-left:auto;margin-right:auto}/*! - * # Semantic UI 2.4.0 - Loader - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.placeholder{position:static;overflow:hidden;-webkit-animation:placeholderShimmer 2s linear;animation:placeholderShimmer 2s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;background-color:#fff;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.08)),color-stop(15%,rgba(0,0,0,.15)),color-stop(30%,rgba(0,0,0,.08)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.08) 0,rgba(0,0,0,.15) 15%,rgba(0,0,0,.08) 30%);background-image:linear-gradient(to right,rgba(0,0,0,.08) 0,rgba(0,0,0,.15) 15%,rgba(0,0,0,.08) 30%);background-size:1200px 100%;max-width:30rem}@-webkit-keyframes placeholderShimmer{0%{background-position:-1200px 0}100%{background-position:1200px 0}}@keyframes placeholderShimmer{0%{background-position:-1200px 0}100%{background-position:1200px 0}}.ui.placeholder+.ui.placeholder{margin-top:2rem}.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.15s;animation-delay:.15s}.ui.placeholder+.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.3s;animation-delay:.3s}.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.45s;animation-delay:.45s}.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.6s;animation-delay:.6s}.ui.placeholder,.ui.placeholder .image.header:after,.ui.placeholder .line,.ui.placeholder .line:after,.ui.placeholder>:before{background-color:#fff}.ui.placeholder .image:not(.header):not(.ui){height:100px}.ui.placeholder .square.image:not(.header){height:0;overflow:hidden;padding-top:100%}.ui.placeholder .rectangular.image:not(.header){height:0;overflow:hidden;padding-top:75%}.ui.placeholder .line{position:relative;height:.85714286em}.ui.placeholder .line:after,.ui.placeholder .line:before{top:100%;position:absolute;content:'';background-color:inherit}.ui.placeholder .line:before{left:0}.ui.placeholder .line:after{right:0}.ui.placeholder .line{margin-bottom:.5em}.ui.placeholder .line:after,.ui.placeholder .line:before{height:.5em}.ui.placeholder .line:not(:first-child){margin-top:.5em}.ui.placeholder .header{position:relative;overflow:hidden}.ui.placeholder .line:nth-child(1):after{width:0%}.ui.placeholder .line:nth-child(2):after{width:50%}.ui.placeholder .line:nth-child(3):after{width:10%}.ui.placeholder .line:nth-child(4):after{width:35%}.ui.placeholder .line:nth-child(5):after{width:65%}.ui.placeholder .header .line{margin-bottom:.64285714em}.ui.placeholder .header .line:after,.ui.placeholder .header .line:before{height:.64285714em}.ui.placeholder .header .line:not(:first-child){margin-top:.64285714em}.ui.placeholder .header .line:after{width:20%}.ui.placeholder .header .line:nth-child(2):after{width:60%}.ui.placeholder .image.header .line{margin-left:3em}.ui.placeholder .image.header .line:before{width:.71428571rem}.ui.placeholder .image.header:after{display:block;height:.85714286em;content:'';margin-left:3em}.ui.placeholder .header .line:first-child,.ui.placeholder .image .line:first-child,.ui.placeholder .paragraph .line:first-child{height:.01px}.ui.placeholder .header:not(:first-child):before,.ui.placeholder .image:not(:first-child):before,.ui.placeholder .paragraph:not(:first-child):before{height:1.42857143em;content:'';display:block}.ui.inverted.placeholder{background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,.08)),color-stop(15%,rgba(255,255,255,.14)),color-stop(30%,rgba(255,255,255,.08)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,.08) 0,rgba(255,255,255,.14) 15%,rgba(255,255,255,.08) 30%);background-image:linear-gradient(to right,rgba(255,255,255,.08) 0,rgba(255,255,255,.14) 15%,rgba(255,255,255,.08) 30%)}.ui.inverted.placeholder,.ui.inverted.placeholder .image.header:after,.ui.inverted.placeholder .line,.ui.inverted.placeholder .line:after,.ui.inverted.placeholder>:before{background-color:#1b1c1d}.ui.placeholder .full.line.line.line:after{width:0%}.ui.placeholder .very.long.line.line.line:after{width:10%}.ui.placeholder .long.line.line.line:after{width:35%}.ui.placeholder .medium.line.line.line:after{width:50%}.ui.placeholder .short.line.line.line:after{width:65%}.ui.placeholder .very.short.line.line.line:after{width:80%}.ui.fluid.placeholder{max-width:none}/*! - * # Semantic UI 2.4.0 - Rail - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.rail{position:absolute;top:0;width:300px;height:100%}.ui.left.rail{left:auto;right:100%;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.right.rail{left:100%;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.left.internal.rail{left:0;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.right.internal.rail{left:auto;right:0;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.dividing.rail{width:302.5px}.ui.left.dividing.rail{padding:0 2.5rem 0 0;margin:0 2.5rem 0 0;border-right:1px solid rgba(34,36,38,.15)}.ui.right.dividing.rail{border-left:1px solid rgba(34,36,38,.15);padding:0 0 0 2.5rem;margin:0 0 0 2.5rem}.ui.close.rail{width:calc(300px + 1em)}.ui.close.left.rail{padding:0 1em 0 0;margin:0 1em 0 0}.ui.close.right.rail{padding:0 0 0 1em;margin:0 0 0 1em}.ui.very.close.rail{width:calc(300px + .5em)}.ui.very.close.left.rail{padding:0 .5em 0 0;margin:0 .5em 0 0}.ui.very.close.right.rail{padding:0 0 0 .5em;margin:0 0 0 .5em}.ui.attached.left.rail,.ui.attached.right.rail{padding:0;margin:0}.ui.mini.rail{font-size:.78571429rem}.ui.tiny.rail{font-size:.85714286rem}.ui.small.rail{font-size:.92857143rem}.ui.rail{font-size:1rem}.ui.large.rail{font-size:1.14285714rem}.ui.big.rail{font-size:1.28571429rem}.ui.huge.rail{font-size:1.42857143rem}.ui.massive.rail{font-size:1.71428571rem}/*! - * # Semantic UI 2.4.0 - Reveal - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.reveal{display:inherit;position:relative!important;font-size:0!important}.ui.reveal>.visible.content{position:absolute!important;top:0!important;left:0!important;z-index:3!important;-webkit-transition:all .5s ease .1s;transition:all .5s ease .1s}.ui.reveal>.hidden.content{position:relative!important;z-index:2!important}.ui.active.reveal .visible.content,.ui.reveal:hover .visible.content{z-index:4!important}.ui.slide.reveal{position:relative!important;overflow:hidden!important;white-space:nowrap}.ui.slide.reveal>.content{display:block;width:100%;white-space:normal;float:left;margin:0;-webkit-transition:-webkit-transform .5s ease .1s;transition:-webkit-transform .5s ease .1s;transition:transform .5s ease .1s;transition:transform .5s ease .1s,-webkit-transform .5s ease .1s}.ui.slide.reveal>.visible.content{position:relative!important}.ui.slide.reveal>.hidden.content{position:absolute!important;left:0!important;width:100%!important;-webkit-transform:translateX(100%)!important;transform:translateX(100%)!important}.ui.slide.active.reveal>.visible.content,.ui.slide.reveal:hover>.visible.content{-webkit-transform:translateX(-100%)!important;transform:translateX(-100%)!important}.ui.slide.active.reveal>.hidden.content,.ui.slide.reveal:hover>.hidden.content{-webkit-transform:translateX(0)!important;transform:translateX(0)!important}.ui.slide.right.reveal>.visible.content{-webkit-transform:translateX(0)!important;transform:translateX(0)!important}.ui.slide.right.reveal>.hidden.content{-webkit-transform:translateX(-100%)!important;transform:translateX(-100%)!important}.ui.slide.right.active.reveal>.visible.content,.ui.slide.right.reveal:hover>.visible.content{-webkit-transform:translateX(100%)!important;transform:translateX(100%)!important}.ui.slide.right.active.reveal>.hidden.content,.ui.slide.right.reveal:hover>.hidden.content{-webkit-transform:translateX(0)!important;transform:translateX(0)!important}.ui.slide.up.reveal>.hidden.content{-webkit-transform:translateY(100%)!important;transform:translateY(100%)!important}.ui.slide.up.active.reveal>.visible.content,.ui.slide.up.reveal:hover>.visible.content{-webkit-transform:translateY(-100%)!important;transform:translateY(-100%)!important}.ui.slide.up.active.reveal>.hidden.content,.ui.slide.up.reveal:hover>.hidden.content{-webkit-transform:translateY(0)!important;transform:translateY(0)!important}.ui.slide.down.reveal>.hidden.content{-webkit-transform:translateY(-100%)!important;transform:translateY(-100%)!important}.ui.slide.down.active.reveal>.visible.content,.ui.slide.down.reveal:hover>.visible.content{-webkit-transform:translateY(100%)!important;transform:translateY(100%)!important}.ui.slide.down.active.reveal>.hidden.content,.ui.slide.down.reveal:hover>.hidden.content{-webkit-transform:translateY(0)!important;transform:translateY(0)!important}.ui.fade.reveal>.visible.content{opacity:1}.ui.fade.active.reveal>.visible.content,.ui.fade.reveal:hover>.visible.content{opacity:0}.ui.move.reveal{position:relative!important;overflow:hidden!important;white-space:nowrap}.ui.move.reveal>.content{display:block;float:left;white-space:normal;margin:0;-webkit-transition:-webkit-transform .5s cubic-bezier(.175,.885,.32,1) .1s;transition:-webkit-transform .5s cubic-bezier(.175,.885,.32,1) .1s;transition:transform .5s cubic-bezier(.175,.885,.32,1) .1s;transition:transform .5s cubic-bezier(.175,.885,.32,1) .1s,-webkit-transform .5s cubic-bezier(.175,.885,.32,1) .1s}.ui.move.reveal>.visible.content{position:relative!important}.ui.move.reveal>.hidden.content{position:absolute!important;left:0!important;width:100%!important}.ui.move.active.reveal>.visible.content,.ui.move.reveal:hover>.visible.content{-webkit-transform:translateX(-100%)!important;transform:translateX(-100%)!important}.ui.move.right.active.reveal>.visible.content,.ui.move.right.reveal:hover>.visible.content{-webkit-transform:translateX(100%)!important;transform:translateX(100%)!important}.ui.move.up.active.reveal>.visible.content,.ui.move.up.reveal:hover>.visible.content{-webkit-transform:translateY(-100%)!important;transform:translateY(-100%)!important}.ui.move.down.active.reveal>.visible.content,.ui.move.down.reveal:hover>.visible.content{-webkit-transform:translateY(100%)!important;transform:translateY(100%)!important}.ui.rotate.reveal>.visible.content{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transform:rotate(0);transform:rotate(0)}.ui.rotate.reveal>.visible.content,.ui.rotate.right.reveal>.visible.content{-webkit-transform-origin:bottom right;transform-origin:bottom right}.ui.rotate.active.reveal>.visible.content,.ui.rotate.reveal:hover>.visible.content,.ui.rotate.right.active.reveal>.visible.content,.ui.rotate.right.reveal:hover>.visible.content{-webkit-transform:rotate(110deg);transform:rotate(110deg)}.ui.rotate.left.reveal>.visible.content{-webkit-transform-origin:bottom left;transform-origin:bottom left}.ui.rotate.left.active.reveal>.visible.content,.ui.rotate.left.reveal:hover>.visible.content{-webkit-transform:rotate(-110deg);transform:rotate(-110deg)}.ui.disabled.reveal:hover>.visible.visible.content{position:static!important;display:block!important;opacity:1!important;top:0!important;left:0!important;right:auto!important;bottom:auto!important;-webkit-transform:none!important;transform:none!important}.ui.disabled.reveal:hover>.hidden.hidden.content{display:none!important}.ui.reveal>.ui.ribbon.label{z-index:5}.ui.visible.reveal{overflow:visible}.ui.instant.reveal>.content{-webkit-transition-delay:0s!important;transition-delay:0s!important}.ui.reveal>.content{font-size:1rem!important}/*! - * # Semantic UI 2.4.0 - Segment - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.segment{position:relative;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);margin:1rem 0;padding:1em 1em;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.segment:first-child{margin-top:0}.ui.segment:last-child{margin-bottom:0}.ui.vertical.segment{margin:0;padding-left:0;padding-right:0;background:none transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:none;border-bottom:1px solid rgba(34,36,38,.15)}.ui.vertical.segment:last-child{border-bottom:none}.ui.inverted.segment>.ui.header{color:#fff}.ui[class*="bottom attached"].segment>[class*="top attached"].label{border-top-left-radius:0;border-top-right-radius:0}.ui[class*="top attached"].segment>[class*="bottom attached"].label{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.attached.segment:not(.top):not(.bottom)>[class*="top attached"].label{border-top-left-radius:0;border-top-right-radius:0}.ui.attached.segment:not(.top):not(.bottom)>[class*="bottom attached"].label{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.grid>.row>.ui.segment.column,.ui.grid>.ui.segment.column,.ui.page.grid.segment{padding-top:2em;padding-bottom:2em}.ui.grid.segment{margin:1rem 0;border-radius:.28571429rem}.ui.basic.table.segment{background:#fff;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15)}.ui[class*="very basic"].table.segment{padding:1em 1em}.ui.placeholder.segment{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;max-width:initial;-webkit-animation:none;animation:none;overflow:visible;padding:1em 1em;min-height:18rem;background:#f9fafb;border-color:rgba(34,36,38,.15);-webkit-box-shadow:0 2px 25px 0 rgba(34,36,38,.05) inset;box-shadow:0 2px 25px 0 rgba(34,36,38,.05) inset}.ui.placeholder.segment .button,.ui.placeholder.segment textarea{display:block}.ui.placeholder.segment .button,.ui.placeholder.segment .field,.ui.placeholder.segment textarea,.ui.placeholder.segment>.ui.input{max-width:15rem;margin-left:auto;margin-right:auto}.ui.placeholder.segment .column .button,.ui.placeholder.segment .column .field,.ui.placeholder.segment .column textarea,.ui.placeholder.segment .column>.ui.input{max-width:15rem;margin-left:auto;margin-right:auto}.ui.placeholder.segment>.inline{-ms-flex-item-align:center;align-self:center}.ui.placeholder.segment>.inline>.button{display:inline-block;width:auto;margin:0 .35714286rem 0 0}.ui.placeholder.segment>.inline>.button:last-child{margin-right:0}.ui.piled.segment,.ui.piled.segments{margin:3em 0;-webkit-box-shadow:'';box-shadow:'';z-index:auto}.ui.piled.segment:first-child{margin-top:0}.ui.piled.segment:last-child{margin-bottom:0}.ui.piled.segment:after,.ui.piled.segment:before,.ui.piled.segments:after,.ui.piled.segments:before{background-color:#fff;visibility:visible;content:'';display:block;height:100%;left:0;position:absolute;width:100%;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:'';box-shadow:''}.ui.piled.segment:before,.ui.piled.segments:before{-webkit-transform:rotate(-1.2deg);transform:rotate(-1.2deg);top:0;z-index:-2}.ui.piled.segment:after,.ui.piled.segments:after{-webkit-transform:rotate(1.2deg);transform:rotate(1.2deg);top:0;z-index:-1}.ui[class*="top attached"].piled.segment{margin-top:3em;margin-bottom:0}.ui.piled.segment[class*="top attached"]:first-child{margin-top:0}.ui.piled.segment[class*="bottom attached"]{margin-top:0;margin-bottom:3em}.ui.piled.segment[class*="bottom attached"]:last-child{margin-bottom:0}.ui.stacked.segment{padding-bottom:1.4em}.ui.stacked.segment:after,.ui.stacked.segment:before,.ui.stacked.segments:after,.ui.stacked.segments:before{content:'';position:absolute;bottom:-3px;left:0;border-top:1px solid rgba(34,36,38,.15);background:rgba(0,0,0,.03);width:100%;height:6px;visibility:visible}.ui.stacked.segment:before,.ui.stacked.segments:before{display:none}.ui.tall.stacked.segment:before,.ui.tall.stacked.segments:before{display:block;bottom:0}.ui.stacked.inverted.segment:after,.ui.stacked.inverted.segment:before,.ui.stacked.inverted.segments:after,.ui.stacked.inverted.segments:before{background-color:rgba(0,0,0,.03);border-top:1px solid rgba(34,36,38,.35)}.ui.padded.segment{padding:1.5em}.ui[class*="very padded"].segment{padding:3em}.ui.padded.segment.vertical.segment,.ui[class*="very padded"].vertical.segment{padding-left:0;padding-right:0}.ui.compact.segment{display:table}.ui.compact.segments{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.ui.compact.segments .segment,.ui.segments .compact.segment{display:block;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.ui.circular.segment{display:table-cell;padding:2em;text-align:center;vertical-align:middle;border-radius:500em}.ui.raised.segment,.ui.raised.segments{-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.segments{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative;margin:1rem 0;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);border-radius:.28571429rem}.ui.segments:first-child{margin-top:0}.ui.segments:last-child{margin-bottom:0}.ui.segments>.segment{top:0;bottom:0;border-radius:0;margin:0;width:auto;-webkit-box-shadow:none;box-shadow:none;border:none;border-top:1px solid rgba(34,36,38,.15)}.ui.segments:not(.horizontal)>.segment:first-child{border-top:none;margin-top:0;bottom:0;margin-bottom:0;top:0;border-radius:.28571429rem .28571429rem 0 0}.ui.segments:not(.horizontal)>.segment:last-child{top:0;bottom:0;margin-top:0;margin-bottom:0;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui.segments:not(.horizontal)>.segment:only-child{border-radius:.28571429rem}.ui.segments>.ui.segments{border-top:1px solid rgba(34,36,38,.15);margin:1rem 1rem}.ui.segments>.segments:first-child{border-top:none}.ui.segments>.segment+.segments:not(.horizontal){margin-top:0}.ui.horizontal.segments{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;background-color:transparent;border-radius:0;padding:0;background-color:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);margin:1rem 0;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.segments>.horizontal.segments{margin:0;background-color:transparent;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none;border-top:1px solid rgba(34,36,38,.15)}.ui.horizontal.segments>.segment{-webkit-box-flex:1;flex:1 1 auto;-ms-flex:1 1 0px;margin:0;min-width:0;background-color:transparent;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none;border-left:1px solid rgba(34,36,38,.15)}.ui.segments>.horizontal.segments:first-child{border-top:none}.ui.horizontal.segments>.segment:first-child{border-left:none}.ui.disabled.segment{opacity:.45;color:rgba(40,40,40,.3)}.ui.loading.segment{position:relative;cursor:default;pointer-events:none;text-shadow:none!important;color:transparent!important;-webkit-transition:all 0s linear;transition:all 0s linear}.ui.loading.segment:before{position:absolute;content:'';top:0;left:0;background:rgba(255,255,255,.8);width:100%;height:100%;border-radius:.28571429rem;z-index:100}.ui.loading.segment:after{position:absolute;content:'';top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;-webkit-animation:segment-spin .6s linear;animation:segment-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.1);border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}@-webkit-keyframes segment-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes segment-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.basic.segment{background:none transparent;-webkit-box-shadow:none;box-shadow:none;border:none;border-radius:0}.ui.clearing.segment:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.red.segment:not(.inverted){border-top:2px solid #db2828!important}.ui.inverted.red.segment{background-color:#db2828!important;color:#fff!important}.ui.orange.segment:not(.inverted){border-top:2px solid #f2711c!important}.ui.inverted.orange.segment{background-color:#f2711c!important;color:#fff!important}.ui.yellow.segment:not(.inverted){border-top:2px solid #fbbd08!important}.ui.inverted.yellow.segment{background-color:#fbbd08!important;color:#fff!important}.ui.olive.segment:not(.inverted){border-top:2px solid #b5cc18!important}.ui.inverted.olive.segment{background-color:#b5cc18!important;color:#fff!important}.ui.green.segment:not(.inverted){border-top:2px solid #21ba45!important}.ui.inverted.green.segment{background-color:#21ba45!important;color:#fff!important}.ui.teal.segment:not(.inverted){border-top:2px solid #00b5ad!important}.ui.inverted.teal.segment{background-color:#00b5ad!important;color:#fff!important}.ui.blue.segment:not(.inverted){border-top:2px solid #2185d0!important}.ui.inverted.blue.segment{background-color:#2185d0!important;color:#fff!important}.ui.violet.segment:not(.inverted){border-top:2px solid #6435c9!important}.ui.inverted.violet.segment{background-color:#6435c9!important;color:#fff!important}.ui.purple.segment:not(.inverted){border-top:2px solid #a333c8!important}.ui.inverted.purple.segment{background-color:#a333c8!important;color:#fff!important}.ui.pink.segment:not(.inverted){border-top:2px solid #e03997!important}.ui.inverted.pink.segment{background-color:#e03997!important;color:#fff!important}.ui.brown.segment:not(.inverted){border-top:2px solid #a5673f!important}.ui.inverted.brown.segment{background-color:#a5673f!important;color:#fff!important}.ui.grey.segment:not(.inverted){border-top:2px solid #767676!important}.ui.inverted.grey.segment{background-color:#767676!important;color:#fff!important}.ui.black.segment:not(.inverted){border-top:2px solid #1b1c1d!important}.ui.inverted.black.segment{background-color:#1b1c1d!important;color:#fff!important}.ui[class*="left aligned"].segment{text-align:left}.ui[class*="right aligned"].segment{text-align:right}.ui[class*="center aligned"].segment{text-align:center}.ui.floated.segment,.ui[class*="left floated"].segment{float:left;margin-right:1em}.ui[class*="right floated"].segment{float:right;margin-left:1em}.ui.inverted.segment{border:none;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.segment,.ui.primary.inverted.segment{background:#1b1c1d;color:rgba(255,255,255,.9)}.ui.inverted.segment .segment{color:rgba(0,0,0,.87)}.ui.inverted.segment .inverted.segment{color:rgba(255,255,255,.9)}.ui.inverted.attached.segment{border-color:#555}.ui.secondary.segment{background:#f3f4f5;color:rgba(0,0,0,.6)}.ui.secondary.inverted.segment{background:#4c4f52 -webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.2)),to(rgba(255,255,255,.2)));background:#4c4f52 -webkit-linear-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 100%);background:#4c4f52 linear-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 100%);color:rgba(255,255,255,.8)}.ui.tertiary.segment{background:#dcddde;color:rgba(0,0,0,.6)}.ui.tertiary.inverted.segment{background:#717579 -webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.35)),to(rgba(255,255,255,.35)));background:#717579 -webkit-linear-gradient(rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 100%);background:#717579 linear-gradient(rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 100%);color:rgba(255,255,255,.8)}.ui.attached.segment{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px);-webkit-box-shadow:none;box-shadow:none;border:1px solid #d4d4d5}.ui.attached:not(.message)+.ui.attached.segment:not(.top){border-top:none}.ui[class*="top attached"].segment{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.segment[class*="top attached"]:first-child{margin-top:0}.ui.segment[class*="bottom attached"]{bottom:0;margin-top:0;top:0;margin-bottom:1rem;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui.segment[class*="bottom attached"]:last-child{margin-bottom:0}.ui.mini.segment,.ui.mini.segments .segment{font-size:.78571429rem}.ui.tiny.segment,.ui.tiny.segments .segment{font-size:.85714286rem}.ui.small.segment,.ui.small.segments .segment{font-size:.92857143rem}.ui.segment,.ui.segments .segment{font-size:1rem}.ui.large.segment,.ui.large.segments .segment{font-size:1.14285714rem}.ui.big.segment,.ui.big.segments .segment{font-size:1.28571429rem}.ui.huge.segment,.ui.huge.segments .segment{font-size:1.42857143rem}.ui.massive.segment,.ui.massive.segments .segment{font-size:1.71428571rem}/*! - * # Semantic UI 2.4.0 - Step - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.steps{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:1em 0;background:'';-webkit-box-shadow:none;box-shadow:none;line-height:1.14285714em;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.steps:first-child{margin-top:0}.ui.steps:last-child{margin-bottom:0}.ui.steps .step{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;vertical-align:middle;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 0;padding:1.14285714em 2em;background:#fff;color:rgba(0,0,0,.87);-webkit-box-shadow:none;box-shadow:none;border-radius:0;border:none;border-right:1px solid rgba(34,36,38,.15);-webkit-transition:background-color .1s ease,opacity .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease,-webkit-box-shadow .1s ease}.ui.steps .step:after{display:none;position:absolute;z-index:2;content:'';top:50%;right:0;border:medium none;background-color:#fff;width:1.14285714em;height:1.14285714em;border-style:solid;border-color:rgba(34,36,38,.15);border-width:0 1px 1px 0;-webkit-transition:background-color .1s ease,opacity .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease,-webkit-box-shadow .1s ease;-webkit-transform:translateY(-50%) translateX(50%) rotate(-45deg);transform:translateY(-50%) translateX(50%) rotate(-45deg)}.ui.steps .step:first-child{padding-left:2em;border-radius:.28571429rem 0 0 .28571429rem}.ui.steps .step:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.steps .step:last-child{border-right:none;margin-right:0}.ui.steps .step:only-child{border-radius:.28571429rem}.ui.steps .step .title{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1.14285714em;font-weight:700}.ui.steps .step>.title{width:100%}.ui.steps .step .description{font-weight:400;font-size:.92857143em;color:rgba(0,0,0,.87)}.ui.steps .step>.description{width:100%}.ui.steps .step .title~.description{margin-top:.25em}.ui.steps .step>.icon{line-height:1;font-size:2.5em;margin:0 1rem 0 0}.ui.steps .step>.icon,.ui.steps .step>.icon~.content{display:block;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-ms-flex-item-align:middle;align-self:middle}.ui.steps .step>.icon~.content{-webkit-box-flex:1 0 auto;-ms-flex-positive:1 0 auto;flex-grow:1 0 auto}.ui.steps:not(.vertical) .step>.icon{width:auto}.ui.steps .link.step,.ui.steps a.step{cursor:pointer}.ui.ordered.steps{counter-reset:ordered}.ui.ordered.steps .step:before{display:block;position:static;text-align:center;content:counters(ordered, ".");-ms-flex-item-align:middle;align-self:middle;margin-right:1rem;font-size:2.5em;counter-increment:ordered;font-family:inherit;font-weight:700}.ui.ordered.steps .step>*{display:block;-ms-flex-item-align:middle;align-self:middle}.ui.vertical.steps{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:visible}.ui.vertical.steps .step{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;border-radius:0;padding:1.14285714em 2em;border-right:none;border-bottom:1px solid rgba(34,36,38,.15)}.ui.vertical.steps .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.steps .step:last-child{border-bottom:none;border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.steps .step:only-child{border-radius:.28571429rem}.ui.vertical.steps .step:after{display:none}.ui.vertical.steps .step:after{top:50%;right:0;border-width:0 1px 1px 0}.ui.vertical.steps .step:after{display:none}.ui.vertical.steps .active.step:after{display:block}.ui.vertical.steps .step:last-child:after{display:none}.ui.vertical.steps .active.step:last-child:after{display:block}@media only screen and (max-width:767px){.ui.steps:not(.unstackable){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;overflow:visible;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.steps:not(.unstackable) .step{width:100%!important;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-radius:0;padding:1.14285714em 2em}.ui.steps:not(.unstackable) .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui.steps:not(.unstackable) .step:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.steps:not(.unstackable) .step:after{display:none!important}.ui.steps:not(.unstackable) .step .content{text-align:center}.ui.ordered.steps:not(.unstackable) .step:before,.ui.steps:not(.unstackable) .step>.icon{margin:0 0 1rem 0}}.ui.steps .link.step:hover,.ui.steps .link.step:hover::after,.ui.steps a.step:hover,.ui.steps a.step:hover::after{background:#f9fafb;color:rgba(0,0,0,.8)}.ui.steps .link.step:active,.ui.steps .link.step:active::after,.ui.steps a.step:active,.ui.steps a.step:active::after{background:#f3f4f5;color:rgba(0,0,0,.9)}.ui.steps .step.active{cursor:auto;background:#f3f4f5}.ui.steps .step.active:after{background:#f3f4f5}.ui.steps .step.active .title{color:#4183c4}.ui.ordered.steps .step.active:before,.ui.steps .active.step .icon{color:rgba(0,0,0,.85)}.ui.steps .step:after{display:block}.ui.steps .active.step:after{display:block}.ui.steps .step:last-child:after{display:none}.ui.steps .active.step:last-child:after{display:none}.ui.steps .link.active.step:hover,.ui.steps .link.active.step:hover::after,.ui.steps a.active.step:hover,.ui.steps a.active.step:hover::after{cursor:pointer;background:#dcddde;color:rgba(0,0,0,.87)}.ui.ordered.steps .step.completed:before,.ui.steps .step.completed>.icon:before{color:#21ba45}.ui.steps .disabled.step{cursor:auto;background:#fff;pointer-events:none}.ui.steps .disabled.step,.ui.steps .disabled.step .description,.ui.steps .disabled.step .title{color:rgba(40,40,40,.3)}.ui.steps .disabled.step:after{background:#fff}@media only screen and (max-width:991px){.ui[class*="tablet stackable"].steps{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;overflow:visible;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui[class*="tablet stackable"].steps .step{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-radius:0;padding:1.14285714em 2em}.ui[class*="tablet stackable"].steps .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui[class*="tablet stackable"].steps .step:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui[class*="tablet stackable"].steps .step:after{display:none!important}.ui[class*="tablet stackable"].steps .step .content{text-align:center}.ui[class*="tablet stackable"].ordered.steps .step:before,.ui[class*="tablet stackable"].steps .step>.icon{margin:0 0 1rem 0}}.ui.fluid.steps{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.ui.attached.steps{width:calc(100% + 2px)!important;margin:0 -1px 0;max-width:calc(100% + 2px);border-radius:.28571429rem .28571429rem 0 0}.ui.attached.steps .step:first-child{border-radius:.28571429rem 0 0 0}.ui.attached.steps .step:last-child{border-radius:0 .28571429rem 0 0}.ui.bottom.attached.steps{margin:0 -1px 0;border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.attached.steps .step:first-child{border-radius:0 0 0 .28571429rem}.ui.bottom.attached.steps .step:last-child{border-radius:0 0 .28571429rem 0}.ui.eight.steps,.ui.five.steps,.ui.four.steps,.ui.one.steps,.ui.seven.steps,.ui.six.steps,.ui.three.steps,.ui.two.steps{width:100%}.ui.eight.steps>.step,.ui.five.steps>.step,.ui.four.steps>.step,.ui.one.steps>.step,.ui.seven.steps>.step,.ui.six.steps>.step,.ui.three.steps>.step,.ui.two.steps>.step{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.ui.one.steps>.step{width:100%}.ui.two.steps>.step{width:50%}.ui.three.steps>.step{width:33.333%}.ui.four.steps>.step{width:25%}.ui.five.steps>.step{width:20%}.ui.six.steps>.step{width:16.666%}.ui.seven.steps>.step{width:14.285%}.ui.eight.steps>.step{width:12.5%}.ui.mini.step,.ui.mini.steps .step{font-size:.78571429rem}.ui.tiny.step,.ui.tiny.steps .step{font-size:.85714286rem}.ui.small.step,.ui.small.steps .step{font-size:.92857143rem}.ui.step,.ui.steps .step{font-size:1rem}.ui.large.step,.ui.large.steps .step{font-size:1.14285714rem}.ui.big.step,.ui.big.steps .step{font-size:1.28571429rem}.ui.huge.step,.ui.huge.steps .step{font-size:1.42857143rem}.ui.massive.step,.ui.massive.steps .step{font-size:1.71428571rem}@font-face{font-family:Step;src:url(data:application/x-font-ttf;charset=utf-8;;base64,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) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,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) format('woff')}.ui.ordered.steps .step.completed:before,.ui.steps .step.completed>.icon:before{font-family:Step;content:'\e800'}/*! - * # Semantic UI 2.4.0 - Breadcrumb - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.breadcrumb{line-height:1;display:inline-block;margin:0 0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem 0;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.78571429em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.breadcrumb{font-size:1rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem}/*! - * # Semantic UI 2.4.0 - Form - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.form{position:relative;max-width:100%}.ui.form>p{margin:1em 0}.ui.form .field{clear:both;margin:0 0 1em}.ui.form .field:last-child,.ui.form .fields:last-child .field{margin-bottom:0}.ui.form .fields .field{clear:both;margin:0}.ui.form .field>label{display:block;margin:0 0 .28571429rem 0;color:rgba(0,0,0,.87);font-size:.92857143em;font-weight:700;text-transform:none}.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=file],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url],.ui.form textarea{width:100%;vertical-align:top}.ui.form ::-webkit-datetime-edit,.ui.form ::-webkit-inner-spin-button{height:1.21428571em}.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=file],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url]{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;margin:0;outline:0;-webkit-appearance:none;tap-highlight-color:rgba(255,255,255,0);line-height:1.21428571em;padding:.67857143em 1em;font-size:1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-box-shadow:0 0 0 0 transparent inset;box-shadow:0 0 0 0 transparent inset;-webkit-transition:color .1s ease,border-color .1s ease;transition:color .1s ease,border-color .1s ease}.ui.form textarea{margin:0;-webkit-appearance:none;tap-highlight-color:rgba(255,255,255,0);padding:.78571429em 1em;background:#fff;border:1px solid rgba(34,36,38,.15);outline:0;color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-box-shadow:0 0 0 0 transparent inset;box-shadow:0 0 0 0 transparent inset;-webkit-transition:color .1s ease,border-color .1s ease;transition:color .1s ease,border-color .1s ease;font-size:1em;line-height:1.2857;resize:vertical}.ui.form textarea:not([rows]){height:12em;min-height:8em;max-height:24em}.ui.form input[type=checkbox],.ui.form textarea{vertical-align:top}.ui.form input.attached{width:auto}.ui.form select{display:block;height:auto;width:100%;background:#fff;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;-webkit-box-shadow:0 0 0 0 transparent inset;box-shadow:0 0 0 0 transparent inset;padding:.62em 1em;color:rgba(0,0,0,.87);-webkit-transition:color .1s ease,border-color .1s ease;transition:color .1s ease,border-color .1s ease}.ui.form .field>.selection.dropdown{width:100%}.ui.form .field>.selection.dropdown>.dropdown.icon{float:right}.ui.form .inline.field>.selection.dropdown,.ui.form .inline.fields .field>.selection.dropdown{width:auto}.ui.form .inline.field>.selection.dropdown>.dropdown.icon,.ui.form .inline.fields .field>.selection.dropdown>.dropdown.icon{float:none}.ui.form .field .ui.input,.ui.form .fields .field .ui.input,.ui.form .wide.field .ui.input{width:100%}.ui.form .inline.field:not(.wide) .ui.input,.ui.form .inline.fields .field:not(.wide) .ui.input{width:auto;vertical-align:middle}.ui.form .field .ui.input input,.ui.form .fields .field .ui.input input{width:auto}.ui.form .eight.fields .ui.input input,.ui.form .five.fields .ui.input input,.ui.form .four.fields .ui.input input,.ui.form .nine.fields .ui.input input,.ui.form .seven.fields .ui.input input,.ui.form .six.fields .ui.input input,.ui.form .ten.fields .ui.input input,.ui.form .three.fields .ui.input input,.ui.form .two.fields .ui.input input,.ui.form .wide.field .ui.input input{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;width:0}.ui.form .error.message,.ui.form .success.message,.ui.form .warning.message{display:none}.ui.form .message:first-child{margin-top:0}.ui.form .field .prompt.label{white-space:normal;background:#fff!important;border:1px solid #e0b4b4!important;color:#9f3a38!important}.ui.form .inline.field .prompt,.ui.form .inline.fields .field .prompt{vertical-align:top;margin:-.25em 0 -.5em .5em}.ui.form .inline.field .prompt:before,.ui.form .inline.fields .field .prompt:before{border-width:0 0 1px 1px;bottom:auto;right:auto;top:50%;left:0}.ui.form .field.field input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px ivory inset!important;box-shadow:0 0 0 100px ivory inset!important;border-color:#e5dfa1!important}.ui.form .field.field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 100px ivory inset!important;box-shadow:0 0 0 100px ivory inset!important;border-color:#d5c315!important}.ui.form .error.error input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px #fffaf0 inset!important;box-shadow:0 0 0 100px #fffaf0 inset!important;border-color:#e0b4b4!important}.ui.form ::-webkit-input-placeholder{color:rgba(191,191,191,.87)}.ui.form :-ms-input-placeholder{color:rgba(191,191,191,.87)!important}.ui.form ::-moz-placeholder{color:rgba(191,191,191,.87)}.ui.form :focus::-webkit-input-placeholder{color:rgba(115,115,115,.87)}.ui.form :focus:-ms-input-placeholder{color:rgba(115,115,115,.87)!important}.ui.form :focus::-moz-placeholder{color:rgba(115,115,115,.87)}.ui.form .error ::-webkit-input-placeholder{color:#e7bdbc}.ui.form .error :-ms-input-placeholder{color:#e7bdbc!important}.ui.form .error ::-moz-placeholder{color:#e7bdbc}.ui.form .error :focus::-webkit-input-placeholder{color:#da9796}.ui.form .error :focus:-ms-input-placeholder{color:#da9796!important}.ui.form .error :focus::-moz-placeholder{color:#da9796}.ui.form input:not([type]):focus,.ui.form input[type=date]:focus,.ui.form input[type=datetime-local]:focus,.ui.form input[type=email]:focus,.ui.form input[type=file]:focus,.ui.form input[type=number]:focus,.ui.form input[type=password]:focus,.ui.form input[type=search]:focus,.ui.form input[type=tel]:focus,.ui.form input[type=text]:focus,.ui.form input[type=time]:focus,.ui.form input[type=url]:focus{color:rgba(0,0,0,.95);border-color:#85b7d9;border-radius:.28571429rem;background:#fff;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.35) inset;box-shadow:0 0 0 0 rgba(34,36,38,.35) inset}.ui.form textarea:focus{color:rgba(0,0,0,.95);border-color:#85b7d9;border-radius:.28571429rem;background:#fff;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.35) inset;box-shadow:0 0 0 0 rgba(34,36,38,.35) inset;-webkit-appearance:none}.ui.form.success .success.message:not(:empty){display:block}.ui.form.success .compact.success.message:not(:empty){display:inline-block}.ui.form.success .icon.success.message:not(:empty){display:-webkit-box;display:-ms-flexbox;display:flex}.ui.form.warning .warning.message:not(:empty){display:block}.ui.form.warning .compact.warning.message:not(:empty){display:inline-block}.ui.form.warning .icon.warning.message:not(:empty){display:-webkit-box;display:-ms-flexbox;display:flex}.ui.form.error .error.message:not(:empty){display:block}.ui.form.error .compact.error.message:not(:empty){display:inline-block}.ui.form.error .icon.error.message:not(:empty){display:-webkit-box;display:-ms-flexbox;display:flex}.ui.form .field.error .input,.ui.form .field.error label,.ui.form .fields.error .field .input,.ui.form .fields.error .field label{color:#9f3a38}.ui.form .field.error .corner.label,.ui.form .fields.error .field .corner.label{border-color:#9f3a38;color:#fff}.ui.form .field.error input:not([type]),.ui.form .field.error input[type=date],.ui.form .field.error input[type=datetime-local],.ui.form .field.error input[type=email],.ui.form .field.error input[type=file],.ui.form .field.error input[type=number],.ui.form .field.error input[type=password],.ui.form .field.error input[type=search],.ui.form .field.error input[type=tel],.ui.form .field.error input[type=text],.ui.form .field.error input[type=time],.ui.form .field.error input[type=url],.ui.form .field.error select,.ui.form .field.error textarea,.ui.form .fields.error .field input:not([type]),.ui.form .fields.error .field input[type=date],.ui.form .fields.error .field input[type=datetime-local],.ui.form .fields.error .field input[type=email],.ui.form .fields.error .field input[type=file],.ui.form .fields.error .field input[type=number],.ui.form .fields.error .field input[type=password],.ui.form .fields.error .field input[type=search],.ui.form .fields.error .field input[type=tel],.ui.form .fields.error .field input[type=text],.ui.form .fields.error .field input[type=time],.ui.form .fields.error .field input[type=url],.ui.form .fields.error .field select,.ui.form .fields.error .field textarea{background:#fff6f6;border-color:#e0b4b4;color:#9f3a38;border-radius:'';-webkit-box-shadow:none;box-shadow:none}.ui.form .field.error input:not([type]):focus,.ui.form .field.error input[type=date]:focus,.ui.form .field.error input[type=datetime-local]:focus,.ui.form .field.error input[type=email]:focus,.ui.form .field.error input[type=file]:focus,.ui.form .field.error input[type=number]:focus,.ui.form .field.error input[type=password]:focus,.ui.form .field.error input[type=search]:focus,.ui.form .field.error input[type=tel]:focus,.ui.form .field.error input[type=text]:focus,.ui.form .field.error input[type=time]:focus,.ui.form .field.error input[type=url]:focus,.ui.form .field.error select:focus,.ui.form .field.error textarea:focus{background:#fff6f6;border-color:#e0b4b4;color:#9f3a38;-webkit-appearance:none;-webkit-box-shadow:none;box-shadow:none}.ui.form .field.error select{-webkit-appearance:menulist-button}.ui.form .field.error .ui.dropdown,.ui.form .field.error .ui.dropdown .item,.ui.form .field.error .ui.dropdown .text,.ui.form .fields.error .field .ui.dropdown,.ui.form .fields.error .field .ui.dropdown .item{background:#fff6f6;color:#9f3a38}.ui.form .field.error .ui.dropdown,.ui.form .fields.error .field .ui.dropdown{border-color:#e0b4b4!important}.ui.form .field.error .ui.dropdown:hover,.ui.form .fields.error .field .ui.dropdown:hover{border-color:#e0b4b4!important}.ui.form .field.error .ui.dropdown:hover .menu,.ui.form .fields.error .field .ui.dropdown:hover .menu{border-color:#e0b4b4}.ui.form .field.error .ui.multiple.selection.dropdown>.label,.ui.form .fields.error .field .ui.multiple.selection.dropdown>.label{background-color:#eacbcb;color:#9f3a38}.ui.form .field.error .ui.dropdown .menu .item:hover,.ui.form .fields.error .field .ui.dropdown .menu .item:hover{background-color:#fbe7e7}.ui.form .field.error .ui.dropdown .menu .selected.item,.ui.form .fields.error .field .ui.dropdown .menu .selected.item{background-color:#fbe7e7}.ui.form .field.error .ui.dropdown .menu .active.item,.ui.form .fields.error .field .ui.dropdown .menu .active.item{background-color:#fdcfcf!important}.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label{color:#9f3a38}.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before{background:#fff6f6;border-color:#e0b4b4}.ui.form .field.error .checkbox .box:after,.ui.form .field.error .checkbox label:after,.ui.form .fields.error .field .checkbox .box:after,.ui.form .fields.error .field .checkbox label:after{color:#9f3a38}.ui.form .disabled.field,.ui.form .disabled.fields .field,.ui.form .field :disabled{pointer-events:none;opacity:.45}.ui.form .field.disabled>label,.ui.form .fields.disabled>label{opacity:.45}.ui.form .field.disabled :disabled{opacity:1}.ui.loading.form{position:relative;cursor:default;pointer-events:none}.ui.loading.form:before{position:absolute;content:'';top:0;left:0;background:rgba(255,255,255,.8);width:100%;height:100%;z-index:100}.ui.loading.form:after{position:absolute;content:'';top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;-webkit-animation:form-spin .6s linear;animation:form-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.1);border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}@-webkit-keyframes form-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes form-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.form .required.field>.checkbox:after,.ui.form .required.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.fields:not(.grouped)>.field>.checkbox:after,.ui.form .required.fields:not(.grouped)>.field>label:after{margin:-.2em 0 0 .2em;content:'*';color:#db2828}.ui.form .required.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.fields:not(.grouped)>.field>label:after{display:inline-block;vertical-align:top}.ui.form .required.field>.checkbox:after,.ui.form .required.fields:not(.grouped)>.field>.checkbox:after{position:absolute;top:0;left:100%}.ui.form .inverted.segment .ui.checkbox .box,.ui.form .inverted.segment .ui.checkbox label,.ui.form .inverted.segment label,.ui.inverted.form .inline.field>label,.ui.inverted.form .inline.field>p,.ui.inverted.form .inline.fields .field>label,.ui.inverted.form .inline.fields .field>p,.ui.inverted.form .inline.fields>label,.ui.inverted.form .ui.checkbox .box,.ui.inverted.form .ui.checkbox label,.ui.inverted.form label{color:rgba(255,255,255,.9)}.ui.inverted.form input:not([type]),.ui.inverted.form input[type=date],.ui.inverted.form input[type=datetime-local],.ui.inverted.form input[type=email],.ui.inverted.form input[type=file],.ui.inverted.form input[type=number],.ui.inverted.form input[type=password],.ui.inverted.form input[type=search],.ui.inverted.form input[type=tel],.ui.inverted.form input[type=text],.ui.inverted.form input[type=time],.ui.inverted.form input[type=url]{background:#fff;border-color:rgba(255,255,255,.1);color:rgba(0,0,0,.87);-webkit-box-shadow:none;box-shadow:none}.ui.form .grouped.fields{display:block;margin:0 0 1em}.ui.form .grouped.fields:last-child{margin-bottom:0}.ui.form .grouped.fields>label{margin:0 0 .28571429rem 0;color:rgba(0,0,0,.87);font-size:.92857143em;font-weight:700;text-transform:none}.ui.form .grouped.fields .field,.ui.form .grouped.inline.fields .field{display:block;margin:.5em 0;padding:0}.ui.form .fields{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin:0 -.5em 1em}.ui.form .fields>.field{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;padding-left:.5em;padding-right:.5em}.ui.form .fields>.field:first-child{border-left:none;-webkit-box-shadow:none;box-shadow:none}.ui.form .two.fields>.field,.ui.form .two.fields>.fields{width:50%}.ui.form .three.fields>.field,.ui.form .three.fields>.fields{width:33.33333333%}.ui.form .four.fields>.field,.ui.form .four.fields>.fields{width:25%}.ui.form .five.fields>.field,.ui.form .five.fields>.fields{width:20%}.ui.form .six.fields>.field,.ui.form .six.fields>.fields{width:16.66666667%}.ui.form .seven.fields>.field,.ui.form .seven.fields>.fields{width:14.28571429%}.ui.form .eight.fields>.field,.ui.form .eight.fields>.fields{width:12.5%}.ui.form .nine.fields>.field,.ui.form .nine.fields>.fields{width:11.11111111%}.ui.form .ten.fields>.field,.ui.form .ten.fields>.fields{width:10%}@media only screen and (max-width:767px){.ui.form .fields{-ms-flex-wrap:wrap;flex-wrap:wrap}.ui.form:not(.unstackable) .eight.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .eight.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .nine.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .nine.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .seven.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .seven.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .six.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .six.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .ten.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .ten.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) [class*="equal width"].fields:not(.unstackable)>.field,.ui[class*="equal width"].form:not(.unstackable) .fields>.field{width:100%!important;margin:0 0 1em}}.ui.form .fields .wide.field{width:6.25%;padding-left:.5em;padding-right:.5em}.ui.form .one.wide.field{width:6.25%!important}.ui.form .two.wide.field{width:12.5%!important}.ui.form .three.wide.field{width:18.75%!important}.ui.form .four.wide.field{width:25%!important}.ui.form .five.wide.field{width:31.25%!important}.ui.form .six.wide.field{width:37.5%!important}.ui.form .seven.wide.field{width:43.75%!important}.ui.form .eight.wide.field{width:50%!important}.ui.form .nine.wide.field{width:56.25%!important}.ui.form .ten.wide.field{width:62.5%!important}.ui.form .eleven.wide.field{width:68.75%!important}.ui.form .twelve.wide.field{width:75%!important}.ui.form .thirteen.wide.field{width:81.25%!important}.ui.form .fourteen.wide.field{width:87.5%!important}.ui.form .fifteen.wide.field{width:93.75%!important}.ui.form .sixteen.wide.field{width:100%!important}@media only screen and (max-width:767px){.ui.form:not(.unstackable) .fields:not(.unstackable)>.eight.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.eleven.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.fifteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.five.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.four.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.fourteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.nine.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.seven.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.six.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.sixteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.ten.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.thirteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.three.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.twelve.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.two.wide.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.fields{width:100%!important}.ui.form .fields{margin-bottom:0}}.ui.form [class*="equal width"].fields>.field,.ui[class*="equal width"].form .fields>.field{width:100%;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.ui.form .inline.fields{margin:0 0 1em;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui.form .inline.fields .field{margin:0;padding:0 1em 0 0}.ui.form .inline.field>label,.ui.form .inline.field>p,.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p,.ui.form .inline.fields>label{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:baseline;font-size:.92857143em;font-weight:700;color:rgba(0,0,0,.87);text-transform:none}.ui.form .inline.fields>label{margin:.035714em 1em 0 0}.ui.form .inline.field>input,.ui.form .inline.field>select,.ui.form .inline.fields .field>input,.ui.form .inline.fields .field>select{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:middle;font-size:1em}.ui.form .inline.field>:first-child,.ui.form .inline.fields .field>:first-child{margin:0 .85714286em 0 0}.ui.form .inline.field>:only-child,.ui.form .inline.fields .field>:only-child{margin:0}.ui.form .inline.fields .wide.field{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui.form .inline.fields .wide.field>input,.ui.form .inline.fields .wide.field>select{width:100%}.ui.mini.form{font-size:.78571429rem}.ui.tiny.form{font-size:.85714286rem}.ui.small.form{font-size:.92857143rem}.ui.form{font-size:1rem}.ui.large.form{font-size:1.14285714rem}.ui.big.form{font-size:1.28571429rem}.ui.huge.form{font-size:1.42857143rem}.ui.massive.form{font-size:1.71428571rem}/*! - * # Semantic UI 2.4.0 - Grid - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;padding:0}.ui.grid{margin-top:-1rem;margin-bottom:-1rem;margin-left:-1rem;margin-right:-1rem}.ui.relaxed.grid{margin-left:-1.5rem;margin-right:-1.5rem}.ui[class*="very relaxed"].grid{margin-left:-2.5rem;margin-right:-2.5rem}.ui.grid+.grid{margin-top:1rem}.ui.grid>.column:not(.row),.ui.grid>.row>.column{position:relative;display:inline-block;width:6.25%;padding-left:1rem;padding-right:1rem;vertical-align:top}.ui.grid>*{padding-left:1rem;padding-right:1rem}.ui.grid>.row{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:inherit;-ms-flex-pack:inherit;justify-content:inherit;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%!important;padding:0;padding-top:1rem;padding-bottom:1rem}.ui.grid>.column:not(.row){padding-top:1rem;padding-bottom:1rem}.ui.grid>.row>.column{margin-top:0;margin-bottom:0}.ui.grid>.row>.column>img,.ui.grid>.row>img{max-width:100%}.ui.grid>.ui.grid:first-child{margin-top:0}.ui.grid>.ui.grid:last-child{margin-bottom:0}.ui.aligned.grid .column>.segment:not(.compact):not(.attached),.ui.grid .aligned.row>.column>.segment:not(.compact):not(.attached){width:100%}.ui.grid .row+.ui.divider{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin:1rem 1rem}.ui.grid .column+.ui.vertical.divider{height:calc(50% - 1rem)}.ui.grid>.column:last-child>.horizontal.segment,.ui.grid>.row>.column:last-child>.horizontal.segment{-webkit-box-shadow:none;box-shadow:none}@media only screen and (max-width:767px){.ui.page.grid{width:auto;padding-left:0;padding-right:0;margin-left:0;margin-right:0}}@media only screen and (min-width:768px) and (max-width:991px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:2em;padding-right:2em}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:3%;padding-right:3%}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:15%;padding-right:15%}}@media only screen and (min-width:1920px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:23%;padding-right:23%}}.ui.grid>.column:only-child,.ui.grid>.row>.column:only-child{width:100%}.ui[class*="one column"].grid>.column:not(.row),.ui[class*="one column"].grid>.row>.column{width:100%}.ui[class*="two column"].grid>.column:not(.row),.ui[class*="two column"].grid>.row>.column{width:50%}.ui[class*="three column"].grid>.column:not(.row),.ui[class*="three column"].grid>.row>.column{width:33.33333333%}.ui[class*="four column"].grid>.column:not(.row),.ui[class*="four column"].grid>.row>.column{width:25%}.ui[class*="five column"].grid>.column:not(.row),.ui[class*="five column"].grid>.row>.column{width:20%}.ui[class*="six column"].grid>.column:not(.row),.ui[class*="six column"].grid>.row>.column{width:16.66666667%}.ui[class*="seven column"].grid>.column:not(.row),.ui[class*="seven column"].grid>.row>.column{width:14.28571429%}.ui[class*="eight column"].grid>.column:not(.row),.ui[class*="eight column"].grid>.row>.column{width:12.5%}.ui[class*="nine column"].grid>.column:not(.row),.ui[class*="nine column"].grid>.row>.column{width:11.11111111%}.ui[class*="ten column"].grid>.column:not(.row),.ui[class*="ten column"].grid>.row>.column{width:10%}.ui[class*="eleven column"].grid>.column:not(.row),.ui[class*="eleven column"].grid>.row>.column{width:9.09090909%}.ui[class*="twelve column"].grid>.column:not(.row),.ui[class*="twelve column"].grid>.row>.column{width:8.33333333%}.ui[class*="thirteen column"].grid>.column:not(.row),.ui[class*="thirteen column"].grid>.row>.column{width:7.69230769%}.ui[class*="fourteen column"].grid>.column:not(.row),.ui[class*="fourteen column"].grid>.row>.column{width:7.14285714%}.ui[class*="fifteen column"].grid>.column:not(.row),.ui[class*="fifteen column"].grid>.row>.column{width:6.66666667%}.ui[class*="sixteen column"].grid>.column:not(.row),.ui[class*="sixteen column"].grid>.row>.column{width:6.25%}.ui.grid>[class*="one column"].row>.column{width:100%!important}.ui.grid>[class*="two column"].row>.column{width:50%!important}.ui.grid>[class*="three column"].row>.column{width:33.33333333%!important}.ui.grid>[class*="four column"].row>.column{width:25%!important}.ui.grid>[class*="five column"].row>.column{width:20%!important}.ui.grid>[class*="six column"].row>.column{width:16.66666667%!important}.ui.grid>[class*="seven column"].row>.column{width:14.28571429%!important}.ui.grid>[class*="eight column"].row>.column{width:12.5%!important}.ui.grid>[class*="nine column"].row>.column{width:11.11111111%!important}.ui.grid>[class*="ten column"].row>.column{width:10%!important}.ui.grid>[class*="eleven column"].row>.column{width:9.09090909%!important}.ui.grid>[class*="twelve column"].row>.column{width:8.33333333%!important}.ui.grid>[class*="thirteen column"].row>.column{width:7.69230769%!important}.ui.grid>[class*="fourteen column"].row>.column{width:7.14285714%!important}.ui.grid>[class*="fifteen column"].row>.column{width:6.66666667%!important}.ui.grid>[class*="sixteen column"].row>.column{width:6.25%!important}.ui.celled.page.grid{-webkit-box-shadow:none;box-shadow:none}.ui.column.grid>[class*="one wide"].column,.ui.grid>.column.row>[class*="one wide"].column,.ui.grid>.row>[class*="one wide"].column,.ui.grid>[class*="one wide"].column{width:6.25%!important}.ui.column.grid>[class*="two wide"].column,.ui.grid>.column.row>[class*="two wide"].column,.ui.grid>.row>[class*="two wide"].column,.ui.grid>[class*="two wide"].column{width:12.5%!important}.ui.column.grid>[class*="three wide"].column,.ui.grid>.column.row>[class*="three wide"].column,.ui.grid>.row>[class*="three wide"].column,.ui.grid>[class*="three wide"].column{width:18.75%!important}.ui.column.grid>[class*="four wide"].column,.ui.grid>.column.row>[class*="four wide"].column,.ui.grid>.row>[class*="four wide"].column,.ui.grid>[class*="four wide"].column{width:25%!important}.ui.column.grid>[class*="five wide"].column,.ui.grid>.column.row>[class*="five wide"].column,.ui.grid>.row>[class*="five wide"].column,.ui.grid>[class*="five wide"].column{width:31.25%!important}.ui.column.grid>[class*="six wide"].column,.ui.grid>.column.row>[class*="six wide"].column,.ui.grid>.row>[class*="six wide"].column,.ui.grid>[class*="six wide"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide"].column,.ui.grid>.column.row>[class*="seven wide"].column,.ui.grid>.row>[class*="seven wide"].column,.ui.grid>[class*="seven wide"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide"].column,.ui.grid>.column.row>[class*="eight wide"].column,.ui.grid>.row>[class*="eight wide"].column,.ui.grid>[class*="eight wide"].column{width:50%!important}.ui.column.grid>[class*="nine wide"].column,.ui.grid>.column.row>[class*="nine wide"].column,.ui.grid>.row>[class*="nine wide"].column,.ui.grid>[class*="nine wide"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide"].column,.ui.grid>.column.row>[class*="ten wide"].column,.ui.grid>.row>[class*="ten wide"].column,.ui.grid>[class*="ten wide"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide"].column,.ui.grid>.column.row>[class*="eleven wide"].column,.ui.grid>.row>[class*="eleven wide"].column,.ui.grid>[class*="eleven wide"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide"].column,.ui.grid>.column.row>[class*="twelve wide"].column,.ui.grid>.row>[class*="twelve wide"].column,.ui.grid>[class*="twelve wide"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide"].column,.ui.grid>.column.row>[class*="thirteen wide"].column,.ui.grid>.row>[class*="thirteen wide"].column,.ui.grid>[class*="thirteen wide"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide"].column,.ui.grid>.column.row>[class*="fourteen wide"].column,.ui.grid>.row>[class*="fourteen wide"].column,.ui.grid>[class*="fourteen wide"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide"].column,.ui.grid>.column.row>[class*="fifteen wide"].column,.ui.grid>.row>[class*="fifteen wide"].column,.ui.grid>[class*="fifteen wide"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide"].column,.ui.grid>.column.row>[class*="sixteen wide"].column,.ui.grid>.row>[class*="sixteen wide"].column,.ui.grid>[class*="sixteen wide"].column{width:100%!important}@media only screen and (min-width:320px) and (max-width:767px){.ui.column.grid>[class*="one wide mobile"].column,.ui.grid>.column.row>[class*="one wide mobile"].column,.ui.grid>.row>[class*="one wide mobile"].column,.ui.grid>[class*="one wide mobile"].column{width:6.25%!important}.ui.column.grid>[class*="two wide mobile"].column,.ui.grid>.column.row>[class*="two wide mobile"].column,.ui.grid>.row>[class*="two wide mobile"].column,.ui.grid>[class*="two wide mobile"].column{width:12.5%!important}.ui.column.grid>[class*="three wide mobile"].column,.ui.grid>.column.row>[class*="three wide mobile"].column,.ui.grid>.row>[class*="three wide mobile"].column,.ui.grid>[class*="three wide mobile"].column{width:18.75%!important}.ui.column.grid>[class*="four wide mobile"].column,.ui.grid>.column.row>[class*="four wide mobile"].column,.ui.grid>.row>[class*="four wide mobile"].column,.ui.grid>[class*="four wide mobile"].column{width:25%!important}.ui.column.grid>[class*="five wide mobile"].column,.ui.grid>.column.row>[class*="five wide mobile"].column,.ui.grid>.row>[class*="five wide mobile"].column,.ui.grid>[class*="five wide mobile"].column{width:31.25%!important}.ui.column.grid>[class*="six wide mobile"].column,.ui.grid>.column.row>[class*="six wide mobile"].column,.ui.grid>.row>[class*="six wide mobile"].column,.ui.grid>[class*="six wide mobile"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide mobile"].column,.ui.grid>.column.row>[class*="seven wide mobile"].column,.ui.grid>.row>[class*="seven wide mobile"].column,.ui.grid>[class*="seven wide mobile"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide mobile"].column,.ui.grid>.column.row>[class*="eight wide mobile"].column,.ui.grid>.row>[class*="eight wide mobile"].column,.ui.grid>[class*="eight wide mobile"].column{width:50%!important}.ui.column.grid>[class*="nine wide mobile"].column,.ui.grid>.column.row>[class*="nine wide mobile"].column,.ui.grid>.row>[class*="nine wide mobile"].column,.ui.grid>[class*="nine wide mobile"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide mobile"].column,.ui.grid>.column.row>[class*="ten wide mobile"].column,.ui.grid>.row>[class*="ten wide mobile"].column,.ui.grid>[class*="ten wide mobile"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide mobile"].column,.ui.grid>.column.row>[class*="eleven wide mobile"].column,.ui.grid>.row>[class*="eleven wide mobile"].column,.ui.grid>[class*="eleven wide mobile"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide mobile"].column,.ui.grid>.column.row>[class*="twelve wide mobile"].column,.ui.grid>.row>[class*="twelve wide mobile"].column,.ui.grid>[class*="twelve wide mobile"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide mobile"].column,.ui.grid>.column.row>[class*="thirteen wide mobile"].column,.ui.grid>.row>[class*="thirteen wide mobile"].column,.ui.grid>[class*="thirteen wide mobile"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide mobile"].column,.ui.grid>.column.row>[class*="fourteen wide mobile"].column,.ui.grid>.row>[class*="fourteen wide mobile"].column,.ui.grid>[class*="fourteen wide mobile"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide mobile"].column,.ui.grid>.column.row>[class*="fifteen wide mobile"].column,.ui.grid>.row>[class*="fifteen wide mobile"].column,.ui.grid>[class*="fifteen wide mobile"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide mobile"].column,.ui.grid>.column.row>[class*="sixteen wide mobile"].column,.ui.grid>.row>[class*="sixteen wide mobile"].column,.ui.grid>[class*="sixteen wide mobile"].column{width:100%!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.column.grid>[class*="one wide tablet"].column,.ui.grid>.column.row>[class*="one wide tablet"].column,.ui.grid>.row>[class*="one wide tablet"].column,.ui.grid>[class*="one wide tablet"].column{width:6.25%!important}.ui.column.grid>[class*="two wide tablet"].column,.ui.grid>.column.row>[class*="two wide tablet"].column,.ui.grid>.row>[class*="two wide tablet"].column,.ui.grid>[class*="two wide tablet"].column{width:12.5%!important}.ui.column.grid>[class*="three wide tablet"].column,.ui.grid>.column.row>[class*="three wide tablet"].column,.ui.grid>.row>[class*="three wide tablet"].column,.ui.grid>[class*="three wide tablet"].column{width:18.75%!important}.ui.column.grid>[class*="four wide tablet"].column,.ui.grid>.column.row>[class*="four wide tablet"].column,.ui.grid>.row>[class*="four wide tablet"].column,.ui.grid>[class*="four wide tablet"].column{width:25%!important}.ui.column.grid>[class*="five wide tablet"].column,.ui.grid>.column.row>[class*="five wide tablet"].column,.ui.grid>.row>[class*="five wide tablet"].column,.ui.grid>[class*="five wide tablet"].column{width:31.25%!important}.ui.column.grid>[class*="six wide tablet"].column,.ui.grid>.column.row>[class*="six wide tablet"].column,.ui.grid>.row>[class*="six wide tablet"].column,.ui.grid>[class*="six wide tablet"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide tablet"].column,.ui.grid>.column.row>[class*="seven wide tablet"].column,.ui.grid>.row>[class*="seven wide tablet"].column,.ui.grid>[class*="seven wide tablet"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide tablet"].column,.ui.grid>.column.row>[class*="eight wide tablet"].column,.ui.grid>.row>[class*="eight wide tablet"].column,.ui.grid>[class*="eight wide tablet"].column{width:50%!important}.ui.column.grid>[class*="nine wide tablet"].column,.ui.grid>.column.row>[class*="nine wide tablet"].column,.ui.grid>.row>[class*="nine wide tablet"].column,.ui.grid>[class*="nine wide tablet"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide tablet"].column,.ui.grid>.column.row>[class*="ten wide tablet"].column,.ui.grid>.row>[class*="ten wide tablet"].column,.ui.grid>[class*="ten wide tablet"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide tablet"].column,.ui.grid>.column.row>[class*="eleven wide tablet"].column,.ui.grid>.row>[class*="eleven wide tablet"].column,.ui.grid>[class*="eleven wide tablet"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide tablet"].column,.ui.grid>.column.row>[class*="twelve wide tablet"].column,.ui.grid>.row>[class*="twelve wide tablet"].column,.ui.grid>[class*="twelve wide tablet"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide tablet"].column,.ui.grid>.column.row>[class*="thirteen wide tablet"].column,.ui.grid>.row>[class*="thirteen wide tablet"].column,.ui.grid>[class*="thirteen wide tablet"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide tablet"].column,.ui.grid>.column.row>[class*="fourteen wide tablet"].column,.ui.grid>.row>[class*="fourteen wide tablet"].column,.ui.grid>[class*="fourteen wide tablet"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide tablet"].column,.ui.grid>.column.row>[class*="fifteen wide tablet"].column,.ui.grid>.row>[class*="fifteen wide tablet"].column,.ui.grid>[class*="fifteen wide tablet"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide tablet"].column,.ui.grid>.column.row>[class*="sixteen wide tablet"].column,.ui.grid>.row>[class*="sixteen wide tablet"].column,.ui.grid>[class*="sixteen wide tablet"].column{width:100%!important}}@media only screen and (min-width:992px){.ui.column.grid>[class*="one wide computer"].column,.ui.grid>.column.row>[class*="one wide computer"].column,.ui.grid>.row>[class*="one wide computer"].column,.ui.grid>[class*="one wide computer"].column{width:6.25%!important}.ui.column.grid>[class*="two wide computer"].column,.ui.grid>.column.row>[class*="two wide computer"].column,.ui.grid>.row>[class*="two wide computer"].column,.ui.grid>[class*="two wide computer"].column{width:12.5%!important}.ui.column.grid>[class*="three wide computer"].column,.ui.grid>.column.row>[class*="three wide computer"].column,.ui.grid>.row>[class*="three wide computer"].column,.ui.grid>[class*="three wide computer"].column{width:18.75%!important}.ui.column.grid>[class*="four wide computer"].column,.ui.grid>.column.row>[class*="four wide computer"].column,.ui.grid>.row>[class*="four wide computer"].column,.ui.grid>[class*="four wide computer"].column{width:25%!important}.ui.column.grid>[class*="five wide computer"].column,.ui.grid>.column.row>[class*="five wide computer"].column,.ui.grid>.row>[class*="five wide computer"].column,.ui.grid>[class*="five wide computer"].column{width:31.25%!important}.ui.column.grid>[class*="six wide computer"].column,.ui.grid>.column.row>[class*="six wide computer"].column,.ui.grid>.row>[class*="six wide computer"].column,.ui.grid>[class*="six wide computer"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide computer"].column,.ui.grid>.column.row>[class*="seven wide computer"].column,.ui.grid>.row>[class*="seven wide computer"].column,.ui.grid>[class*="seven wide computer"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide computer"].column,.ui.grid>.column.row>[class*="eight wide computer"].column,.ui.grid>.row>[class*="eight wide computer"].column,.ui.grid>[class*="eight wide computer"].column{width:50%!important}.ui.column.grid>[class*="nine wide computer"].column,.ui.grid>.column.row>[class*="nine wide computer"].column,.ui.grid>.row>[class*="nine wide computer"].column,.ui.grid>[class*="nine wide computer"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide computer"].column,.ui.grid>.column.row>[class*="ten wide computer"].column,.ui.grid>.row>[class*="ten wide computer"].column,.ui.grid>[class*="ten wide computer"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide computer"].column,.ui.grid>.column.row>[class*="eleven wide computer"].column,.ui.grid>.row>[class*="eleven wide computer"].column,.ui.grid>[class*="eleven wide computer"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide computer"].column,.ui.grid>.column.row>[class*="twelve wide computer"].column,.ui.grid>.row>[class*="twelve wide computer"].column,.ui.grid>[class*="twelve wide computer"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide computer"].column,.ui.grid>.column.row>[class*="thirteen wide computer"].column,.ui.grid>.row>[class*="thirteen wide computer"].column,.ui.grid>[class*="thirteen wide computer"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide computer"].column,.ui.grid>.column.row>[class*="fourteen wide computer"].column,.ui.grid>.row>[class*="fourteen wide computer"].column,.ui.grid>[class*="fourteen wide computer"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide computer"].column,.ui.grid>.column.row>[class*="fifteen wide computer"].column,.ui.grid>.row>[class*="fifteen wide computer"].column,.ui.grid>[class*="fifteen wide computer"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide computer"].column,.ui.grid>.column.row>[class*="sixteen wide computer"].column,.ui.grid>.row>[class*="sixteen wide computer"].column,.ui.grid>[class*="sixteen wide computer"].column{width:100%!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.column.grid>[class*="one wide large screen"].column,.ui.grid>.column.row>[class*="one wide large screen"].column,.ui.grid>.row>[class*="one wide large screen"].column,.ui.grid>[class*="one wide large screen"].column{width:6.25%!important}.ui.column.grid>[class*="two wide large screen"].column,.ui.grid>.column.row>[class*="two wide large screen"].column,.ui.grid>.row>[class*="two wide large screen"].column,.ui.grid>[class*="two wide large screen"].column{width:12.5%!important}.ui.column.grid>[class*="three wide large screen"].column,.ui.grid>.column.row>[class*="three wide large screen"].column,.ui.grid>.row>[class*="three wide large screen"].column,.ui.grid>[class*="three wide large screen"].column{width:18.75%!important}.ui.column.grid>[class*="four wide large screen"].column,.ui.grid>.column.row>[class*="four wide large screen"].column,.ui.grid>.row>[class*="four wide large screen"].column,.ui.grid>[class*="four wide large screen"].column{width:25%!important}.ui.column.grid>[class*="five wide large screen"].column,.ui.grid>.column.row>[class*="five wide large screen"].column,.ui.grid>.row>[class*="five wide large screen"].column,.ui.grid>[class*="five wide large screen"].column{width:31.25%!important}.ui.column.grid>[class*="six wide large screen"].column,.ui.grid>.column.row>[class*="six wide large screen"].column,.ui.grid>.row>[class*="six wide large screen"].column,.ui.grid>[class*="six wide large screen"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide large screen"].column,.ui.grid>.column.row>[class*="seven wide large screen"].column,.ui.grid>.row>[class*="seven wide large screen"].column,.ui.grid>[class*="seven wide large screen"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide large screen"].column,.ui.grid>.column.row>[class*="eight wide large screen"].column,.ui.grid>.row>[class*="eight wide large screen"].column,.ui.grid>[class*="eight wide large screen"].column{width:50%!important}.ui.column.grid>[class*="nine wide large screen"].column,.ui.grid>.column.row>[class*="nine wide large screen"].column,.ui.grid>.row>[class*="nine wide large screen"].column,.ui.grid>[class*="nine wide large screen"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide large screen"].column,.ui.grid>.column.row>[class*="ten wide large screen"].column,.ui.grid>.row>[class*="ten wide large screen"].column,.ui.grid>[class*="ten wide large screen"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide large screen"].column,.ui.grid>.column.row>[class*="eleven wide large screen"].column,.ui.grid>.row>[class*="eleven wide large screen"].column,.ui.grid>[class*="eleven wide large screen"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide large screen"].column,.ui.grid>.column.row>[class*="twelve wide large screen"].column,.ui.grid>.row>[class*="twelve wide large screen"].column,.ui.grid>[class*="twelve wide large screen"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide large screen"].column,.ui.grid>.column.row>[class*="thirteen wide large screen"].column,.ui.grid>.row>[class*="thirteen wide large screen"].column,.ui.grid>[class*="thirteen wide large screen"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide large screen"].column,.ui.grid>.column.row>[class*="fourteen wide large screen"].column,.ui.grid>.row>[class*="fourteen wide large screen"].column,.ui.grid>[class*="fourteen wide large screen"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide large screen"].column,.ui.grid>.column.row>[class*="fifteen wide large screen"].column,.ui.grid>.row>[class*="fifteen wide large screen"].column,.ui.grid>[class*="fifteen wide large screen"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide large screen"].column,.ui.grid>.column.row>[class*="sixteen wide large screen"].column,.ui.grid>.row>[class*="sixteen wide large screen"].column,.ui.grid>[class*="sixteen wide large screen"].column{width:100%!important}}@media only screen and (min-width:1920px){.ui.column.grid>[class*="one wide widescreen"].column,.ui.grid>.column.row>[class*="one wide widescreen"].column,.ui.grid>.row>[class*="one wide widescreen"].column,.ui.grid>[class*="one wide widescreen"].column{width:6.25%!important}.ui.column.grid>[class*="two wide widescreen"].column,.ui.grid>.column.row>[class*="two wide widescreen"].column,.ui.grid>.row>[class*="two wide widescreen"].column,.ui.grid>[class*="two wide widescreen"].column{width:12.5%!important}.ui.column.grid>[class*="three wide widescreen"].column,.ui.grid>.column.row>[class*="three wide widescreen"].column,.ui.grid>.row>[class*="three wide widescreen"].column,.ui.grid>[class*="three wide widescreen"].column{width:18.75%!important}.ui.column.grid>[class*="four wide widescreen"].column,.ui.grid>.column.row>[class*="four wide widescreen"].column,.ui.grid>.row>[class*="four wide widescreen"].column,.ui.grid>[class*="four wide widescreen"].column{width:25%!important}.ui.column.grid>[class*="five wide widescreen"].column,.ui.grid>.column.row>[class*="five wide widescreen"].column,.ui.grid>.row>[class*="five wide widescreen"].column,.ui.grid>[class*="five wide widescreen"].column{width:31.25%!important}.ui.column.grid>[class*="six wide widescreen"].column,.ui.grid>.column.row>[class*="six wide widescreen"].column,.ui.grid>.row>[class*="six wide widescreen"].column,.ui.grid>[class*="six wide widescreen"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide widescreen"].column,.ui.grid>.column.row>[class*="seven wide widescreen"].column,.ui.grid>.row>[class*="seven wide widescreen"].column,.ui.grid>[class*="seven wide widescreen"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide widescreen"].column,.ui.grid>.column.row>[class*="eight wide widescreen"].column,.ui.grid>.row>[class*="eight wide widescreen"].column,.ui.grid>[class*="eight wide widescreen"].column{width:50%!important}.ui.column.grid>[class*="nine wide widescreen"].column,.ui.grid>.column.row>[class*="nine wide widescreen"].column,.ui.grid>.row>[class*="nine wide widescreen"].column,.ui.grid>[class*="nine wide widescreen"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide widescreen"].column,.ui.grid>.column.row>[class*="ten wide widescreen"].column,.ui.grid>.row>[class*="ten wide widescreen"].column,.ui.grid>[class*="ten wide widescreen"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide widescreen"].column,.ui.grid>.column.row>[class*="eleven wide widescreen"].column,.ui.grid>.row>[class*="eleven wide widescreen"].column,.ui.grid>[class*="eleven wide widescreen"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide widescreen"].column,.ui.grid>.column.row>[class*="twelve wide widescreen"].column,.ui.grid>.row>[class*="twelve wide widescreen"].column,.ui.grid>[class*="twelve wide widescreen"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide widescreen"].column,.ui.grid>.column.row>[class*="thirteen wide widescreen"].column,.ui.grid>.row>[class*="thirteen wide widescreen"].column,.ui.grid>[class*="thirteen wide widescreen"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide widescreen"].column,.ui.grid>.column.row>[class*="fourteen wide widescreen"].column,.ui.grid>.row>[class*="fourteen wide widescreen"].column,.ui.grid>[class*="fourteen wide widescreen"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide widescreen"].column,.ui.grid>.column.row>[class*="fifteen wide widescreen"].column,.ui.grid>.row>[class*="fifteen wide widescreen"].column,.ui.grid>[class*="fifteen wide widescreen"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide widescreen"].column,.ui.grid>.column.row>[class*="sixteen wide widescreen"].column,.ui.grid>.row>[class*="sixteen wide widescreen"].column,.ui.grid>[class*="sixteen wide widescreen"].column{width:100%!important}}.ui.centered.grid,.ui.centered.grid>.row,.ui.grid>.centered.row{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ui.centered.grid>.column:not(.aligned):not(.justified):not(.row),.ui.centered.grid>.row>.column:not(.aligned):not(.justified),.ui.grid .centered.row>.column:not(.aligned):not(.justified){text-align:left}.ui.grid>.centered.column,.ui.grid>.row>.centered.column{display:block;margin-left:auto;margin-right:auto}.ui.grid>.relaxed.row>.column,.ui.relaxed.grid>.column:not(.row),.ui.relaxed.grid>.row>.column{padding-left:1.5rem;padding-right:1.5rem}.ui.grid>[class*="very relaxed"].row>.column,.ui[class*="very relaxed"].grid>.column:not(.row),.ui[class*="very relaxed"].grid>.row>.column{padding-left:2.5rem;padding-right:2.5rem}.ui.grid .relaxed.row+.ui.divider,.ui.relaxed.grid .row+.ui.divider{margin-left:1.5rem;margin-right:1.5rem}.ui.grid [class*="very relaxed"].row+.ui.divider,.ui[class*="very relaxed"].grid .row+.ui.divider{margin-left:2.5rem;margin-right:2.5rem}.ui.padded.grid:not(.vertically):not(.horizontally){margin:0!important}[class*="horizontally padded"].ui.grid{margin-left:0!important;margin-right:0!important}[class*="vertically padded"].ui.grid{margin-top:0!important;margin-bottom:0!important}.ui.grid [class*="left floated"].column{margin-right:auto}.ui.grid [class*="right floated"].column{margin-left:auto}.ui.divided.grid:not([class*="vertically divided"])>.column:not(.row),.ui.divided.grid:not([class*="vertically divided"])>.row>.column{-webkit-box-shadow:-1px 0 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="vertically divided"].grid>.column:not(.row),.ui[class*="vertically divided"].grid>.row>.column{margin-top:1rem;margin-bottom:1rem;padding-top:0;padding-bottom:0}.ui[class*="vertically divided"].grid>.row{margin-top:0;margin-bottom:0}.ui.divided.grid:not([class*="vertically divided"])>.column:first-child,.ui.divided.grid:not([class*="vertically divided"])>.row>.column:first-child{-webkit-box-shadow:none;box-shadow:none}.ui[class*="vertically divided"].grid>.row:first-child>.column{margin-top:0}.ui.grid>.divided.row>.column{-webkit-box-shadow:-1px 0 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui.grid>.divided.row>.column:first-child{-webkit-box-shadow:none;box-shadow:none}.ui[class*="vertically divided"].grid>.row{position:relative}.ui[class*="vertically divided"].grid>.row:before{position:absolute;content:"";top:0;left:0;width:calc(100% - 2rem);height:1px;margin:0 1rem;-webkit-box-shadow:0 -1px 0 0 rgba(34,36,38,.15);box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.padded.divided.grid:not(.vertically):not(.horizontally),[class*="horizontally padded"].ui.divided.grid{width:100%}.ui[class*="vertically divided"].grid>.row:first-child:before{-webkit-box-shadow:none;box-shadow:none}.ui.inverted.divided.grid:not([class*="vertically divided"])>.column:not(.row),.ui.inverted.divided.grid:not([class*="vertically divided"])>.row>.column{-webkit-box-shadow:-1px 0 0 0 rgba(255,255,255,.1);box-shadow:-1px 0 0 0 rgba(255,255,255,.1)}.ui.inverted.divided.grid:not([class*="vertically divided"])>.column:not(.row):first-child,.ui.inverted.divided.grid:not([class*="vertically divided"])>.row>.column:first-child{-webkit-box-shadow:none;box-shadow:none}.ui.inverted[class*="vertically divided"].grid>.row:before{-webkit-box-shadow:0 -1px 0 0 rgba(255,255,255,.1);box-shadow:0 -1px 0 0 rgba(255,255,255,.1)}.ui.relaxed[class*="vertically divided"].grid>.row:before{margin-left:1.5rem;margin-right:1.5rem;width:calc(100% - 3rem)}.ui[class*="very relaxed"][class*="vertically divided"].grid>.row:before{margin-left:5rem;margin-right:5rem;width:calc(100% - 5rem)}.ui.celled.grid{width:100%;margin:1em 0;-webkit-box-shadow:0 0 0 1px #d4d4d5;box-shadow:0 0 0 1px #d4d4d5}.ui.celled.grid>.row{width:100%!important;margin:0;padding:0;-webkit-box-shadow:0 -1px 0 0 #d4d4d5;box-shadow:0 -1px 0 0 #d4d4d5}.ui.celled.grid>.column:not(.row),.ui.celled.grid>.row>.column{-webkit-box-shadow:-1px 0 0 0 #d4d4d5;box-shadow:-1px 0 0 0 #d4d4d5}.ui.celled.grid>.column:first-child,.ui.celled.grid>.row>.column:first-child{-webkit-box-shadow:none;box-shadow:none}.ui.celled.grid>.column:not(.row),.ui.celled.grid>.row>.column{padding:1em}.ui.relaxed.celled.grid>.column:not(.row),.ui.relaxed.celled.grid>.row>.column{padding:1.5em}.ui[class*="very relaxed"].celled.grid>.column:not(.row),.ui[class*="very relaxed"].celled.grid>.row>.column{padding:2em}.ui[class*="internally celled"].grid{-webkit-box-shadow:none;box-shadow:none;margin:0}.ui[class*="internally celled"].grid>.row:first-child{-webkit-box-shadow:none;box-shadow:none}.ui[class*="internally celled"].grid>.row>.column:first-child{-webkit-box-shadow:none;box-shadow:none}.ui.grid>.row>[class*="top aligned"].column,.ui.grid>[class*="top aligned"].column:not(.row),.ui.grid>[class*="top aligned"].row>.column,.ui[class*="top aligned"].grid>.column:not(.row),.ui[class*="top aligned"].grid>.row>.column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;vertical-align:top;-ms-flex-item-align:start!important;align-self:flex-start!important}.ui.grid>.row>[class*="middle aligned"].column,.ui.grid>[class*="middle aligned"].column:not(.row),.ui.grid>[class*="middle aligned"].row>.column,.ui[class*="middle aligned"].grid>.column:not(.row),.ui[class*="middle aligned"].grid>.row>.column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;vertical-align:middle;-ms-flex-item-align:center!important;align-self:center!important}.ui.grid>.row>[class*="bottom aligned"].column,.ui.grid>[class*="bottom aligned"].column:not(.row),.ui.grid>[class*="bottom aligned"].row>.column,.ui[class*="bottom aligned"].grid>.column:not(.row),.ui[class*="bottom aligned"].grid>.row>.column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;vertical-align:bottom;-ms-flex-item-align:end!important;align-self:flex-end!important}.ui.grid>.row>.stretched.column,.ui.grid>.stretched.column:not(.row),.ui.grid>.stretched.row>.column,.ui.stretched.grid>.column,.ui.stretched.grid>.row>.column{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important;-ms-flex-item-align:stretch;align-self:stretch;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.grid>.row>.stretched.column>*,.ui.grid>.stretched.column:not(.row)>*,.ui.grid>.stretched.row>.column>*,.ui.stretched.grid>.column>*,.ui.stretched.grid>.row>.column>*{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui.grid>.row>[class*="left aligned"].column.column,.ui.grid>[class*="left aligned"].column.column,.ui.grid>[class*="left aligned"].row>.column,.ui[class*="left aligned"].grid>.column,.ui[class*="left aligned"].grid>.row>.column{text-align:left;-ms-flex-item-align:inherit;align-self:inherit}.ui.grid>.row>[class*="center aligned"].column.column,.ui.grid>[class*="center aligned"].column.column,.ui.grid>[class*="center aligned"].row>.column,.ui[class*="center aligned"].grid>.column,.ui[class*="center aligned"].grid>.row>.column{text-align:center;-ms-flex-item-align:inherit;align-self:inherit}.ui[class*="center aligned"].grid{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ui.grid>.row>[class*="right aligned"].column.column,.ui.grid>[class*="right aligned"].column.column,.ui.grid>[class*="right aligned"].row>.column,.ui[class*="right aligned"].grid>.column,.ui[class*="right aligned"].grid>.row>.column{text-align:right;-ms-flex-item-align:inherit;align-self:inherit}.ui.grid>.justified.column.column,.ui.grid>.justified.row>.column,.ui.grid>.row>.justified.column.column,.ui.justified.grid>.column,.ui.justified.grid>.row>.column{text-align:justify;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.ui.grid>.row>.black.column,.ui.grid>.row>.blue.column,.ui.grid>.row>.brown.column,.ui.grid>.row>.green.column,.ui.grid>.row>.grey.column,.ui.grid>.row>.olive.column,.ui.grid>.row>.orange.column,.ui.grid>.row>.pink.column,.ui.grid>.row>.purple.column,.ui.grid>.row>.red.column,.ui.grid>.row>.teal.column,.ui.grid>.row>.violet.column,.ui.grid>.row>.yellow.column{margin-top:-1rem;margin-bottom:-1rem;padding-top:1rem;padding-bottom:1rem}.ui.grid>.red.column,.ui.grid>.red.row,.ui.grid>.row>.red.column{background-color:#db2828!important;color:#fff}.ui.grid>.orange.column,.ui.grid>.orange.row,.ui.grid>.row>.orange.column{background-color:#f2711c!important;color:#fff}.ui.grid>.row>.yellow.column,.ui.grid>.yellow.column,.ui.grid>.yellow.row{background-color:#fbbd08!important;color:#fff}.ui.grid>.olive.column,.ui.grid>.olive.row,.ui.grid>.row>.olive.column{background-color:#b5cc18!important;color:#fff}.ui.grid>.green.column,.ui.grid>.green.row,.ui.grid>.row>.green.column{background-color:#21ba45!important;color:#fff}.ui.grid>.row>.teal.column,.ui.grid>.teal.column,.ui.grid>.teal.row{background-color:#00b5ad!important;color:#fff}.ui.grid>.blue.column,.ui.grid>.blue.row,.ui.grid>.row>.blue.column{background-color:#2185d0!important;color:#fff}.ui.grid>.row>.violet.column,.ui.grid>.violet.column,.ui.grid>.violet.row{background-color:#6435c9!important;color:#fff}.ui.grid>.purple.column,.ui.grid>.purple.row,.ui.grid>.row>.purple.column{background-color:#a333c8!important;color:#fff}.ui.grid>.pink.column,.ui.grid>.pink.row,.ui.grid>.row>.pink.column{background-color:#e03997!important;color:#fff}.ui.grid>.brown.column,.ui.grid>.brown.row,.ui.grid>.row>.brown.column{background-color:#a5673f!important;color:#fff}.ui.grid>.grey.column,.ui.grid>.grey.row,.ui.grid>.row>.grey.column{background-color:#767676!important;color:#fff}.ui.grid>.black.column,.ui.grid>.black.row,.ui.grid>.row>.black.column{background-color:#1b1c1d!important;color:#fff}.ui.grid>[class*="equal width"].row>.column,.ui[class*="equal width"].grid>.column:not(.row),.ui[class*="equal width"].grid>.row>.column{display:inline-block;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui.grid>[class*="equal width"].row>.wide.column,.ui[class*="equal width"].grid>.row>.wide.column,.ui[class*="equal width"].grid>.wide.column{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}@media only screen and (max-width:767px){.ui.grid>[class*="mobile reversed"].row,.ui[class*="mobile reversed"].grid,.ui[class*="mobile reversed"].grid>.row{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ui.stackable[class*="mobile reversed"],.ui[class*="mobile vertically reversed"].grid{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}.ui.grid[class*="vertically divided"][class*="mobile vertically reversed"]>.row:first-child:before{-webkit-box-shadow:0 -1px 0 0 rgba(34,36,38,.15);box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="mobile vertically reversed"]>.row:last-child:before{-webkit-box-shadow:none;box-shadow:none}.ui[class*="mobile reversed"].celled.grid>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 #d4d4d5;box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="mobile reversed"].celled.grid>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}}@media only screen and (min-width:768px) and (max-width:991px){.ui.grid>[class*="tablet reversed"].row,.ui[class*="tablet reversed"].grid,.ui[class*="tablet reversed"].grid>.row{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ui[class*="tablet vertically reversed"].grid{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}.ui.grid[class*="vertically divided"][class*="tablet vertically reversed"]>.row:first-child:before{-webkit-box-shadow:0 -1px 0 0 rgba(34,36,38,.15);box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="tablet vertically reversed"]>.row:last-child:before{-webkit-box-shadow:none;box-shadow:none}.ui[class*="tablet reversed"].celled.grid>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 #d4d4d5;box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="tablet reversed"].celled.grid>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}}@media only screen and (min-width:992px){.ui.grid>[class*="computer reversed"].row,.ui[class*="computer reversed"].grid,.ui[class*="computer reversed"].grid>.row{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ui[class*="computer vertically reversed"].grid{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}.ui.grid[class*="vertically divided"][class*="computer vertically reversed"]>.row:first-child:before{-webkit-box-shadow:0 -1px 0 0 rgba(34,36,38,.15);box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="computer vertically reversed"]>.row:last-child:before{-webkit-box-shadow:none;box-shadow:none}.ui[class*="computer reversed"].celled.grid>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 #d4d4d5;box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="computer reversed"].celled.grid>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}}@media only screen and (min-width:768px) and (max-width:991px){.ui.doubling.grid{width:auto}.ui.doubling.grid>.row,.ui.grid>.doubling.row{margin:0!important;padding:0!important}.ui.doubling.grid>.row>.column,.ui.grid>.doubling.row>.column{display:inline-block!important;padding-top:1rem!important;padding-bottom:1rem!important;-webkit-box-shadow:none!important;box-shadow:none!important;margin:0}.ui.grid>[class*="two column"].doubling.row.row>.column,.ui[class*="two column"].doubling.grid>.column:not(.row),.ui[class*="two column"].doubling.grid>.row>.column{width:100%!important}.ui.grid>[class*="three column"].doubling.row.row>.column,.ui[class*="three column"].doubling.grid>.column:not(.row),.ui[class*="three column"].doubling.grid>.row>.column{width:50%!important}.ui.grid>[class*="four column"].doubling.row.row>.column,.ui[class*="four column"].doubling.grid>.column:not(.row),.ui[class*="four column"].doubling.grid>.row>.column{width:50%!important}.ui.grid>[class*="five column"].doubling.row.row>.column,.ui[class*="five column"].doubling.grid>.column:not(.row),.ui[class*="five column"].doubling.grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="six column"].doubling.row.row>.column,.ui[class*="six column"].doubling.grid>.column:not(.row),.ui[class*="six column"].doubling.grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="seven column"].doubling.row.row>.column,.ui[class*="seven column"].doubling.grid>.column:not(.row),.ui[class*="seven column"].doubling.grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="eight column"].doubling.row.row>.column,.ui[class*="eight column"].doubling.grid>.column:not(.row),.ui[class*="eight column"].doubling.grid>.row>.column{width:25%!important}.ui.grid>[class*="nine column"].doubling.row.row>.column,.ui[class*="nine column"].doubling.grid>.column:not(.row),.ui[class*="nine column"].doubling.grid>.row>.column{width:25%!important}.ui.grid>[class*="ten column"].doubling.row.row>.column,.ui[class*="ten column"].doubling.grid>.column:not(.row),.ui[class*="ten column"].doubling.grid>.row>.column{width:20%!important}.ui.grid>[class*="eleven column"].doubling.row.row>.column,.ui[class*="eleven column"].doubling.grid>.column:not(.row),.ui[class*="eleven column"].doubling.grid>.row>.column{width:20%!important}.ui.grid>[class*="twelve column"].doubling.row.row>.column,.ui[class*="twelve column"].doubling.grid>.column:not(.row),.ui[class*="twelve column"].doubling.grid>.row>.column{width:16.66666667%!important}.ui.grid>[class*="thirteen column"].doubling.row.row>.column,.ui[class*="thirteen column"].doubling.grid>.column:not(.row),.ui[class*="thirteen column"].doubling.grid>.row>.column{width:16.66666667%!important}.ui.grid>[class*="fourteen column"].doubling.row.row>.column,.ui[class*="fourteen column"].doubling.grid>.column:not(.row),.ui[class*="fourteen column"].doubling.grid>.row>.column{width:14.28571429%!important}.ui.grid>[class*="fifteen column"].doubling.row.row>.column,.ui[class*="fifteen column"].doubling.grid>.column:not(.row),.ui[class*="fifteen column"].doubling.grid>.row>.column{width:14.28571429%!important}.ui.grid>[class*="sixteen column"].doubling.row.row>.column,.ui[class*="sixteen column"].doubling.grid>.column:not(.row),.ui[class*="sixteen column"].doubling.grid>.row>.column{width:12.5%!important}}@media only screen and (max-width:767px){.ui.doubling.grid>.row,.ui.grid>.doubling.row{margin:0!important;padding:0!important}.ui.doubling.grid>.row>.column,.ui.grid>.doubling.row>.column{padding-top:1rem!important;padding-bottom:1rem!important;margin:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.grid>[class*="two column"].doubling:not(.stackable).row.row>.column,.ui[class*="two column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="two column"].doubling:not(.stackable).grid>.row>.column{width:100%!important}.ui.grid>[class*="three column"].doubling:not(.stackable).row.row>.column,.ui[class*="three column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="three column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="four column"].doubling:not(.stackable).row.row>.column,.ui[class*="four column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="four column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="five column"].doubling:not(.stackable).row.row>.column,.ui[class*="five column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="five column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="six column"].doubling:not(.stackable).row.row>.column,.ui[class*="six column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="six column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="seven column"].doubling:not(.stackable).row.row>.column,.ui[class*="seven column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="seven column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="eight column"].doubling:not(.stackable).row.row>.column,.ui[class*="eight column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="eight column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="nine column"].doubling:not(.stackable).row.row>.column,.ui[class*="nine column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="nine column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="ten column"].doubling:not(.stackable).row.row>.column,.ui[class*="ten column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="ten column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="eleven column"].doubling:not(.stackable).row.row>.column,.ui[class*="eleven column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="eleven column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="twelve column"].doubling:not(.stackable).row.row>.column,.ui[class*="twelve column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="twelve column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="thirteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="thirteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="thirteen column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="fourteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="fourteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="fourteen column"].doubling:not(.stackable).grid>.row>.column{width:25%!important}.ui.grid>[class*="fifteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="fifteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="fifteen column"].doubling:not(.stackable).grid>.row>.column{width:25%!important}.ui.grid>[class*="sixteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="sixteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="sixteen column"].doubling:not(.stackable).grid>.row>.column{width:25%!important}}@media only screen and (max-width:767px){.ui.stackable.grid{width:auto;margin-left:0!important;margin-right:0!important}.ui.grid>.stackable.stackable.row>.column,.ui.stackable.grid>.column.grid>.column,.ui.stackable.grid>.column.row>.column,.ui.stackable.grid>.column:not(.row),.ui.stackable.grid>.row>.column,.ui.stackable.grid>.row>.wide.column,.ui.stackable.grid>.wide.column{width:100%!important;margin:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important;padding:1rem 1rem!important}.ui.stackable.grid:not(.vertically)>.row{margin:0;padding:0}.ui.container>.ui.stackable.grid>.column,.ui.container>.ui.stackable.grid>.row>.column{padding-left:0!important;padding-right:0!important}.ui.grid .ui.stackable.grid,.ui.segment:not(.vertical) .ui.stackable.page.grid{margin-left:-1rem!important;margin-right:-1rem!important}.ui.stackable.celled.grid>.column:not(.row):first-child,.ui.stackable.celled.grid>.row:first-child>.column:first-child,.ui.stackable.divided.grid>.column:not(.row):first-child,.ui.stackable.divided.grid>.row:first-child>.column:first-child{border-top:none!important}.ui.inverted.stackable.celled.grid>.column:not(.row),.ui.inverted.stackable.celled.grid>.row>.column,.ui.inverted.stackable.divided.grid>.column:not(.row),.ui.inverted.stackable.divided.grid>.row>.column{border-top:1px solid rgba(255,255,255,.1)}.ui.stackable.celled.grid>.column:not(.row),.ui.stackable.celled.grid>.row>.column,.ui.stackable.divided:not(.vertically).grid>.column:not(.row),.ui.stackable.divided:not(.vertically).grid>.row>.column{border-top:1px solid rgba(34,36,38,.15);-webkit-box-shadow:none!important;box-shadow:none!important;padding-top:2rem!important;padding-bottom:2rem!important}.ui.stackable.celled.grid>.row{-webkit-box-shadow:none!important;box-shadow:none!important}.ui.stackable.divided:not(.vertically).grid>.column:not(.row),.ui.stackable.divided:not(.vertically).grid>.row>.column{padding-left:0!important;padding-right:0!important}}@media only screen and (max-width:767px){.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.mobile),.ui.grid.grid.grid>[class*="tablet only"].column:not(.mobile),.ui.grid.grid.grid>[class*="tablet only"].row:not(.mobile),.ui[class*="tablet only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="computer only"].column:not(.mobile),.ui.grid.grid.grid>[class*="computer only"].column:not(.mobile),.ui.grid.grid.grid>[class*="computer only"].row:not(.mobile),.ui[class*="computer only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui[class*="large screen only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.tablet),.ui.grid.grid.grid>[class*="mobile only"].column:not(.tablet),.ui.grid.grid.grid>[class*="mobile only"].row:not(.tablet),.ui[class*="mobile only"].grid.grid.grid:not(.tablet){display:none!important}.ui.grid.grid.grid>.row>[class*="computer only"].column:not(.tablet),.ui.grid.grid.grid>[class*="computer only"].column:not(.tablet),.ui.grid.grid.grid>[class*="computer only"].row:not(.tablet),.ui[class*="computer only"].grid.grid.grid:not(.tablet){display:none!important}.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui[class*="large screen only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui[class*="mobile only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui[class*="large screen only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui[class*="mobile only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:1920px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui[class*="mobile only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer){display:none!important}}.ui.menu{display:-webkit-box;display:-ms-flexbox;display:flex;margin:1rem 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;background:#fff;font-weight:400;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);border-radius:.28571429rem;min-height:2.85714286em}.ui.menu:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.menu:first-child{margin-top:0}.ui.menu:last-child{margin-bottom:0}.ui.menu .menu{margin:0}.ui.menu:not(.vertical)>.menu{display:-webkit-box;display:-ms-flexbox;display:flex}.ui.menu:not(.vertical) .item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui.menu .item{position:relative;vertical-align:middle;line-height:1;text-decoration:none;-webkit-tap-highlight-color:transparent;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:0 0;padding:.92857143em 1.14285714em;text-transform:none;color:rgba(0,0,0,.87);font-weight:400;-webkit-transition:background .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background .1s ease,box-shadow .1s ease,color .1s ease;transition:background .1s ease,box-shadow .1s ease,color .1s ease,-webkit-box-shadow .1s ease}.ui.menu>.item:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui.menu .item:before{position:absolute;content:'';top:0;right:0;height:100%;width:1px;background:rgba(34,36,38,.1)}.ui.menu .item>a:not(.ui),.ui.menu .item>p:only-child,.ui.menu .text.item>*{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;line-height:1.3}.ui.menu .item>p:first-child{margin-top:0}.ui.menu .item>p:last-child{margin-bottom:0}.ui.menu .item>i.icon{opacity:.9;float:none;margin:0 .35714286em 0 0}.ui.menu:not(.vertical) .item>.button{position:relative;top:0;margin:-.5em 0;padding-bottom:.78571429em;padding-top:.78571429em;font-size:1em}.ui.menu>.container,.ui.menu>.grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:inherit;-ms-flex-align:inherit;align-items:inherit;-webkit-box-orient:inherit;-webkit-box-direction:inherit;-ms-flex-direction:inherit;flex-direction:inherit}.ui.menu .item>.input{width:100%}.ui.menu:not(.vertical) .item>.input{position:relative;top:0;margin:-.5em 0}.ui.menu .item>.input input{font-size:1em;padding-top:.57142857em;padding-bottom:.57142857em}.ui.menu .header.item,.ui.vertical.menu .header.item{margin:0;background:'';text-transform:normal;font-weight:700}.ui.vertical.menu .item>.header:not(.ui){margin:0 0 .5em;font-size:1em;font-weight:700}.ui.menu .item>i.dropdown.icon{padding:0;float:right;margin:0 0 0 1em}.ui.menu .dropdown.item .menu{min-width:calc(100% - 1px);border-radius:0 0 .28571429rem .28571429rem;background:#fff;margin:0 0 0;-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.08);box-shadow:0 1px 3px 0 rgba(0,0,0,.08);-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.ui.menu .ui.dropdown .menu>.item{margin:0;text-align:left;font-size:1em!important;padding:.78571429em 1.14285714em!important;background:0 0!important;color:rgba(0,0,0,.87)!important;text-transform:none!important;font-weight:400!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transition:none!important;transition:none!important}.ui.menu .ui.dropdown .menu>.item:hover{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown .menu>.selected.item{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown .menu>.active.item{background:rgba(0,0,0,.03)!important;font-weight:700!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown.item .menu .item:not(.filtered){display:block}.ui.menu .ui.dropdown .menu>.item .icon:not(.dropdown){display:inline-block;font-size:1em!important;float:none;margin:0 .75em 0 0!important}.ui.secondary.menu .dropdown.item>.menu,.ui.text.menu .dropdown.item>.menu{border-radius:.28571429rem;margin-top:.35714286em}.ui.menu .pointing.dropdown.item .menu{margin-top:.75em}.ui.inverted.menu .search.dropdown.item>.search,.ui.inverted.menu .search.dropdown.item>.text{color:rgba(255,255,255,.9)}.ui.vertical.menu .dropdown.item>.icon{float:right;content:"\f0da";margin-left:1em}.ui.vertical.menu .dropdown.item .menu{left:100%;min-width:0;margin:0;-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.08);box-shadow:0 1px 3px 0 rgba(0,0,0,.08);border-radius:0 .28571429rem .28571429rem .28571429rem}.ui.vertical.menu .dropdown.item.upward .menu{bottom:0}.ui.vertical.menu .dropdown.item:not(.upward) .menu{top:0}.ui.vertical.menu .active.dropdown.item{border-top-right-radius:0;border-bottom-right-radius:0}.ui.vertical.menu .dropdown.active.item{-webkit-box-shadow:none;box-shadow:none}.ui.item.menu .dropdown .menu .item{width:100%}.ui.menu .item>.label{background:#999;color:#fff;margin-left:1em;padding:.3em .78571429em}.ui.vertical.menu .item>.label{background:#999;color:#fff;margin-top:-.15em;margin-bottom:-.15em;padding:.3em .78571429em}.ui.menu .item>.floating.label{padding:.3em .78571429em}.ui.menu .item>img:not(.ui){display:inline-block;vertical-align:middle;margin:-.3em 0;width:2.5em}.ui.vertical.menu .item>img:not(.ui):only-child{display:block;max-width:100%;width:auto}.ui.menu .list .item:before{background:0 0!important}.ui.vertical.sidebar.menu>.item:first-child:before{display:block!important}.ui.vertical.sidebar.menu>.item::before{top:auto;bottom:0}@media only screen and (max-width:767px){.ui.menu>.ui.container{width:100%!important;margin-left:0!important;margin-right:0!important}}@media only screen and (min-width:768px){.ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless)>.container>.item:not(.right):not(.borderless):first-child{border-left:1px solid rgba(34,36,38,.1)}}.ui.link.menu .item:hover,.ui.menu .dropdown.item:hover,.ui.menu .link.item:hover,.ui.menu a.item:hover{cursor:pointer;background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.link.menu .item:active,.ui.menu .link.item:active,.ui.menu a.item:active{background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.menu .active.item{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);font-weight:400;-webkit-box-shadow:none;box-shadow:none}.ui.menu .active.item>i.icon{opacity:1}.ui.menu .active.item:hover,.ui.vertical.menu .active.item:hover{background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.menu .item.disabled,.ui.menu .item.disabled:hover{cursor:default!important;background-color:transparent!important;color:rgba(40,40,40,.3)!important}.ui.menu:not(.vertical) .left.item,.ui.menu:not(.vertical) :not(.dropdown)>.left.menu{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:auto!important}.ui.menu:not(.vertical) .right.item,.ui.menu:not(.vertical) .right.menu{display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:auto!important}.ui.menu .right.item::before,.ui.menu .right.menu>.item::before{right:auto;left:0}.ui.vertical.menu{display:block;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15)}.ui.vertical.menu .item{display:block;background:0 0;border-top:none;border-right:none}.ui.vertical.menu>.item:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.menu>.item:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.menu .item>.label{float:right;text-align:center}.ui.vertical.menu .item>i.icon{width:1.18em;float:right;margin:0 0 0 .5em}.ui.vertical.menu .item>.label+i.icon{float:none;margin:0 .5em 0 0}.ui.vertical.menu .item:before{position:absolute;content:'';top:0;left:0;width:100%;height:1px;background:rgba(34,36,38,.1)}.ui.vertical.menu .item:first-child:before{display:none!important}.ui.vertical.menu .item>.menu{margin:.5em -1.14285714em 0}.ui.vertical.menu .menu .item{background:0 0;padding:.5em 1.33333333em;font-size:.85714286em;color:rgba(0,0,0,.5)}.ui.vertical.menu .item .menu .link.item:hover,.ui.vertical.menu .item .menu a.item:hover{color:rgba(0,0,0,.85)}.ui.vertical.menu .menu .item:before{display:none}.ui.vertical.menu .active.item{background:rgba(0,0,0,.05);border-radius:0;-webkit-box-shadow:none;box-shadow:none}.ui.vertical.menu>.active.item:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.menu>.active.item:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.menu>.active.item:only-child{border-radius:.28571429rem}.ui.vertical.menu .active.item .menu .active.item{border-left:none}.ui.vertical.menu .item .menu .active.item{background-color:transparent;font-weight:700;color:rgba(0,0,0,.95)}.ui.tabular.menu{border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important;border:none;background:none transparent;border-bottom:1px solid #d4d4d5}.ui.tabular.fluid.menu{width:calc(100% + 2px)!important}.ui.tabular.menu .item{background:0 0;border-bottom:none;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;padding:.92857143em 1.42857143em;color:rgba(0,0,0,.87)}.ui.tabular.menu .item:before{display:none}.ui.tabular.menu .item:hover{background-color:transparent;color:rgba(0,0,0,.8)}.ui.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-top-width:1px;border-color:#d4d4d5;font-weight:700;margin-bottom:-1px;-webkit-box-shadow:none;box-shadow:none;border-radius:.28571429rem .28571429rem 0 0!important}.ui.tabular.menu+.attached:not(.top).segment,.ui.tabular.menu+.attached:not(.top).segment+.attached:not(.top).segment{border-top:none;margin-left:0;margin-top:0;margin-right:0;width:100%}.top.attached.segment+.ui.bottom.tabular.menu{position:relative;width:calc(100% + 2px);left:-1px}.ui.bottom.tabular.menu{background:none transparent;border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important;border-bottom:none;border-top:1px solid #d4d4d5}.ui.bottom.tabular.menu .item{background:0 0;border-left:1px solid transparent;border-right:1px solid transparent;border-bottom:1px solid transparent;border-top:none}.ui.bottom.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-color:#d4d4d5;margin:-1px 0 0 0;border-radius:0 0 .28571429rem .28571429rem!important}.ui.vertical.tabular.menu{background:none transparent;border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important;border-bottom:none;border-right:1px solid #d4d4d5}.ui.vertical.tabular.menu .item{background:0 0;border-left:1px solid transparent;border-bottom:1px solid transparent;border-top:1px solid transparent;border-right:none}.ui.vertical.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-color:#d4d4d5;margin:0 -1px 0 0;border-radius:.28571429rem 0 0 .28571429rem!important}.ui.vertical.right.tabular.menu{background:none transparent;border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important;border-bottom:none;border-right:none;border-left:1px solid #d4d4d5}.ui.vertical.right.tabular.menu .item{background:0 0;border-right:1px solid transparent;border-bottom:1px solid transparent;border-top:1px solid transparent;border-left:none}.ui.vertical.right.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-color:#d4d4d5;margin:0 0 0 -1px;border-radius:0 .28571429rem .28571429rem 0!important}.ui.tabular.menu .active.dropdown.item{margin-bottom:0;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:none}.ui.pagination.menu{margin:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.ui.pagination.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.compact.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.pagination.menu .item:last-child:before{display:none}.ui.pagination.menu .item{min-width:3em;text-align:center}.ui.pagination.menu .icon.item i.icon{vertical-align:top}.ui.pagination.menu .active.item{border-top:none;padding-top:.92857143em;background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.95);-webkit-box-shadow:none;box-shadow:none}.ui.secondary.menu{background:0 0;margin-left:-.35714286em;margin-right:-.35714286em;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none}.ui.secondary.menu .item{-ms-flex-item-align:center;align-self:center;-webkit-box-shadow:none;box-shadow:none;border:none;padding:.78571429em .92857143em;margin:0 .35714286em;background:0 0;-webkit-transition:color .1s ease;transition:color .1s ease;border-radius:.28571429rem}.ui.secondary.menu .item:before{display:none!important}.ui.secondary.menu .header.item{border-radius:0;border-right:none;background:none transparent}.ui.secondary.menu .item>img:not(.ui){margin:0}.ui.secondary.menu .dropdown.item:hover,.ui.secondary.menu .link.item:hover,.ui.secondary.menu a.item:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.secondary.menu .active.item{-webkit-box-shadow:none;box-shadow:none;background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);border-radius:.28571429rem}.ui.secondary.menu .active.item:hover{-webkit-box-shadow:none;box-shadow:none;background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.secondary.inverted.menu .link.item,.ui.secondary.inverted.menu a.item{color:rgba(255,255,255,.7)!important}.ui.secondary.inverted.menu .dropdown.item:hover,.ui.secondary.inverted.menu .link.item:hover,.ui.secondary.inverted.menu a.item:hover{background:rgba(255,255,255,.08);color:#fff!important}.ui.secondary.inverted.menu .active.item{background:rgba(255,255,255,.15);color:#fff!important}.ui.secondary.item.menu{margin-left:0;margin-right:0}.ui.secondary.item.menu .item:last-child{margin-right:0}.ui.secondary.attached.menu{-webkit-box-shadow:none;box-shadow:none}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu{margin:0 -.92857143em}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu>.item{margin:0;padding:.5em 1.33333333em}.ui.secondary.vertical.menu>.item{border:none;margin:0 0 .35714286em;border-radius:.28571429rem!important}.ui.secondary.vertical.menu>.header.item{border-radius:0}.ui.vertical.secondary.menu .item>.menu .item{background-color:transparent}.ui.secondary.inverted.menu{background-color:transparent}.ui.secondary.pointing.menu{margin-left:0;margin-right:0;border-bottom:2px solid rgba(34,36,38,.15)}.ui.secondary.pointing.menu .item{border-bottom-color:transparent;border-bottom-style:solid;border-radius:0;-ms-flex-item-align:end;align-self:flex-end;margin:0 0 -2px;padding:.85714286em 1.14285714em;border-bottom-width:2px;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.secondary.pointing.menu .header.item{color:rgba(0,0,0,.85)!important}.ui.secondary.pointing.menu .text.item{-webkit-box-shadow:none!important;box-shadow:none!important}.ui.secondary.pointing.menu .item:after{display:none}.ui.secondary.pointing.menu .dropdown.item:hover,.ui.secondary.pointing.menu .link.item:hover,.ui.secondary.pointing.menu a.item:hover{background-color:transparent;color:rgba(0,0,0,.87)}.ui.secondary.pointing.menu .dropdown.item:active,.ui.secondary.pointing.menu .link.item:active,.ui.secondary.pointing.menu a.item:active{background-color:transparent;border-color:rgba(34,36,38,.15)}.ui.secondary.pointing.menu .active.item{background-color:transparent;-webkit-box-shadow:none;box-shadow:none;border-color:#1b1c1d;font-weight:700;color:rgba(0,0,0,.95)}.ui.secondary.pointing.menu .active.item:hover{border-color:#1b1c1d;color:rgba(0,0,0,.95)}.ui.secondary.pointing.menu .active.dropdown.item{border-color:transparent}.ui.secondary.vertical.pointing.menu{border-bottom-width:0;border-right-width:2px;border-right-style:solid;border-right-color:rgba(34,36,38,.15)}.ui.secondary.vertical.pointing.menu .item{border-bottom:none;border-right-style:solid;border-right-color:transparent;border-radius:0!important;margin:0 -2px 0 0;border-right-width:2px}.ui.secondary.vertical.pointing.menu .active.item{border-color:#1b1c1d}.ui.secondary.inverted.pointing.menu{border-color:rgba(255,255,255,.1)}.ui.secondary.inverted.pointing.menu{border-width:2px;border-color:rgba(34,36,38,.15)}.ui.secondary.inverted.pointing.menu .item{color:rgba(255,255,255,.9)}.ui.secondary.inverted.pointing.menu .header.item{color:#fff!important}.ui.secondary.inverted.pointing.menu .link.item:hover,.ui.secondary.inverted.pointing.menu a.item:hover{color:rgba(0,0,0,.95)}.ui.secondary.inverted.pointing.menu .active.item{border-color:#fff;color:#fff}.ui.text.menu{background:none transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:none;margin:1em -.5em}.ui.text.menu .item{border-radius:0;-webkit-box-shadow:none;box-shadow:none;-ms-flex-item-align:center;align-self:center;margin:0 0;padding:.35714286em .5em;font-weight:400;color:rgba(0,0,0,.6);-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.text.menu .item:before,.ui.text.menu .menu .item:before{display:none!important}.ui.text.menu .header.item{background-color:transparent;opacity:1;color:rgba(0,0,0,.85);font-size:.92857143em;text-transform:uppercase;font-weight:700}.ui.text.menu .item>img:not(.ui){margin:0}.ui.text.item.menu .item{margin:0}.ui.vertical.text.menu{margin:1em 0}.ui.vertical.text.menu:first-child{margin-top:0}.ui.vertical.text.menu:last-child{margin-bottom:0}.ui.vertical.text.menu .item{margin:.57142857em 0;padding-left:0;padding-right:0}.ui.vertical.text.menu .item>i.icon{float:none;margin:0 .35714286em 0 0}.ui.vertical.text.menu .header.item{margin:.57142857em 0 .71428571em}.ui.vertical.text.menu .item:not(.dropdown)>.menu{margin:0}.ui.vertical.text.menu .item:not(.dropdown)>.menu>.item{margin:0;padding:.5em 0}.ui.text.menu .item:hover{opacity:1;background-color:transparent}.ui.text.menu .active.item{background-color:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;font-weight:400;color:rgba(0,0,0,.95)}.ui.text.menu .active.item:hover{background-color:transparent}.ui.text.pointing.menu .active.item:after{-webkit-box-shadow:none;box-shadow:none}.ui.text.attached.menu{-webkit-box-shadow:none;box-shadow:none}.ui.inverted.text.menu,.ui.inverted.text.menu .active.item,.ui.inverted.text.menu .item,.ui.inverted.text.menu .item:hover{background-color:transparent!important}.ui.fluid.text.menu{margin-left:0;margin-right:0}.ui.vertical.icon.menu{display:inline-block;width:auto}.ui.icon.menu .item{height:auto;text-align:center;color:#1b1c1d}.ui.icon.menu .item>.icon:not(.dropdown){margin:0;opacity:1}.ui.icon.menu .icon:before{opacity:1}.ui.menu .icon.item>.icon{width:auto;margin:0 auto}.ui.vertical.icon.menu .item>.icon:not(.dropdown){display:block;opacity:1;margin:0 auto;float:none}.ui.inverted.icon.menu .item{color:#fff}.ui.labeled.icon.menu{text-align:center}.ui.labeled.icon.menu .item{min-width:6em;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.labeled.icon.menu .item>.icon:not(.dropdown){height:1em;display:block;font-size:1.71428571em!important;margin:0 auto .5rem!important}.ui.fluid.labeled.icon.menu>.item{min-width:0}@media only screen and (max-width:767px){.ui.stackable.menu{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.stackable.menu .item{width:100%!important}.ui.stackable.menu .item:before{position:absolute;content:'';top:auto;bottom:0;left:0;width:100%;height:1px;background:rgba(34,36,38,.1)}.ui.stackable.menu .left.item,.ui.stackable.menu .left.menu{margin-right:0!important}.ui.stackable.menu .right.item,.ui.stackable.menu .right.menu{margin-left:0!important}.ui.stackable.menu .left.menu,.ui.stackable.menu .right.menu{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.ui.menu .red.active.item,.ui.red.menu .active.item{border-color:#db2828!important;color:#db2828!important}.ui.menu .orange.active.item,.ui.orange.menu .active.item{border-color:#f2711c!important;color:#f2711c!important}.ui.menu .yellow.active.item,.ui.yellow.menu .active.item{border-color:#fbbd08!important;color:#fbbd08!important}.ui.menu .olive.active.item,.ui.olive.menu .active.item{border-color:#b5cc18!important;color:#b5cc18!important}.ui.green.menu .active.item,.ui.menu .green.active.item{border-color:#21ba45!important;color:#21ba45!important}.ui.menu .teal.active.item,.ui.teal.menu .active.item{border-color:#00b5ad!important;color:#00b5ad!important}.ui.blue.menu .active.item,.ui.menu .blue.active.item{border-color:#2185d0!important;color:#2185d0!important}.ui.menu .violet.active.item,.ui.violet.menu .active.item{border-color:#6435c9!important;color:#6435c9!important}.ui.menu .purple.active.item,.ui.purple.menu .active.item{border-color:#a333c8!important;color:#a333c8!important}.ui.menu .pink.active.item,.ui.pink.menu .active.item{border-color:#e03997!important;color:#e03997!important}.ui.brown.menu .active.item,.ui.menu .brown.active.item{border-color:#a5673f!important;color:#a5673f!important}.ui.grey.menu .active.item,.ui.menu .grey.active.item{border-color:#767676!important;color:#767676!important}.ui.inverted.menu{border:0 solid transparent;background:#1b1c1d;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.menu .item,.ui.inverted.menu .item>a:not(.ui){background:0 0;color:rgba(255,255,255,.9)}.ui.inverted.menu .item.menu{background:0 0}.ui.inverted.menu .item:before{background:rgba(255,255,255,.08)}.ui.vertical.inverted.menu .item:before{background:rgba(255,255,255,.08)}.ui.vertical.inverted.menu .menu .item,.ui.vertical.inverted.menu .menu .item a:not(.ui){color:rgba(255,255,255,.5)}.ui.inverted.menu .header.item{margin:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.menu .item.disabled,.ui.inverted.menu .item.disabled:hover{color:rgba(225,225,225,.3)}.ui.inverted.menu .dropdown.item:hover,.ui.inverted.menu .link.item:hover,.ui.inverted.menu a.item:hover,.ui.link.inverted.menu .item:hover{background:rgba(255,255,255,.08);color:#fff}.ui.vertical.inverted.menu .item .menu .link.item:hover,.ui.vertical.inverted.menu .item .menu a.item:hover{background:0 0;color:#fff}.ui.inverted.menu .link.item:active,.ui.inverted.menu a.item:active{background:rgba(255,255,255,.08);color:#fff}.ui.inverted.menu .active.item{background:rgba(255,255,255,.15);color:#fff!important}.ui.inverted.vertical.menu .item .menu .active.item{background:0 0;color:#fff}.ui.inverted.pointing.menu .active.item:after{background:#3d3e3f!important;margin:0!important;-webkit-box-shadow:none!important;box-shadow:none!important;border:none!important}.ui.inverted.menu .active.item:hover{background:rgba(255,255,255,.15);color:#fff!important}.ui.inverted.pointing.menu .active.item:hover:after{background:#3d3e3f!important}.ui.floated.menu{float:left;margin:0 .5rem 0 0}.ui.floated.menu .item:last-child:before{display:none}.ui.right.floated.menu{float:right;margin:0 0 0 .5rem}.ui.inverted.menu .red.active.item,.ui.inverted.red.menu{background-color:#db2828}.ui.inverted.red.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.red.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .orange.active.item,.ui.inverted.orange.menu{background-color:#f2711c}.ui.inverted.orange.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.orange.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .yellow.active.item,.ui.inverted.yellow.menu{background-color:#fbbd08}.ui.inverted.yellow.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.yellow.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .olive.active.item,.ui.inverted.olive.menu{background-color:#b5cc18}.ui.inverted.olive.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.olive.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.green.menu,.ui.inverted.menu .green.active.item{background-color:#21ba45}.ui.inverted.green.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.green.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .teal.active.item,.ui.inverted.teal.menu{background-color:#00b5ad}.ui.inverted.teal.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.teal.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.blue.menu,.ui.inverted.menu .blue.active.item{background-color:#2185d0}.ui.inverted.blue.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.blue.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .violet.active.item,.ui.inverted.violet.menu{background-color:#6435c9}.ui.inverted.violet.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.violet.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .purple.active.item,.ui.inverted.purple.menu{background-color:#a333c8}.ui.inverted.purple.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.purple.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .pink.active.item,.ui.inverted.pink.menu{background-color:#e03997}.ui.inverted.pink.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.pink.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.brown.menu,.ui.inverted.menu .brown.active.item{background-color:#a5673f}.ui.inverted.brown.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.brown.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.grey.menu,.ui.inverted.menu .grey.active.item{background-color:#767676}.ui.inverted.grey.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.grey.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.fitted.menu .item,.ui.fitted.menu .item .menu .item,.ui.menu .fitted.item{padding:0}.ui.horizontally.fitted.menu .item,.ui.horizontally.fitted.menu .item .menu .item,.ui.menu .horizontally.fitted.item{padding-top:.92857143em;padding-bottom:.92857143em}.ui.menu .vertically.fitted.item,.ui.vertically.fitted.menu .item,.ui.vertically.fitted.menu .item .menu .item{padding-left:1.14285714em;padding-right:1.14285714em}.ui.borderless.menu .item .menu .item:before,.ui.borderless.menu .item:before,.ui.menu .borderless.item:before{background:0 0!important}.ui.compact.menu{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin:0;vertical-align:middle}.ui.compact.vertical.menu{display:inline-block}.ui.compact.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.compact.menu .item:last-child:before{display:none}.ui.compact.vertical.menu{width:auto!important}.ui.compact.vertical.menu .item:last-child::before{display:block}.ui.menu.fluid,.ui.vertical.menu.fluid{width:100%!important}.ui.item.menu,.ui.item.menu .item{width:100%;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ui.attached.item.menu{margin:0 -1px!important}.ui.item.menu .item:last-child:before{display:none}.ui.menu.two.item .item{width:50%}.ui.menu.three.item .item{width:33.333%}.ui.menu.four.item .item{width:25%}.ui.menu.five.item .item{width:20%}.ui.menu.six.item .item{width:16.666%}.ui.menu.seven.item .item{width:14.285%}.ui.menu.eight.item .item{width:12.5%}.ui.menu.nine.item .item{width:11.11%}.ui.menu.ten.item .item{width:10%}.ui.menu.eleven.item .item{width:9.09%}.ui.menu.twelve.item .item{width:8.333%}.ui.menu.fixed{position:fixed;z-index:101;margin:0;width:100%}.ui.menu.fixed,.ui.menu.fixed .item:first-child,.ui.menu.fixed .item:last-child{border-radius:0!important}.ui.fixed.menu,.ui[class*="top fixed"].menu{top:0;left:0;right:auto;bottom:auto}.ui[class*="top fixed"].menu{border-top:none;border-left:none;border-right:none}.ui[class*="right fixed"].menu{border-top:none;border-bottom:none;border-right:none;top:0;right:0;left:auto;bottom:auto;width:auto;height:100%}.ui[class*="bottom fixed"].menu{border-bottom:none;border-left:none;border-right:none;bottom:0;left:0;top:auto;right:auto}.ui[class*="left fixed"].menu{border-top:none;border-bottom:none;border-left:none;top:0;left:0;right:auto;bottom:auto;width:auto;height:100%}.ui.fixed.menu+.ui.grid{padding-top:2.75rem}.ui.pointing.menu .item:after{visibility:hidden;position:absolute;content:'';top:100%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);background:0 0;margin:.5px 0 0;width:.57142857em;height:.57142857em;border:none;border-bottom:1px solid #d4d4d5;border-right:1px solid #d4d4d5;z-index:2;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.vertical.pointing.menu .item:after{position:absolute;top:50%;right:0;bottom:auto;left:auto;-webkit-transform:translateX(50%) translateY(-50%) rotate(45deg);transform:translateX(50%) translateY(-50%) rotate(45deg);margin:0 -.5px 0 0;border:none;border-top:1px solid #d4d4d5;border-right:1px solid #d4d4d5}.ui.pointing.menu .active.item:after{visibility:visible}.ui.pointing.menu .active.dropdown.item:after{visibility:hidden}.ui.pointing.menu .active.item .menu .active.item:after,.ui.pointing.menu .dropdown.active.item:after{display:none}.ui.pointing.menu .active.item:hover:after{background-color:#f2f2f2}.ui.pointing.menu .active.item:after{background-color:#f2f2f2}.ui.pointing.menu .active.item:hover:after{background-color:#f2f2f2}.ui.vertical.pointing.menu .active.item:hover:after{background-color:#f2f2f2}.ui.vertical.pointing.menu .active.item:after{background-color:#f2f2f2}.ui.vertical.pointing.menu .menu .active.item:after{background-color:#fff}.ui.attached.menu{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px);-webkit-box-shadow:none;box-shadow:none}.ui.attached+.ui.attached.menu:not(.top){border-top:none}.ui[class*="top attached"].menu{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.menu[class*="top attached"]:first-child{margin-top:0}.ui[class*="bottom attached"].menu{bottom:0;margin-top:0;top:0;margin-bottom:1rem;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].menu:last-child{margin-bottom:0}.ui.top.attached.menu>.item:first-child{border-radius:.28571429rem 0 0 0}.ui.bottom.attached.menu>.item:first-child{border-radius:0 0 0 .28571429rem}.ui.attached.menu:not(.tabular){border:1px solid #d4d4d5}.ui.attached.inverted.menu{border:none}.ui.attached.tabular.menu{margin-left:0;margin-right:0;width:100%}.ui.mini.menu{font-size:.78571429rem}.ui.mini.vertical.menu{width:9rem}.ui.tiny.menu{font-size:.85714286rem}.ui.tiny.vertical.menu{width:11rem}.ui.small.menu{font-size:.92857143rem}.ui.small.vertical.menu{width:13rem}.ui.menu{font-size:1rem}.ui.vertical.menu{width:15rem}.ui.large.menu{font-size:1.07142857rem}.ui.large.vertical.menu{width:18rem}.ui.huge.menu{font-size:1.21428571rem}.ui.huge.vertical.menu{width:22rem}.ui.big.menu{font-size:1.14285714rem}.ui.big.vertical.menu{width:20rem}.ui.massive.menu{font-size:1.28571429rem}.ui.massive.vertical.menu{width:25rem}/*! - * # Semantic UI 2.4.0 - Message - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.message{position:relative;min-height:1em;margin:1em 0;background:#f8f8f9;padding:1em 1.5em;line-height:1.4285em;color:rgba(0,0,0,.87);-webkit-transition:opacity .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease,-webkit-box-shadow .1s ease;border-radius:.28571429rem;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 0 0 0 transparent;box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 0 0 0 transparent}.ui.message:first-child{margin-top:0}.ui.message:last-child{margin-bottom:0}.ui.message .header{display:block;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;margin:-.14285714em 0 0 0}.ui.message .header:not(.ui){font-size:1.14285714em}.ui.message p{opacity:.85;margin:.75em 0}.ui.message p:first-child{margin-top:0}.ui.message p:last-child{margin-bottom:0}.ui.message .header+p{margin-top:.25em}.ui.message .list:not(.ui){text-align:left;padding:0;opacity:.85;list-style-position:inside;margin:.5em 0 0}.ui.message .list:not(.ui):first-child{margin-top:0}.ui.message .list:not(.ui):last-child{margin-bottom:0}.ui.message .list:not(.ui) li{position:relative;list-style-type:none;margin:0 0 .3em 1em;padding:0}.ui.message .list:not(.ui) li:before{position:absolute;content:'•';left:-1em;height:100%;vertical-align:baseline}.ui.message .list:not(.ui) li:last-child{margin-bottom:0}.ui.message>.icon{margin-right:.6em}.ui.message>.close.icon{cursor:pointer;position:absolute;margin:0;top:.78575em;right:.5em;opacity:.7;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.message>.close.icon:hover{opacity:1}.ui.message>:first-child{margin-top:0}.ui.message>:last-child{margin-bottom:0}.ui.dropdown .menu>.message{margin:0 -1px}.ui.visible.visible.visible.visible.message{display:block}.ui.icon.visible.visible.visible.visible.message{display:-webkit-box;display:-ms-flexbox;display:flex}.ui.hidden.hidden.hidden.hidden.message{display:none}.ui.compact.message{display:inline-block}.ui.compact.icon.message{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.ui.attached.message{margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;margin-left:-1px;margin-right:-1px}.ui.attached+.ui.attached.message:not(.top):not(.bottom){margin-top:-1px;border-radius:0}.ui.bottom.attached.message{margin-top:-1px;border-radius:0 0 .28571429rem .28571429rem;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15) inset,0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 0 0 1px rgba(34,36,38,.15) inset,0 1px 2px 0 rgba(34,36,38,.15)}.ui.bottom.attached.message:not(:last-child){margin-bottom:1em}.ui.attached.icon.message{width:auto}.ui.icon.message{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui.icon.message>.icon:not(.close){display:block;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;line-height:1;vertical-align:middle;font-size:3em;opacity:.8}.ui.icon.message>.content{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;vertical-align:middle}.ui.icon.message .icon:not(.close)+.content{padding-left:0}.ui.icon.message .circular.icon{width:1em}.ui.floating.message{-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.black.message{background-color:#1b1c1d;color:rgba(255,255,255,.9)}.ui.positive.message{background-color:#fcfff5;color:#2c662d}.ui.attached.positive.message,.ui.positive.message{-webkit-box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent}.ui.positive.message .header{color:#1a531b}.ui.negative.message{background-color:#fff6f6;color:#9f3a38}.ui.attached.negative.message,.ui.negative.message{-webkit-box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent}.ui.negative.message .header{color:#912d2b}.ui.info.message{background-color:#f8ffff;color:#276f86}.ui.attached.info.message,.ui.info.message{-webkit-box-shadow:0 0 0 1px #a9d5de inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #a9d5de inset,0 0 0 0 transparent}.ui.info.message .header{color:#0e566c}.ui.warning.message{background-color:#fffaf3;color:#573a08}.ui.attached.warning.message,.ui.warning.message{-webkit-box-shadow:0 0 0 1px #c9ba9b inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #c9ba9b inset,0 0 0 0 transparent}.ui.warning.message .header{color:#794b02}.ui.error.message{background-color:#fff6f6;color:#9f3a38}.ui.attached.error.message,.ui.error.message{-webkit-box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent}.ui.error.message .header{color:#912d2b}.ui.success.message{background-color:#fcfff5;color:#2c662d}.ui.attached.success.message,.ui.success.message{-webkit-box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent}.ui.success.message .header{color:#1a531b}.ui.black.message,.ui.inverted.message{background-color:#1b1c1d;color:rgba(255,255,255,.9)}.ui.red.message{background-color:#ffe8e6;color:#db2828;-webkit-box-shadow:0 0 0 1px #db2828 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #db2828 inset,0 0 0 0 transparent}.ui.red.message .header{color:#c82121}.ui.orange.message{background-color:#ffedde;color:#f2711c;-webkit-box-shadow:0 0 0 1px #f2711c inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #f2711c inset,0 0 0 0 transparent}.ui.orange.message .header{color:#e7640d}.ui.yellow.message{background-color:#fff8db;color:#b58105;-webkit-box-shadow:0 0 0 1px #b58105 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #b58105 inset,0 0 0 0 transparent}.ui.yellow.message .header{color:#9c6f04}.ui.olive.message{background-color:#fbfdef;color:#8abc1e;-webkit-box-shadow:0 0 0 1px #8abc1e inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #8abc1e inset,0 0 0 0 transparent}.ui.olive.message .header{color:#7aa61a}.ui.green.message{background-color:#e5f9e7;color:#1ebc30;-webkit-box-shadow:0 0 0 1px #1ebc30 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #1ebc30 inset,0 0 0 0 transparent}.ui.green.message .header{color:#1aa62a}.ui.teal.message{background-color:#e1f7f7;color:#10a3a3;-webkit-box-shadow:0 0 0 1px #10a3a3 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #10a3a3 inset,0 0 0 0 transparent}.ui.teal.message .header{color:#0e8c8c}.ui.blue.message{background-color:#dff0ff;color:#2185d0;-webkit-box-shadow:0 0 0 1px #2185d0 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #2185d0 inset,0 0 0 0 transparent}.ui.blue.message .header{color:#1e77ba}.ui.violet.message{background-color:#eae7ff;color:#6435c9;-webkit-box-shadow:0 0 0 1px #6435c9 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #6435c9 inset,0 0 0 0 transparent}.ui.violet.message .header{color:#5a30b5}.ui.purple.message{background-color:#f6e7ff;color:#a333c8;-webkit-box-shadow:0 0 0 1px #a333c8 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #a333c8 inset,0 0 0 0 transparent}.ui.purple.message .header{color:#922eb4}.ui.pink.message{background-color:#ffe3fb;color:#e03997;-webkit-box-shadow:0 0 0 1px #e03997 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #e03997 inset,0 0 0 0 transparent}.ui.pink.message .header{color:#dd238b}.ui.brown.message{background-color:#f1e2d3;color:#a5673f;-webkit-box-shadow:0 0 0 1px #a5673f inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #a5673f inset,0 0 0 0 transparent}.ui.brown.message .header{color:#935b38}.ui.mini.message{font-size:.78571429em}.ui.tiny.message{font-size:.85714286em}.ui.small.message{font-size:.92857143em}.ui.message{font-size:1em}.ui.large.message{font-size:1.14285714em}.ui.big.message{font-size:1.28571429em}.ui.huge.message{font-size:1.42857143em}.ui.massive.message{font-size:1.71428571em}/*! - * # Semantic UI 2.4.0 - Table - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.table{width:100%;background:#fff;margin:1em 0;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:none;box-shadow:none;border-radius:.28571429rem;text-align:left;color:rgba(0,0,0,.87);border-collapse:separate;border-spacing:0}.ui.table:first-child{margin-top:0}.ui.table:last-child{margin-bottom:0}.ui.table td,.ui.table th{-webkit-transition:background .1s ease,color .1s ease;transition:background .1s ease,color .1s ease}.ui.table thead{-webkit-box-shadow:none;box-shadow:none}.ui.table thead th{cursor:auto;background:#f9fafb;text-align:inherit;color:rgba(0,0,0,.87);padding:.92857143em .78571429em;vertical-align:inherit;font-style:none;font-weight:700;text-transform:none;border-bottom:1px solid rgba(34,36,38,.1);border-left:none}.ui.table thead tr>th:first-child{border-left:none}.ui.table thead tr:first-child>th:first-child{border-radius:.28571429rem 0 0 0}.ui.table thead tr:first-child>th:last-child{border-radius:0 .28571429rem 0 0}.ui.table thead tr:first-child>th:only-child{border-radius:.28571429rem .28571429rem 0 0}.ui.table tfoot{-webkit-box-shadow:none;box-shadow:none}.ui.table tfoot th{cursor:auto;border-top:1px solid rgba(34,36,38,.15);background:#f9fafb;text-align:inherit;color:rgba(0,0,0,.87);padding:.78571429em .78571429em;vertical-align:middle;font-style:normal;font-weight:400;text-transform:none}.ui.table tfoot tr>th:first-child{border-left:none}.ui.table tfoot tr:first-child>th:first-child{border-radius:0 0 0 .28571429rem}.ui.table tfoot tr:first-child>th:last-child{border-radius:0 0 .28571429rem 0}.ui.table tfoot tr:first-child>th:only-child{border-radius:0 0 .28571429rem .28571429rem}.ui.table tr td{border-top:1px solid rgba(34,36,38,.1)}.ui.table tr:first-child td{border-top:none}.ui.table tbody+tbody tr:first-child td{border-top:1px solid rgba(34,36,38,.1)}.ui.table td{padding:.78571429em .78571429em;text-align:inherit}.ui.table>.icon{vertical-align:baseline}.ui.table>.icon:only-child{margin:0}.ui.table.segment{padding:0}.ui.table.segment:after{display:none}.ui.table.segment.stacked:after{display:block}@media only screen and (max-width:767px){.ui.table:not(.unstackable){width:100%}.ui.table:not(.unstackable) tbody,.ui.table:not(.unstackable) tr,.ui.table:not(.unstackable) tr>td,.ui.table:not(.unstackable) tr>th{width:auto!important;display:block!important}.ui.table:not(.unstackable){padding:0}.ui.table:not(.unstackable) thead{display:block}.ui.table:not(.unstackable) tfoot{display:block}.ui.table:not(.unstackable) tr{padding-top:1em;padding-bottom:1em;-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important;box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important}.ui.table:not(.unstackable) tr>td,.ui.table:not(.unstackable) tr>th{background:0 0;border:none!important;padding:.25em .75em!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.table:not(.unstackable) td:first-child,.ui.table:not(.unstackable) th:first-child{font-weight:700}.ui.definition.table:not(.unstackable) thead th:first-child{-webkit-box-shadow:none!important;box-shadow:none!important}}.ui.table td .image,.ui.table td .image img,.ui.table th .image,.ui.table th .image img{max-width:none}.ui.structured.table{border-collapse:collapse}.ui.structured.table thead th{border-left:none;border-right:none}.ui.structured.sortable.table thead th{border-left:1px solid rgba(34,36,38,.15);border-right:1px solid rgba(34,36,38,.15)}.ui.structured.basic.table th{border-left:none;border-right:none}.ui.structured.celled.table tr td,.ui.structured.celled.table tr th{border-left:1px solid rgba(34,36,38,.1);border-right:1px solid rgba(34,36,38,.1)}.ui.definition.table thead:not(.full-width) th:first-child{pointer-events:none;background:0 0;font-weight:400;color:rgba(0,0,0,.4);-webkit-box-shadow:-1px -1px 0 1px #fff;box-shadow:-1px -1px 0 1px #fff}.ui.definition.table tfoot:not(.full-width) th:first-child{pointer-events:none;background:0 0;font-weight:rgba(0,0,0,.4);color:normal;-webkit-box-shadow:1px 1px 0 1px #fff;box-shadow:1px 1px 0 1px #fff}.ui.celled.definition.table thead:not(.full-width) th:first-child{-webkit-box-shadow:0 -1px 0 1px #fff;box-shadow:0 -1px 0 1px #fff}.ui.celled.definition.table tfoot:not(.full-width) th:first-child{-webkit-box-shadow:0 1px 0 1px #fff;box-shadow:0 1px 0 1px #fff}.ui.definition.table tr td.definition,.ui.definition.table tr td:first-child:not(.ignored){background:rgba(0,0,0,.03);font-weight:700;color:rgba(0,0,0,.95);text-transform:'';-webkit-box-shadow:'';box-shadow:'';text-align:'';font-size:1em;padding-left:'';padding-right:''}.ui.definition.table thead:not(.full-width) th:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.definition.table tfoot:not(.full-width) th:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.definition.table td:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.table td.positive,.ui.table tr.positive{-webkit-box-shadow:0 0 0 #a3c293 inset;box-shadow:0 0 0 #a3c293 inset}.ui.table td.positive,.ui.table tr.positive{background:#fcfff5!important;color:#2c662d!important}.ui.table td.negative,.ui.table tr.negative{-webkit-box-shadow:0 0 0 #e0b4b4 inset;box-shadow:0 0 0 #e0b4b4 inset}.ui.table td.negative,.ui.table tr.negative{background:#fff6f6!important;color:#9f3a38!important}.ui.table td.error,.ui.table tr.error{-webkit-box-shadow:0 0 0 #e0b4b4 inset;box-shadow:0 0 0 #e0b4b4 inset}.ui.table td.error,.ui.table tr.error{background:#fff6f6!important;color:#9f3a38!important}.ui.table td.warning,.ui.table tr.warning{-webkit-box-shadow:0 0 0 #c9ba9b inset;box-shadow:0 0 0 #c9ba9b inset}.ui.table td.warning,.ui.table tr.warning{background:#fffaf3!important;color:#573a08!important}.ui.table td.active,.ui.table tr.active{-webkit-box-shadow:0 0 0 rgba(0,0,0,.87) inset;box-shadow:0 0 0 rgba(0,0,0,.87) inset}.ui.table td.active,.ui.table tr.active{background:#e0e0e0!important;color:rgba(0,0,0,.87)!important}.ui.table tr td.disabled,.ui.table tr.disabled td,.ui.table tr.disabled:hover,.ui.table tr:hover td.disabled{pointer-events:none;color:rgba(40,40,40,.3)}@media only screen and (max-width:991px){.ui[class*="tablet stackable"].table,.ui[class*="tablet stackable"].table tbody,.ui[class*="tablet stackable"].table tr,.ui[class*="tablet stackable"].table tr>td,.ui[class*="tablet stackable"].table tr>th{width:100%!important;display:block!important}.ui[class*="tablet stackable"].table{padding:0}.ui[class*="tablet stackable"].table thead{display:block}.ui[class*="tablet stackable"].table tfoot{display:block}.ui[class*="tablet stackable"].table tr{padding-top:1em;padding-bottom:1em;-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important;box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important}.ui[class*="tablet stackable"].table tr>td,.ui[class*="tablet stackable"].table tr>th{background:0 0;border:none!important;padding:.25em .75em;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.definition[class*="tablet stackable"].table thead th:first-child{-webkit-box-shadow:none!important;box-shadow:none!important}}.ui.table [class*="left aligned"],.ui.table[class*="left aligned"]{text-align:left}.ui.table [class*="center aligned"],.ui.table[class*="center aligned"]{text-align:center}.ui.table [class*="right aligned"],.ui.table[class*="right aligned"]{text-align:right}.ui.table [class*="top aligned"],.ui.table[class*="top aligned"]{vertical-align:top}.ui.table [class*="middle aligned"],.ui.table[class*="middle aligned"]{vertical-align:middle}.ui.table [class*="bottom aligned"],.ui.table[class*="bottom aligned"]{vertical-align:bottom}.ui.table td.collapsing,.ui.table th.collapsing{width:1px;white-space:nowrap}.ui.fixed.table{table-layout:fixed}.ui.fixed.table td,.ui.fixed.table th{overflow:hidden;text-overflow:ellipsis}.ui.selectable.table tbody tr:hover,.ui.table tbody tr td.selectable:hover{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.inverted.table tbody tr td.selectable:hover,.ui.selectable.inverted.table tbody tr:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}.ui.table tbody tr td.selectable{padding:0}.ui.table tbody tr td.selectable>a:not(.ui){display:block;color:inherit;padding:.78571429em .78571429em}.ui.selectable.table tr.error:hover,.ui.selectable.table tr:hover td.error,.ui.table tr td.selectable.error:hover{background:#ffe7e7!important;color:#943634!important}.ui.selectable.table tr.warning:hover,.ui.selectable.table tr:hover td.warning,.ui.table tr td.selectable.warning:hover{background:#fff4e4!important;color:#493107!important}.ui.selectable.table tr.active:hover,.ui.selectable.table tr:hover td.active,.ui.table tr td.selectable.active:hover{background:#e0e0e0!important;color:rgba(0,0,0,.87)!important}.ui.selectable.table tr.positive:hover,.ui.selectable.table tr:hover td.positive,.ui.table tr td.selectable.positive:hover{background:#f7ffe6!important;color:#275b28!important}.ui.selectable.table tr.negative:hover,.ui.selectable.table tr:hover td.negative,.ui.table tr td.selectable.negative:hover{background:#ffe7e7!important;color:#943634!important}.ui.attached.table{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px);-webkit-box-shadow:none;box-shadow:none;border:1px solid #d4d4d5}.ui.attached+.ui.attached.table:not(.top){border-top:none}.ui[class*="top attached"].table{bottom:0;margin-bottom:0;top:0;margin-top:1em;border-radius:.28571429rem .28571429rem 0 0}.ui.table[class*="top attached"]:first-child{margin-top:0}.ui[class*="bottom attached"].table{bottom:0;margin-top:0;top:0;margin-bottom:1em;-webkit-box-shadow:none,none;box-shadow:none,none;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].table:last-child{margin-bottom:0}.ui.striped.table tbody tr:nth-child(2n),.ui.striped.table>tr:nth-child(2n){background-color:rgba(0,0,50,.02)}.ui.inverted.striped.table tbody tr:nth-child(2n),.ui.inverted.striped.table>tr:nth-child(2n){background-color:rgba(255,255,255,.05)}.ui.striped.selectable.selectable.selectable.table tbody tr.active:hover{background:#efefef!important;color:rgba(0,0,0,.95)!important}.ui.table [class*="single line"],.ui.table[class*="single line"]{white-space:nowrap}.ui.table [class*="single line"],.ui.table[class*="single line"]{white-space:nowrap}.ui.red.table{border-top:.2em solid #db2828}.ui.inverted.red.table{background-color:#db2828!important;color:#fff!important}.ui.orange.table{border-top:.2em solid #f2711c}.ui.inverted.orange.table{background-color:#f2711c!important;color:#fff!important}.ui.yellow.table{border-top:.2em solid #fbbd08}.ui.inverted.yellow.table{background-color:#fbbd08!important;color:#fff!important}.ui.olive.table{border-top:.2em solid #b5cc18}.ui.inverted.olive.table{background-color:#b5cc18!important;color:#fff!important}.ui.green.table{border-top:.2em solid #21ba45}.ui.inverted.green.table{background-color:#21ba45!important;color:#fff!important}.ui.teal.table{border-top:.2em solid #00b5ad}.ui.inverted.teal.table{background-color:#00b5ad!important;color:#fff!important}.ui.blue.table{border-top:.2em solid #2185d0}.ui.inverted.blue.table{background-color:#2185d0!important;color:#fff!important}.ui.violet.table{border-top:.2em solid #6435c9}.ui.inverted.violet.table{background-color:#6435c9!important;color:#fff!important}.ui.purple.table{border-top:.2em solid #a333c8}.ui.inverted.purple.table{background-color:#a333c8!important;color:#fff!important}.ui.pink.table{border-top:.2em solid #e03997}.ui.inverted.pink.table{background-color:#e03997!important;color:#fff!important}.ui.brown.table{border-top:.2em solid #a5673f}.ui.inverted.brown.table{background-color:#a5673f!important;color:#fff!important}.ui.grey.table{border-top:.2em solid #767676}.ui.inverted.grey.table{background-color:#767676!important;color:#fff!important}.ui.black.table{border-top:.2em solid #1b1c1d}.ui.inverted.black.table{background-color:#1b1c1d!important;color:#fff!important}.ui.one.column.table td{width:100%}.ui.two.column.table td{width:50%}.ui.three.column.table td{width:33.33333333%}.ui.four.column.table td{width:25%}.ui.five.column.table td{width:20%}.ui.six.column.table td{width:16.66666667%}.ui.seven.column.table td{width:14.28571429%}.ui.eight.column.table td{width:12.5%}.ui.nine.column.table td{width:11.11111111%}.ui.ten.column.table td{width:10%}.ui.eleven.column.table td{width:9.09090909%}.ui.twelve.column.table td{width:8.33333333%}.ui.thirteen.column.table td{width:7.69230769%}.ui.fourteen.column.table td{width:7.14285714%}.ui.fifteen.column.table td{width:6.66666667%}.ui.sixteen.column.table td{width:6.25%}.ui.table td.one.wide,.ui.table th.one.wide{width:6.25%}.ui.table td.two.wide,.ui.table th.two.wide{width:12.5%}.ui.table td.three.wide,.ui.table th.three.wide{width:18.75%}.ui.table td.four.wide,.ui.table th.four.wide{width:25%}.ui.table td.five.wide,.ui.table th.five.wide{width:31.25%}.ui.table td.six.wide,.ui.table th.six.wide{width:37.5%}.ui.table td.seven.wide,.ui.table th.seven.wide{width:43.75%}.ui.table td.eight.wide,.ui.table th.eight.wide{width:50%}.ui.table td.nine.wide,.ui.table th.nine.wide{width:56.25%}.ui.table td.ten.wide,.ui.table th.ten.wide{width:62.5%}.ui.table td.eleven.wide,.ui.table th.eleven.wide{width:68.75%}.ui.table td.twelve.wide,.ui.table th.twelve.wide{width:75%}.ui.table td.thirteen.wide,.ui.table th.thirteen.wide{width:81.25%}.ui.table td.fourteen.wide,.ui.table th.fourteen.wide{width:87.5%}.ui.table td.fifteen.wide,.ui.table th.fifteen.wide{width:93.75%}.ui.table td.sixteen.wide,.ui.table th.sixteen.wide{width:100%}.ui.sortable.table thead th{cursor:pointer;white-space:nowrap;border-left:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87)}.ui.sortable.table thead th:first-child{border-left:none}.ui.sortable.table thead th.sorted,.ui.sortable.table thead th.sorted:hover{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.sortable.table thead th:after{display:none;font-style:normal;font-weight:400;text-decoration:inherit;content:'';height:1em;width:auto;opacity:.8;margin:0 0 0 .5em;font-family:Icons}.ui.sortable.table thead th.ascending:after{content:'\f0d8'}.ui.sortable.table thead th.descending:after{content:'\f0d7'}.ui.sortable.table th.disabled:hover{cursor:auto;color:rgba(40,40,40,.3)}.ui.sortable.table thead th:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.8)}.ui.sortable.table thead th.sorted{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.sortable.table thead th.sorted:after{display:inline-block}.ui.sortable.table thead th.sorted:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.inverted.sortable.table thead th.sorted{background:rgba(255,255,255,.15) -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:rgba(255,255,255,.15) -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:rgba(255,255,255,.15) linear-gradient(transparent,rgba(0,0,0,.05));color:#fff}.ui.inverted.sortable.table thead th:hover{background:rgba(255,255,255,.08) -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:rgba(255,255,255,.08) -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:rgba(255,255,255,.08) linear-gradient(transparent,rgba(0,0,0,.05));color:#fff}.ui.inverted.sortable.table thead th{border-left-color:transparent;border-right-color:transparent}.ui.inverted.table{background:#333;color:rgba(255,255,255,.9);border:none}.ui.inverted.table th{background-color:rgba(0,0,0,.15);border-color:rgba(255,255,255,.1)!important;color:rgba(255,255,255,.9)!important}.ui.inverted.table tr td{border-color:rgba(255,255,255,.1)!important}.ui.inverted.table tr td.disabled,.ui.inverted.table tr.disabled td,.ui.inverted.table tr.disabled:hover td,.ui.inverted.table tr:hover td.disabled{pointer-events:none;color:rgba(225,225,225,.3)}.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,.ui.inverted.definition.table thead:not(.full-width) th:first-child{background:#fff}.ui.inverted.definition.table tr td:first-child{background:rgba(255,255,255,.02);color:#fff}.ui.collapsing.table{width:auto}.ui.basic.table{background:0 0;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:none;box-shadow:none}.ui.basic.table tfoot,.ui.basic.table thead{-webkit-box-shadow:none;box-shadow:none}.ui.basic.table th{background:0 0;border-left:none}.ui.basic.table tbody tr{border-bottom:1px solid rgba(0,0,0,.1)}.ui.basic.table td{background:0 0}.ui.basic.striped.table tbody tr:nth-child(2n){background-color:rgba(0,0,0,.05)!important}.ui[class*="very basic"].table{border:none}.ui[class*="very basic"].table:not(.sortable):not(.striped) td,.ui[class*="very basic"].table:not(.sortable):not(.striped) th{padding:''}.ui[class*="very basic"].table:not(.sortable):not(.striped) td:first-child,.ui[class*="very basic"].table:not(.sortable):not(.striped) th:first-child{padding-left:0}.ui[class*="very basic"].table:not(.sortable):not(.striped) td:last-child,.ui[class*="very basic"].table:not(.sortable):not(.striped) th:last-child{padding-right:0}.ui[class*="very basic"].table:not(.sortable):not(.striped) thead tr:first-child th{padding-top:0}.ui.celled.table tr td,.ui.celled.table tr th{border-left:1px solid rgba(34,36,38,.1)}.ui.celled.table tr td:first-child,.ui.celled.table tr th:first-child{border-left:none}.ui.padded.table th{padding-left:1em;padding-right:1em}.ui.padded.table td,.ui.padded.table th{padding:1em 1em}.ui[class*="very padded"].table th{padding-left:1.5em;padding-right:1.5em}.ui[class*="very padded"].table td{padding:1.5em 1.5em}.ui.compact.table th{padding-left:.7em;padding-right:.7em}.ui.compact.table td{padding:.5em .7em}.ui[class*="very compact"].table th{padding-left:.6em;padding-right:.6em}.ui[class*="very compact"].table td{padding:.4em .6em}.ui.small.table{font-size:.9em}.ui.table{font-size:1em}.ui.large.table{font-size:1.1em}/*! - * # Semantic UI 2.4.0 - Ad - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.ad{display:block;overflow:hidden;margin:1em 0}.ui.ad:first-child{margin:0}.ui.ad:last-child{margin:0}.ui.ad iframe{margin:0;padding:0;border:none;overflow:hidden}.ui.leaderboard.ad{width:728px;height:90px}.ui[class*="medium rectangle"].ad{width:300px;height:250px}.ui[class*="large rectangle"].ad{width:336px;height:280px}.ui[class*="half page"].ad{width:300px;height:600px}.ui.square.ad{width:250px;height:250px}.ui[class*="small square"].ad{width:200px;height:200px}.ui[class*="small rectangle"].ad{width:180px;height:150px}.ui[class*="vertical rectangle"].ad{width:240px;height:400px}.ui.button.ad{width:120px;height:90px}.ui[class*="square button"].ad{width:125px;height:125px}.ui[class*="small button"].ad{width:120px;height:60px}.ui.skyscraper.ad{width:120px;height:600px}.ui[class*="wide skyscraper"].ad{width:160px}.ui.banner.ad{width:468px;height:60px}.ui[class*="vertical banner"].ad{width:120px;height:240px}.ui[class*="top banner"].ad{width:930px;height:180px}.ui[class*="half banner"].ad{width:234px;height:60px}.ui[class*="large leaderboard"].ad{width:970px;height:90px}.ui.billboard.ad{width:970px;height:250px}.ui.panorama.ad{width:980px;height:120px}.ui.netboard.ad{width:580px;height:400px}.ui[class*="large mobile banner"].ad{width:320px;height:100px}.ui[class*="mobile leaderboard"].ad{width:320px;height:50px}.ui.mobile.ad{display:none}@media only screen and (max-width:767px){.ui.mobile.ad{display:block}}.ui.centered.ad{margin-left:auto;margin-right:auto}.ui.test.ad{position:relative;background:#545454}.ui.test.ad:after{position:absolute;top:50%;left:50%;width:100%;text-align:center;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);content:'Ad';color:#fff;font-size:1em;font-weight:700}.ui.mobile.test.ad:after{font-size:.85714286em}.ui.test.ad[data-text]:after{content:attr(data-text)}/*! - * # Semantic UI 2.4.0 - Item - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.card,.ui.cards>.card{max-width:100%;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:290px;min-height:0;background:#fff;padding:0;border:none;border-radius:.28571429rem;-webkit-box-shadow:0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5;box-shadow:0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5;-webkit-transition:-webkit-box-shadow .1s ease,-webkit-transform .1s ease;transition:-webkit-box-shadow .1s ease,-webkit-transform .1s ease;transition:box-shadow .1s ease,transform .1s ease;transition:box-shadow .1s ease,transform .1s ease,-webkit-box-shadow .1s ease,-webkit-transform .1s ease;z-index:''}.ui.card{margin:1em 0}.ui.card a,.ui.cards>.card a{cursor:pointer}.ui.card:first-child{margin-top:0}.ui.card:last-child{margin-bottom:0}.ui.cards{display:-webkit-box;display:-ms-flexbox;display:flex;margin:-.875em -.5em;-ms-flex-wrap:wrap;flex-wrap:wrap}.ui.cards>.card{display:-webkit-box;display:-ms-flexbox;display:flex;margin:.875em .5em;float:none}.ui.card:after,.ui.cards:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.cards~.ui.cards{margin-top:.875em}.ui.card>:first-child,.ui.cards>.card>:first-child{border-radius:.28571429rem .28571429rem 0 0!important;border-top:none!important}.ui.card>:last-child,.ui.cards>.card>:last-child{border-radius:0 0 .28571429rem .28571429rem!important}.ui.card>:only-child,.ui.cards>.card>:only-child{border-radius:.28571429rem!important}.ui.card>.image,.ui.cards>.card>.image{position:relative;display:block;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;padding:0;background:rgba(0,0,0,.05)}.ui.card>.image>img,.ui.cards>.card>.image>img{display:block;width:100%;height:auto;border-radius:inherit}.ui.card>.image:not(.ui)>img,.ui.cards>.card>.image:not(.ui)>img{border:none}.ui.card>.content,.ui.cards>.card>.content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border:none;border-top:1px solid rgba(34,36,38,.1);background:0 0;margin:0;padding:1em 1em;-webkit-box-shadow:none;box-shadow:none;font-size:1em;border-radius:0}.ui.card>.content:after,.ui.cards>.card>.content:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.card>.content>.header,.ui.cards>.card>.content>.header{display:block;margin:'';font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;color:rgba(0,0,0,.85)}.ui.card>.content>.header:not(.ui),.ui.cards>.card>.content>.header:not(.ui){font-weight:700;font-size:1.28571429em;margin-top:-.21425em;line-height:1.28571429em}.ui.card>.content>.header+.description,.ui.card>.content>.meta+.description,.ui.cards>.card>.content>.header+.description,.ui.cards>.card>.content>.meta+.description{margin-top:.5em}.ui.card [class*="left floated"],.ui.cards>.card [class*="left floated"]{float:left}.ui.card [class*="right floated"],.ui.cards>.card [class*="right floated"]{float:right}.ui.card [class*="left aligned"],.ui.cards>.card [class*="left aligned"]{text-align:left}.ui.card [class*="center aligned"],.ui.cards>.card [class*="center aligned"]{text-align:center}.ui.card [class*="right aligned"],.ui.cards>.card [class*="right aligned"]{text-align:right}.ui.card .content img,.ui.cards>.card .content img{display:inline-block;vertical-align:middle;width:''}.ui.card .avatar img,.ui.card img.avatar,.ui.cards>.card .avatar img,.ui.cards>.card img.avatar{width:2em;height:2em;border-radius:500rem}.ui.card>.content>.description,.ui.cards>.card>.content>.description{clear:both;color:rgba(0,0,0,.68)}.ui.card>.content p,.ui.cards>.card>.content p{margin:0 0 .5em}.ui.card>.content p:last-child,.ui.cards>.card>.content p:last-child{margin-bottom:0}.ui.card .meta,.ui.cards>.card .meta{font-size:1em;color:rgba(0,0,0,.4)}.ui.card .meta *,.ui.cards>.card .meta *{margin-right:.3em}.ui.card .meta :last-child,.ui.cards>.card .meta :last-child{margin-right:0}.ui.card .meta [class*="right floated"],.ui.cards>.card .meta [class*="right floated"]{margin-right:0;margin-left:.3em}.ui.card>.content a:not(.ui),.ui.cards>.card>.content a:not(.ui){color:'';-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content a:not(.ui):hover,.ui.cards>.card>.content a:not(.ui):hover{color:''}.ui.card>.content>a.header,.ui.cards>.card>.content>a.header{color:rgba(0,0,0,.85)}.ui.card>.content>a.header:hover,.ui.cards>.card>.content>a.header:hover{color:#1e70bf}.ui.card .meta>a:not(.ui),.ui.cards>.card .meta>a:not(.ui){color:rgba(0,0,0,.4)}.ui.card .meta>a:not(.ui):hover,.ui.cards>.card .meta>a:not(.ui):hover{color:rgba(0,0,0,.87)}.ui.card>.button,.ui.card>.buttons,.ui.cards>.card>.button,.ui.cards>.card>.buttons{margin:0 -1px;width:calc(100% + 2px)}.ui.card .dimmer,.ui.cards>.card .dimmer{background-color:'';z-index:10}.ui.card>.content .star.icon,.ui.cards>.card>.content .star.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content .star.icon:hover,.ui.cards>.card>.content .star.icon:hover{opacity:1;color:#ffb70a}.ui.card>.content .active.star.icon,.ui.cards>.card>.content .active.star.icon{color:#ffe623}.ui.card>.content .like.icon,.ui.cards>.card>.content .like.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content .like.icon:hover,.ui.cards>.card>.content .like.icon:hover{opacity:1;color:#ff2733}.ui.card>.content .active.like.icon,.ui.cards>.card>.content .active.like.icon{color:#ff2733}.ui.card>.extra,.ui.cards>.card>.extra{max-width:100%;min-height:0!important;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;border-top:1px solid rgba(0,0,0,.05)!important;position:static;background:0 0;width:auto;margin:0 0;padding:.75em 1em;top:0;left:0;color:rgba(0,0,0,.4);-webkit-box-shadow:none;box-shadow:none;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.extra a:not(.ui),.ui.cards>.card>.extra a:not(.ui){color:rgba(0,0,0,.4)}.ui.card>.extra a:not(.ui):hover,.ui.cards>.card>.extra a:not(.ui):hover{color:#1e70bf}.ui.raised.card,.ui.raised.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.link.cards .raised.card:hover,.ui.link.raised.card:hover,.ui.raised.cards a.card:hover,a.ui.raised.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.15),0 2px 10px 0 rgba(34,36,38,.25);box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.15),0 2px 10px 0 rgba(34,36,38,.25)}.ui.raised.card,.ui.raised.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.centered.cards{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ui.centered.card{margin-left:auto;margin-right:auto}.ui.fluid.card{width:100%;max-width:9999px}.ui.cards a.card,.ui.link.card,.ui.link.cards .card,a.ui.card{-webkit-transform:none;transform:none}.ui.cards a.card:hover,.ui.link.card:hover,.ui.link.cards .card:hover,a.ui.card:hover{cursor:pointer;z-index:5;background:#fff;border:none;-webkit-box-shadow:0 1px 3px 0 #bcbdbd,0 0 0 1px #d4d4d5;box-shadow:0 1px 3px 0 #bcbdbd,0 0 0 1px #d4d4d5;-webkit-transform:translateY(-3px);transform:translateY(-3px)}.ui.cards>.red.card,.ui.red.card,.ui.red.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #db2828,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #db2828,0 1px 3px 0 #d4d4d5}.ui.cards>.red.card:hover,.ui.red.card:hover,.ui.red.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #d01919,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #d01919,0 1px 3px 0 #bcbdbd}.ui.cards>.orange.card,.ui.orange.card,.ui.orange.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f2711c,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f2711c,0 1px 3px 0 #d4d4d5}.ui.cards>.orange.card:hover,.ui.orange.card:hover,.ui.orange.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f26202,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f26202,0 1px 3px 0 #bcbdbd}.ui.cards>.yellow.card,.ui.yellow.card,.ui.yellow.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #fbbd08,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #fbbd08,0 1px 3px 0 #d4d4d5}.ui.cards>.yellow.card:hover,.ui.yellow.card:hover,.ui.yellow.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #eaae00,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #eaae00,0 1px 3px 0 #bcbdbd}.ui.cards>.olive.card,.ui.olive.card,.ui.olive.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #b5cc18,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #b5cc18,0 1px 3px 0 #d4d4d5}.ui.cards>.olive.card:hover,.ui.olive.card:hover,.ui.olive.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a7bd0d,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a7bd0d,0 1px 3px 0 #bcbdbd}.ui.cards>.green.card,.ui.green.card,.ui.green.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #21ba45,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #21ba45,0 1px 3px 0 #d4d4d5}.ui.cards>.green.card:hover,.ui.green.card:hover,.ui.green.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #16ab39,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #16ab39,0 1px 3px 0 #bcbdbd}.ui.cards>.teal.card,.ui.teal.card,.ui.teal.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #00b5ad,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #00b5ad,0 1px 3px 0 #d4d4d5}.ui.cards>.teal.card:hover,.ui.teal.card:hover,.ui.teal.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #009c95,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #009c95,0 1px 3px 0 #bcbdbd}.ui.blue.card,.ui.blue.cards>.card,.ui.cards>.blue.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #2185d0,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #2185d0,0 1px 3px 0 #d4d4d5}.ui.blue.card:hover,.ui.blue.cards>.card:hover,.ui.cards>.blue.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1678c2,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1678c2,0 1px 3px 0 #bcbdbd}.ui.cards>.violet.card,.ui.violet.card,.ui.violet.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #6435c9,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #6435c9,0 1px 3px 0 #d4d4d5}.ui.cards>.violet.card:hover,.ui.violet.card:hover,.ui.violet.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #5829bb,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #5829bb,0 1px 3px 0 #bcbdbd}.ui.cards>.purple.card,.ui.purple.card,.ui.purple.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a333c8,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a333c8,0 1px 3px 0 #d4d4d5}.ui.cards>.purple.card:hover,.ui.purple.card:hover,.ui.purple.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #9627ba,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #9627ba,0 1px 3px 0 #bcbdbd}.ui.cards>.pink.card,.ui.pink.card,.ui.pink.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e03997,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e03997,0 1px 3px 0 #d4d4d5}.ui.cards>.pink.card:hover,.ui.pink.card:hover,.ui.pink.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e61a8d,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e61a8d,0 1px 3px 0 #bcbdbd}.ui.brown.card,.ui.brown.cards>.card,.ui.cards>.brown.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a5673f,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a5673f,0 1px 3px 0 #d4d4d5}.ui.brown.card:hover,.ui.brown.cards>.card:hover,.ui.cards>.brown.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #975b33,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #975b33,0 1px 3px 0 #bcbdbd}.ui.cards>.grey.card,.ui.grey.card,.ui.grey.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #767676,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #767676,0 1px 3px 0 #d4d4d5}.ui.cards>.grey.card:hover,.ui.grey.card:hover,.ui.grey.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #838383,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #838383,0 1px 3px 0 #bcbdbd}.ui.black.card,.ui.black.cards>.card,.ui.cards>.black.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1b1c1d,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1b1c1d,0 1px 3px 0 #d4d4d5}.ui.black.card:hover,.ui.black.cards>.card:hover,.ui.cards>.black.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #27292a,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #27292a,0 1px 3px 0 #bcbdbd}.ui.one.cards{margin-left:0;margin-right:0}.ui.one.cards>.card{width:100%}.ui.two.cards{margin-left:-1em;margin-right:-1em}.ui.two.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.three.cards{margin-left:-1em;margin-right:-1em}.ui.three.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.four.cards{margin-left:-.75em;margin-right:-.75em}.ui.four.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.five.cards{margin-left:-.75em;margin-right:-.75em}.ui.five.cards>.card{width:calc(20% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.six.cards{margin-left:-.75em;margin-right:-.75em}.ui.six.cards>.card{width:calc(16.66666667% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.seven.cards{margin-left:-.5em;margin-right:-.5em}.ui.seven.cards>.card{width:calc(14.28571429% - 1em);margin-left:.5em;margin-right:.5em}.ui.eight.cards{margin-left:-.5em;margin-right:-.5em}.ui.eight.cards>.card{width:calc(12.5% - 1em);margin-left:.5em;margin-right:.5em;font-size:11px}.ui.nine.cards{margin-left:-.5em;margin-right:-.5em}.ui.nine.cards>.card{width:calc(11.11111111% - 1em);margin-left:.5em;margin-right:.5em;font-size:10px}.ui.ten.cards{margin-left:-.5em;margin-right:-.5em}.ui.ten.cards>.card{width:calc(10% - 1em);margin-left:.5em;margin-right:.5em}@media only screen and (max-width:767px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards>.card{width:100%;margin-left:0;margin-right:0}.ui.three.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.three.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.four.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.four.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.five.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.five.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.six.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.six.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.seven.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.seven.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.eight.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.nine.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.nine.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.ten.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.ten.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}}@media only screen and (min-width:768px) and (max-width:991px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards>.card{width:100%;margin-left:0;margin-right:0}.ui.three.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.three.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.four.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.four.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.five.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.five.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.six.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.six.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.eight.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.eight.doubling.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.nine.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.nine.doubling.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.ten.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.ten.doubling.cards>.card{width:calc(20% - 1.5em);margin-left:.75em;margin-right:.75em}}@media only screen and (max-width:767px){.ui.stackable.cards{display:block!important}.ui.stackable.cards .card:first-child{margin-top:0!important}.ui.stackable.cards>.card{display:block!important;height:auto!important;margin:1em 1em;padding:0!important;width:calc(100% - 2em)!important}}.ui.cards>.card{font-size:1em}/*! - * # Semantic UI 2.4.0 - Comment - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.comments{margin:1.5em 0;max-width:650px}.ui.comments:first-child{margin-top:0}.ui.comments:last-child{margin-bottom:0}.ui.comments .comment{position:relative;background:0 0;margin:.5em 0 0;padding:.5em 0 0;border:none;border-top:none;line-height:1.2}.ui.comments .comment:first-child{margin-top:0;padding-top:0}.ui.comments .comment .comments{margin:0 0 .5em .5em;padding:1em 0 1em 1em}.ui.comments .comment .comments:before{position:absolute;top:0;left:0}.ui.comments .comment .comments .comment{border:none;border-top:none;background:0 0}.ui.comments .comment .avatar{display:block;width:2.5em;height:auto;float:left;margin:.2em 0 0}.ui.comments .comment .avatar img,.ui.comments .comment img.avatar{display:block;margin:0 auto;width:100%;height:100%;border-radius:.25rem}.ui.comments .comment>.content{display:block}.ui.comments .comment>.avatar~.content{margin-left:3.5em}.ui.comments .comment .author{font-size:1em;color:rgba(0,0,0,.87);font-weight:700}.ui.comments .comment a.author{cursor:pointer}.ui.comments .comment a.author:hover{color:#1e70bf}.ui.comments .comment .metadata{display:inline-block;margin-left:.5em;color:rgba(0,0,0,.4);font-size:.875em}.ui.comments .comment .metadata>*{display:inline-block;margin:0 .5em 0 0}.ui.comments .comment .metadata>:last-child{margin-right:0}.ui.comments .comment .text{margin:.25em 0 .5em;font-size:1em;word-wrap:break-word;color:rgba(0,0,0,.87);line-height:1.3}.ui.comments .comment .actions{font-size:.875em}.ui.comments .comment .actions a{cursor:pointer;display:inline-block;margin:0 .75em 0 0;color:rgba(0,0,0,.4)}.ui.comments .comment .actions a:last-child{margin-right:0}.ui.comments .comment .actions a.active,.ui.comments .comment .actions a:hover{color:rgba(0,0,0,.8)}.ui.comments>.reply.form{margin-top:1em}.ui.comments .comment .reply.form{width:100%;margin-top:1em}.ui.comments .reply.form textarea{font-size:1em;height:12em}.ui.collapsed.comments,.ui.comments .collapsed.comment,.ui.comments .collapsed.comments{display:none}.ui.threaded.comments .comment .comments{margin:-1.5em 0 -1em 1.25em;padding:3em 0 2em 2.25em;-webkit-box-shadow:-1px 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 rgba(34,36,38,.15)}.ui.minimal.comments .comment .actions{opacity:0;position:absolute;top:0;right:0;left:auto;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;-webkit-transition-delay:.1s;transition-delay:.1s}.ui.minimal.comments .comment>.content:hover>.actions{opacity:1}.ui.mini.comments{font-size:.78571429rem}.ui.tiny.comments{font-size:.85714286rem}.ui.small.comments{font-size:.92857143rem}.ui.comments{font-size:1rem}.ui.large.comments{font-size:1.14285714rem}.ui.big.comments{font-size:1.28571429rem}.ui.huge.comments{font-size:1.42857143rem}.ui.massive.comments{font-size:1.71428571rem}/*! - * # Semantic UI 2.4.0 - Feed - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.feed{margin:1em 0}.ui.feed:first-child{margin-top:0}.ui.feed:last-child{margin-bottom:0}.ui.feed>.event{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;width:100%;padding:.21428571rem 0;margin:0;background:0 0;border-top:none}.ui.feed>.event:first-child{border-top:0;padding-top:0}.ui.feed>.event:last-child{padding-bottom:0}.ui.feed>.event>.label{display:block;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:2.5em;height:auto;-ms-flex-item-align:stretch;align-self:stretch;text-align:left}.ui.feed>.event>.label .icon{opacity:1;font-size:1.5em;width:100%;padding:.25em;background:0 0;border:none;border-radius:none;color:rgba(0,0,0,.6)}.ui.feed>.event>.label img{width:100%;height:auto;border-radius:500rem}.ui.feed>.event>.label+.content{margin:.5em 0 .35714286em 1.14285714em}.ui.feed>.event>.content{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-item-align:stretch;align-self:stretch;text-align:left;word-wrap:break-word}.ui.feed>.event:last-child>.content{padding-bottom:0}.ui.feed>.event>.content a{cursor:pointer}.ui.feed>.event>.content .date{margin:-.5rem 0 0;padding:0;font-weight:400;font-size:1em;font-style:normal;color:rgba(0,0,0,.4)}.ui.feed>.event>.content .summary{margin:0;font-size:1em;font-weight:700;color:rgba(0,0,0,.87)}.ui.feed>.event>.content .summary img{display:inline-block;width:auto;height:10em;margin:-.25em .25em 0 0;border-radius:.25em;vertical-align:middle}.ui.feed>.event>.content .user{display:inline-block;font-weight:700;margin-right:0;vertical-align:baseline}.ui.feed>.event>.content .user img{margin:-.25em .25em 0 0;width:auto;height:10em;vertical-align:middle}.ui.feed>.event>.content .summary>.date{display:inline-block;float:none;font-weight:400;font-size:.85714286em;font-style:normal;margin:0 0 0 .5em;padding:0;color:rgba(0,0,0,.4)}.ui.feed>.event>.content .extra{margin:.5em 0 0;background:0 0;padding:0;color:rgba(0,0,0,.87)}.ui.feed>.event>.content .extra.images img{display:inline-block;margin:0 .25em 0 0;width:6em}.ui.feed>.event>.content .extra.text{padding:0;border-left:none;font-size:1em;max-width:500px;line-height:1.4285em}.ui.feed>.event>.content .meta{display:inline-block;font-size:.85714286em;margin:.5em 0 0;background:0 0;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;padding:0;color:rgba(0,0,0,.6)}.ui.feed>.event>.content .meta>*{position:relative;margin-left:.75em}.ui.feed>.event>.content .meta>:after{content:'';color:rgba(0,0,0,.2);top:0;left:-1em;opacity:1;position:absolute;vertical-align:top}.ui.feed>.event>.content .meta .like{color:'';-webkit-transition:.2s color ease;transition:.2s color ease}.ui.feed>.event>.content .meta .like:hover .icon{color:#ff2733}.ui.feed>.event>.content .meta .active.like .icon{color:#ef404a}.ui.feed>.event>.content .meta>:first-child{margin-left:0}.ui.feed>.event>.content .meta>:first-child::after{display:none}.ui.feed>.event>.content .meta a,.ui.feed>.event>.content .meta>.icon{cursor:pointer;opacity:1;color:rgba(0,0,0,.5);-webkit-transition:color .1s ease;transition:color .1s ease}.ui.feed>.event>.content .meta a:hover,.ui.feed>.event>.content .meta a:hover .icon,.ui.feed>.event>.content .meta>.icon:hover{color:rgba(0,0,0,.95)}.ui.small.feed{font-size:.92857143rem}.ui.feed{font-size:1rem}.ui.large.feed{font-size:1.14285714rem}/*! - * # Semantic UI 2.4.0 - Item - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.items>.item{display:-webkit-box;display:-ms-flexbox;display:flex;margin:1em 0;width:100%;min-height:0;background:0 0;padding:0;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:-webkit-box-shadow .1s ease;transition:-webkit-box-shadow .1s ease;transition:box-shadow .1s ease;transition:box-shadow .1s ease,-webkit-box-shadow .1s ease;z-index:''}.ui.items>.item a{cursor:pointer}.ui.items{margin:1.5em 0}.ui.items:first-child{margin-top:0!important}.ui.items:last-child{margin-bottom:0!important}.ui.items>.item:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item:first-child{margin-top:0}.ui.items>.item:last-child{margin-bottom:0}.ui.items>.item>.image{position:relative;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:block;float:none;margin:0;padding:0;max-height:'';-ms-flex-item-align:top;align-self:top}.ui.items>.item>.image>img{display:block;width:100%;height:auto;border-radius:.125rem;border:none}.ui.items>.item>.image:only-child>img{border-radius:0}.ui.items>.item>.content{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;background:0 0;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;font-size:1em;border:none;border-radius:0}.ui.items>.item>.content:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item>.image+.content{min-width:0;width:auto;display:block;margin-left:0;-ms-flex-item-align:top;align-self:top;padding-left:1.5em}.ui.items>.item>.content>.header{display:inline-block;margin:-.21425em 0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;color:rgba(0,0,0,.85)}.ui.items>.item>.content>.header:not(.ui){font-size:1.28571429em}.ui.items>.item [class*="left floated"]{float:left}.ui.items>.item [class*="right floated"]{float:right}.ui.items>.item .content img{-ms-flex-item-align:middle;align-self:middle;width:''}.ui.items>.item .avatar img,.ui.items>.item img.avatar{width:'';height:'';border-radius:500rem}.ui.items>.item>.content>.description{margin-top:.6em;max-width:auto;font-size:1em;line-height:1.4285em;color:rgba(0,0,0,.87)}.ui.items>.item>.content p{margin:0 0 .5em}.ui.items>.item>.content p:last-child{margin-bottom:0}.ui.items>.item .meta{margin:.5em 0 .5em;font-size:1em;line-height:1em;color:rgba(0,0,0,.6)}.ui.items>.item .meta *{margin-right:.3em}.ui.items>.item .meta :last-child{margin-right:0}.ui.items>.item .meta [class*="right floated"]{margin-right:0;margin-left:.3em}.ui.items>.item>.content a:not(.ui){color:'';-webkit-transition:color .1s ease;transition:color .1s ease}.ui.items>.item>.content a:not(.ui):hover{color:''}.ui.items>.item>.content>a.header{color:rgba(0,0,0,.85)}.ui.items>.item>.content>a.header:hover{color:#1e70bf}.ui.items>.item .meta>a:not(.ui){color:rgba(0,0,0,.4)}.ui.items>.item .meta>a:not(.ui):hover{color:rgba(0,0,0,.87)}.ui.items>.item>.content .favorite.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.items>.item>.content .favorite.icon:hover{opacity:1;color:#ffb70a}.ui.items>.item>.content .active.favorite.icon{color:#ffe623}.ui.items>.item>.content .like.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.items>.item>.content .like.icon:hover{opacity:1;color:#ff2733}.ui.items>.item>.content .active.like.icon{color:#ff2733}.ui.items>.item .extra{display:block;position:relative;background:0 0;margin:.5rem 0 0;width:100%;padding:0 0 0;top:0;left:0;color:rgba(0,0,0,.4);-webkit-box-shadow:none;box-shadow:none;-webkit-transition:color .1s ease;transition:color .1s ease;border-top:none}.ui.items>.item .extra>*{margin:.25rem .5rem .25rem 0}.ui.items>.item .extra>[class*="right floated"]{margin:.25rem 0 .25rem .5rem}.ui.items>.item .extra:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item>.image:not(.ui){width:175px}@media only screen and (min-width:768px) and (max-width:991px){.ui.items>.item{margin:1em 0}.ui.items>.item>.image:not(.ui){width:150px}.ui.items>.item>.image+.content{display:block;padding:0 0 0 1em}}@media only screen and (max-width:767px){.ui.items:not(.unstackable)>.item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:2em 0}.ui.items:not(.unstackable)>.item>.image{display:block;margin-left:auto;margin-right:auto}.ui.items:not(.unstackable)>.item>.image,.ui.items:not(.unstackable)>.item>.image>img{max-width:100%!important;width:auto!important;max-height:250px!important}.ui.items:not(.unstackable)>.item>.image+.content{display:block;padding:1.5em 0 0}}.ui.items>.item>.image+[class*="top aligned"].content{-ms-flex-item-align:start;align-self:flex-start}.ui.items>.item>.image+[class*="middle aligned"].content{-ms-flex-item-align:center;align-self:center}.ui.items>.item>.image+[class*="bottom aligned"].content{-ms-flex-item-align:end;align-self:flex-end}.ui.relaxed.items>.item{margin:1.5em 0}.ui[class*="very relaxed"].items>.item{margin:2em 0}.ui.divided.items>.item{border-top:1px solid rgba(34,36,38,.15);margin:0;padding:1em 0}.ui.divided.items>.item:first-child{border-top:none;margin-top:0!important;padding-top:0!important}.ui.divided.items>.item:last-child{margin-bottom:0!important;padding-bottom:0!important}.ui.relaxed.divided.items>.item{margin:0;padding:1.5em 0}.ui[class*="very relaxed"].divided.items>.item{margin:0;padding:2em 0}.ui.items a.item:hover,.ui.link.items>.item:hover{cursor:pointer}.ui.items a.item:hover .content .header,.ui.link.items>.item:hover .content .header{color:#1e70bf}.ui.items>.item{font-size:1em}@media only screen and (max-width:767px){.ui.unstackable.items>.item>.image,.ui.unstackable.items>.item>.image>img{width:125px!important}}/*! - * # Semantic UI 2.4.0 - Statistic - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.statistic{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:1em 0;max-width:auto}.ui.statistic+.ui.statistic{margin:0 0 0 1.5em}.ui.statistic:first-child{margin-top:0}.ui.statistic:last-child{margin-bottom:0}.ui.statistics{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}.ui.statistics>.statistic{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0 1.5em 1em;max-width:auto}.ui.statistics{display:-webkit-box;display:-ms-flexbox;display:flex;margin:1em -1.5em -1em}.ui.statistics:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.statistics:first-child{margin-top:0}.ui.statistic>.value,.ui.statistics .statistic>.value{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:4rem;font-weight:400;line-height:1em;color:#1b1c1d;text-transform:uppercase;text-align:center}.ui.statistic>.label,.ui.statistics .statistic>.label{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;font-weight:700;color:rgba(0,0,0,.87);text-transform:uppercase;text-align:center}.ui.statistic>.label~.value,.ui.statistics .statistic>.label~.value{margin-top:0}.ui.statistic>.value~.label,.ui.statistics .statistic>.value~.label{margin-top:0}.ui.statistic>.value .icon,.ui.statistics .statistic>.value .icon{opacity:1;width:auto;margin:0}.ui.statistic>.text.value,.ui.statistics .statistic>.text.value{line-height:1em;min-height:2em;font-weight:700;text-align:center}.ui.statistic>.text.value+.label,.ui.statistics .statistic>.text.value+.label{text-align:center}.ui.statistic>.value img,.ui.statistics .statistic>.value img{max-height:3rem;vertical-align:baseline}.ui.ten.statistics{margin:0 0 -1em}.ui.ten.statistics .statistic{min-width:10%;margin:0 0 1em}.ui.nine.statistics{margin:0 0 -1em}.ui.nine.statistics .statistic{min-width:11.11111111%;margin:0 0 1em}.ui.eight.statistics{margin:0 0 -1em}.ui.eight.statistics .statistic{min-width:12.5%;margin:0 0 1em}.ui.seven.statistics{margin:0 0 -1em}.ui.seven.statistics .statistic{min-width:14.28571429%;margin:0 0 1em}.ui.six.statistics{margin:0 0 -1em}.ui.six.statistics .statistic{min-width:16.66666667%;margin:0 0 1em}.ui.five.statistics{margin:0 0 -1em}.ui.five.statistics .statistic{min-width:20%;margin:0 0 1em}.ui.four.statistics{margin:0 0 -1em}.ui.four.statistics .statistic{min-width:25%;margin:0 0 1em}.ui.three.statistics{margin:0 0 -1em}.ui.three.statistics .statistic{min-width:33.33333333%;margin:0 0 1em}.ui.two.statistics{margin:0 0 -1em}.ui.two.statistics .statistic{min-width:50%;margin:0 0 1em}.ui.one.statistics{margin:0 0 -1em}.ui.one.statistics .statistic{min-width:100%;margin:0 0 1em}.ui.horizontal.statistic{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui.horizontal.statistics{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0;max-width:none}.ui.horizontal.statistics .statistic{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:none;margin:1em 0}.ui.horizontal.statistic>.text.value,.ui.horizontal.statistics>.statistic>.text.value{min-height:0!important}.ui.horizontal.statistic>.value .icon,.ui.horizontal.statistics .statistic>.value .icon{width:1.18em}.ui.horizontal.statistic>.value,.ui.horizontal.statistics .statistic>.value{display:inline-block;vertical-align:middle}.ui.horizontal.statistic>.label,.ui.horizontal.statistics .statistic>.label{display:inline-block;vertical-align:middle;margin:0 0 0 .75em}.ui.red.statistic>.value,.ui.red.statistics .statistic>.value,.ui.statistics .red.statistic>.value{color:#db2828}.ui.orange.statistic>.value,.ui.orange.statistics .statistic>.value,.ui.statistics .orange.statistic>.value{color:#f2711c}.ui.statistics .yellow.statistic>.value,.ui.yellow.statistic>.value,.ui.yellow.statistics .statistic>.value{color:#fbbd08}.ui.olive.statistic>.value,.ui.olive.statistics .statistic>.value,.ui.statistics .olive.statistic>.value{color:#b5cc18}.ui.green.statistic>.value,.ui.green.statistics .statistic>.value,.ui.statistics .green.statistic>.value{color:#21ba45}.ui.statistics .teal.statistic>.value,.ui.teal.statistic>.value,.ui.teal.statistics .statistic>.value{color:#00b5ad}.ui.blue.statistic>.value,.ui.blue.statistics .statistic>.value,.ui.statistics .blue.statistic>.value{color:#2185d0}.ui.statistics .violet.statistic>.value,.ui.violet.statistic>.value,.ui.violet.statistics .statistic>.value{color:#6435c9}.ui.purple.statistic>.value,.ui.purple.statistics .statistic>.value,.ui.statistics .purple.statistic>.value{color:#a333c8}.ui.pink.statistic>.value,.ui.pink.statistics .statistic>.value,.ui.statistics .pink.statistic>.value{color:#e03997}.ui.brown.statistic>.value,.ui.brown.statistics .statistic>.value,.ui.statistics .brown.statistic>.value{color:#a5673f}.ui.grey.statistic>.value,.ui.grey.statistics .statistic>.value,.ui.statistics .grey.statistic>.value{color:#767676}.ui.inverted.statistic .value,.ui.inverted.statistics .statistic>.value{color:#fff}.ui.inverted.statistic .label,.ui.inverted.statistics .statistic>.label{color:rgba(255,255,255,.9)}.ui.inverted.red.statistic>.value,.ui.inverted.red.statistics .statistic>.value,.ui.statistics .inverted.red.statistic>.value{color:#ff695e}.ui.inverted.orange.statistic>.value,.ui.inverted.orange.statistics .statistic>.value,.ui.statistics .inverted.orange.statistic>.value{color:#ff851b}.ui.inverted.yellow.statistic>.value,.ui.inverted.yellow.statistics .statistic>.value,.ui.statistics .inverted.yellow.statistic>.value{color:#ffe21f}.ui.inverted.olive.statistic>.value,.ui.inverted.olive.statistics .statistic>.value,.ui.statistics .inverted.olive.statistic>.value{color:#d9e778}.ui.inverted.green.statistic>.value,.ui.inverted.green.statistics .statistic>.value,.ui.statistics .inverted.green.statistic>.value{color:#2ecc40}.ui.inverted.teal.statistic>.value,.ui.inverted.teal.statistics .statistic>.value,.ui.statistics .inverted.teal.statistic>.value{color:#6dffff}.ui.inverted.blue.statistic>.value,.ui.inverted.blue.statistics .statistic>.value,.ui.statistics .inverted.blue.statistic>.value{color:#54c8ff}.ui.inverted.violet.statistic>.value,.ui.inverted.violet.statistics .statistic>.value,.ui.statistics .inverted.violet.statistic>.value{color:#a291fb}.ui.inverted.purple.statistic>.value,.ui.inverted.purple.statistics .statistic>.value,.ui.statistics .inverted.purple.statistic>.value{color:#dc73ff}.ui.inverted.pink.statistic>.value,.ui.inverted.pink.statistics .statistic>.value,.ui.statistics .inverted.pink.statistic>.value{color:#ff8edf}.ui.inverted.brown.statistic>.value,.ui.inverted.brown.statistics .statistic>.value,.ui.statistics .inverted.brown.statistic>.value{color:#d67c1c}.ui.inverted.grey.statistic>.value,.ui.inverted.grey.statistics .statistic>.value,.ui.statistics .inverted.grey.statistic>.value{color:#dcddde}.ui[class*="left floated"].statistic{float:left;margin:0 2em 1em 0}.ui[class*="right floated"].statistic{float:right;margin:0 0 1em 2em}.ui.floated.statistic:last-child{margin-bottom:0}.ui.mini.statistic>.value,.ui.mini.statistics .statistic>.value{font-size:1.5rem!important}.ui.mini.horizontal.statistic>.value,.ui.mini.horizontal.statistics .statistic>.value{font-size:1.5rem!important}.ui.mini.statistic>.text.value,.ui.mini.statistics .statistic>.text.value{font-size:1rem!important}.ui.tiny.statistic>.value,.ui.tiny.statistics .statistic>.value{font-size:2rem!important}.ui.tiny.horizontal.statistic>.value,.ui.tiny.horizontal.statistics .statistic>.value{font-size:2rem!important}.ui.tiny.statistic>.text.value,.ui.tiny.statistics .statistic>.text.value{font-size:1rem!important}.ui.small.statistic>.value,.ui.small.statistics .statistic>.value{font-size:3rem!important}.ui.small.horizontal.statistic>.value,.ui.small.horizontal.statistics .statistic>.value{font-size:2rem!important}.ui.small.statistic>.text.value,.ui.small.statistics .statistic>.text.value{font-size:1rem!important}.ui.statistic>.value,.ui.statistics .statistic>.value{font-size:4rem!important}.ui.horizontal.statistic>.value,.ui.horizontal.statistics .statistic>.value{font-size:3rem!important}.ui.statistic>.text.value,.ui.statistics .statistic>.text.value{font-size:2rem!important}.ui.large.statistic>.value,.ui.large.statistics .statistic>.value{font-size:5rem!important}.ui.large.horizontal.statistic>.value,.ui.large.horizontal.statistics .statistic>.value{font-size:4rem!important}.ui.large.statistic>.text.value,.ui.large.statistics .statistic>.text.value{font-size:2.5rem!important}.ui.huge.statistic>.value,.ui.huge.statistics .statistic>.value{font-size:6rem!important}.ui.huge.horizontal.statistic>.value,.ui.huge.horizontal.statistics .statistic>.value{font-size:5rem!important}.ui.huge.statistic>.text.value,.ui.huge.statistics .statistic>.text.value{font-size:2.5rem!important}/*! - * # Semantic UI 2.4.0 - Accordion - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.accordion,.ui.accordion .accordion{max-width:100%}.ui.accordion .accordion{margin:1em 0 0;padding:0}.ui.accordion .accordion .title,.ui.accordion .title{cursor:pointer}.ui.accordion .title:not(.ui){padding:.5em 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;color:rgba(0,0,0,.87)}.ui.accordion .accordion .title~.content,.ui.accordion .title~.content{display:none}.ui.accordion:not(.styled) .accordion .title~.content:not(.ui),.ui.accordion:not(.styled) .title~.content:not(.ui){margin:'';padding:.5em 0 1em}.ui.accordion:not(.styled) .title~.content:not(.ui):last-child{padding-bottom:0}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{display:inline-block;float:none;opacity:1;width:1.25em;height:1em;margin:0 .25rem 0 0;padding:0;font-size:1em;-webkit-transition:opacity .1s ease,-webkit-transform .1s ease;transition:opacity .1s ease,-webkit-transform .1s ease;transition:transform .1s ease,opacity .1s ease;transition:transform .1s ease,opacity .1s ease,-webkit-transform .1s ease;vertical-align:baseline;-webkit-transform:none;transform:none}.ui.accordion.menu .item .title{display:block;padding:0}.ui.accordion.menu .item .title>.dropdown.icon{float:right;margin:.21425em 0 0 1em;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.ui.accordion .ui.header .dropdown.icon{font-size:1em;margin:0 .25rem 0 0}.ui.accordion .accordion .active.title .dropdown.icon,.ui.accordion .active.title .dropdown.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ui.accordion.menu .item .active.title>.dropdown.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ui.styled.accordion{width:600px}.ui.styled.accordion,.ui.styled.accordion .accordion{border-radius:.28571429rem;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15)}.ui.styled.accordion .accordion .title,.ui.styled.accordion .title{margin:0;padding:.75em 1em;color:rgba(0,0,0,.4);font-weight:700;border-top:1px solid rgba(34,36,38,.15);-webkit-transition:background .1s ease,color .1s ease;transition:background .1s ease,color .1s ease}.ui.styled.accordion .accordion .title:first-child,.ui.styled.accordion>.title:first-child{border-top:none}.ui.styled.accordion .accordion .content,.ui.styled.accordion .content{margin:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .content{padding:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion .title:hover,.ui.styled.accordion .active.title,.ui.styled.accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.styled.accordion .accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.accordion .accordion .active.content,.ui.accordion .active.content{display:block}.ui.fluid.accordion,.ui.fluid.accordion .accordion{width:100%}.ui.inverted.accordion .title:not(.ui){color:rgba(255,255,255,.9)}@font-face{font-family:Accordion;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');font-weight:400;font-style:normal}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{font-family:Accordion;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.accordion .accordion .title .dropdown.icon:before,.ui.accordion .title .dropdown.icon:before{content:'\f0da'}/*! - * # Semantic UI 2.4.0 - Checkbox - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.checkbox{position:relative;display:inline-block;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;min-height:17px;font-size:1rem;line-height:17px;min-width:17px}.ui.checkbox input[type=checkbox],.ui.checkbox input[type=radio]{cursor:pointer;position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:3;width:17px;height:17px}.ui.checkbox .box,.ui.checkbox label{cursor:auto;position:relative;display:block;padding-left:1.85714em;outline:0;font-size:1em}.ui.checkbox .box:before,.ui.checkbox label:before{position:absolute;top:0;left:0;width:17px;height:17px;content:'';background:#fff;border-radius:.21428571rem;-webkit-transition:border .1s ease,opacity .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;border:1px solid #d4d4d5}.ui.checkbox .box:after,.ui.checkbox label:after{position:absolute;font-size:14px;top:0;left:0;width:17px;height:17px;text-align:center;opacity:0;color:rgba(0,0,0,.87);-webkit-transition:border .1s ease,opacity .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease}.ui.checkbox label,.ui.checkbox+label{color:rgba(0,0,0,.87);-webkit-transition:color .1s ease;transition:color .1s ease}.ui.checkbox+label{vertical-align:middle}.ui.checkbox .box:hover::before,.ui.checkbox label:hover::before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox label:hover,.ui.checkbox+label:hover{color:rgba(0,0,0,.8)}.ui.checkbox .box:active::before,.ui.checkbox label:active::before{background:#f9fafb;border-color:rgba(34,36,38,.35)}.ui.checkbox .box:active::after,.ui.checkbox label:active::after{color:rgba(0,0,0,.95)}.ui.checkbox input:active~label{color:rgba(0,0,0,.95)}.ui.checkbox input:focus~.box:before,.ui.checkbox input:focus~label:before{background:#fff;border-color:#96c8da}.ui.checkbox input:focus~.box:after,.ui.checkbox input:focus~label:after{color:rgba(0,0,0,.95)}.ui.checkbox input:focus~label{color:rgba(0,0,0,.95)}.ui.checkbox input:checked~.box:before,.ui.checkbox input:checked~label:before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{opacity:1;color:rgba(0,0,0,.95)}.ui.checkbox input:not([type=radio]):indeterminate~.box:before,.ui.checkbox input:not([type=radio]):indeterminate~label:before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox input:not([type=radio]):indeterminate~.box:after,.ui.checkbox input:not([type=radio]):indeterminate~label:after{opacity:1;color:rgba(0,0,0,.95)}.ui.checkbox input:checked:focus~.box:before,.ui.checkbox input:checked:focus~label:before,.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:before,.ui.checkbox input:not([type=radio]):indeterminate:focus~label:before{background:#fff;border-color:#96c8da}.ui.checkbox input:checked:focus~.box:after,.ui.checkbox input:checked:focus~label:after,.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:after,.ui.checkbox input:not([type=radio]):indeterminate:focus~label:after{color:rgba(0,0,0,.95)}.ui.read-only.checkbox,.ui.read-only.checkbox label{cursor:default}.ui.checkbox input[disabled]~.box:after,.ui.checkbox input[disabled]~label,.ui.disabled.checkbox .box:after,.ui.disabled.checkbox label{cursor:default!important;opacity:.5;color:#000}.ui.checkbox input.hidden{z-index:-1}.ui.checkbox input.hidden+label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.radio.checkbox{min-height:15px}.ui.radio.checkbox .box,.ui.radio.checkbox label{padding-left:1.85714em}.ui.radio.checkbox .box:before,.ui.radio.checkbox label:before{content:'';-webkit-transform:none;transform:none;width:15px;height:15px;border-radius:500rem;top:1px;left:0}.ui.radio.checkbox .box:after,.ui.radio.checkbox label:after{border:none;content:''!important;width:15px;height:15px;line-height:15px}.ui.radio.checkbox .box:after,.ui.radio.checkbox label:after{top:1px;left:0;width:15px;height:15px;border-radius:500rem;-webkit-transform:scale(.46666667);transform:scale(.46666667);background-color:rgba(0,0,0,.87)}.ui.radio.checkbox input:focus~.box:before,.ui.radio.checkbox input:focus~label:before{background-color:#fff}.ui.radio.checkbox input:focus~.box:after,.ui.radio.checkbox input:focus~label:after{background-color:rgba(0,0,0,.95)}.ui.radio.checkbox input:indeterminate~.box:after,.ui.radio.checkbox input:indeterminate~label:after{opacity:0}.ui.radio.checkbox input:checked~.box:before,.ui.radio.checkbox input:checked~label:before{background-color:#fff}.ui.radio.checkbox input:checked~.box:after,.ui.radio.checkbox input:checked~label:after{background-color:rgba(0,0,0,.95)}.ui.radio.checkbox input:focus:checked~.box:before,.ui.radio.checkbox input:focus:checked~label:before{background-color:#fff}.ui.radio.checkbox input:focus:checked~.box:after,.ui.radio.checkbox input:focus:checked~label:after{background-color:rgba(0,0,0,.95)}.ui.slider.checkbox{min-height:1.25rem}.ui.slider.checkbox input{width:3.5rem;height:1.25rem}.ui.slider.checkbox .box,.ui.slider.checkbox label{padding-left:4.5rem;line-height:1rem;color:rgba(0,0,0,.4)}.ui.slider.checkbox .box:before,.ui.slider.checkbox label:before{display:block;position:absolute;content:'';border:none!important;left:0;z-index:1;top:.4rem;background-color:rgba(0,0,0,.05);width:3.5rem;height:.21428571rem;-webkit-transform:none;transform:none;border-radius:500rem;-webkit-transition:background .3s ease;transition:background .3s ease}.ui.slider.checkbox .box:after,.ui.slider.checkbox label:after{background:#fff -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:#fff -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:#fff linear-gradient(transparent,rgba(0,0,0,.05));position:absolute;content:''!important;opacity:1;z-index:2;border:none;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;width:1.5rem;height:1.5rem;top:-.25rem;left:0;-webkit-transform:none;transform:none;border-radius:500rem;-webkit-transition:left .3s ease;transition:left .3s ease}.ui.slider.checkbox input:focus~.box:before,.ui.slider.checkbox input:focus~label:before{background-color:rgba(0,0,0,.15);border:none}.ui.slider.checkbox .box:hover,.ui.slider.checkbox label:hover{color:rgba(0,0,0,.8)}.ui.slider.checkbox .box:hover::before,.ui.slider.checkbox label:hover::before{background:rgba(0,0,0,.15)}.ui.slider.checkbox input:checked~.box,.ui.slider.checkbox input:checked~label{color:rgba(0,0,0,.95)!important}.ui.slider.checkbox input:checked~.box:before,.ui.slider.checkbox input:checked~label:before{background-color:#545454!important}.ui.slider.checkbox input:checked~.box:after,.ui.slider.checkbox input:checked~label:after{left:2rem}.ui.slider.checkbox input:focus:checked~.box,.ui.slider.checkbox input:focus:checked~label{color:rgba(0,0,0,.95)!important}.ui.slider.checkbox input:focus:checked~.box:before,.ui.slider.checkbox input:focus:checked~label:before{background-color:#000!important}.ui.toggle.checkbox{min-height:1.5rem}.ui.toggle.checkbox input{width:3.5rem;height:1.5rem}.ui.toggle.checkbox .box,.ui.toggle.checkbox label{min-height:1.5rem;padding-left:4.5rem;color:rgba(0,0,0,.87)}.ui.toggle.checkbox label{padding-top:.15em}.ui.toggle.checkbox .box:before,.ui.toggle.checkbox label:before{display:block;position:absolute;content:'';z-index:1;-webkit-transform:none;transform:none;border:none;top:0;background:rgba(0,0,0,.05);-webkit-box-shadow:none;box-shadow:none;width:3.5rem;height:1.5rem;border-radius:500rem}.ui.toggle.checkbox .box:after,.ui.toggle.checkbox label:after{background:#fff -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:#fff -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:#fff linear-gradient(transparent,rgba(0,0,0,.05));position:absolute;content:''!important;opacity:1;z-index:2;border:none;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;width:1.5rem;height:1.5rem;top:0;left:0;border-radius:500rem;-webkit-transition:background .3s ease,left .3s ease;transition:background .3s ease,left .3s ease}.ui.toggle.checkbox input~.box:after,.ui.toggle.checkbox input~label:after{left:-.05rem;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset}.ui.toggle.checkbox input:focus~.box:before,.ui.toggle.checkbox input:focus~label:before{background-color:rgba(0,0,0,.15);border:none}.ui.toggle.checkbox .box:hover::before,.ui.toggle.checkbox label:hover::before{background-color:rgba(0,0,0,.15);border:none}.ui.toggle.checkbox input:checked~.box,.ui.toggle.checkbox input:checked~label{color:rgba(0,0,0,.95)!important}.ui.toggle.checkbox input:checked~.box:before,.ui.toggle.checkbox input:checked~label:before{background-color:#2185d0!important}.ui.toggle.checkbox input:checked~.box:after,.ui.toggle.checkbox input:checked~label:after{left:2.15rem;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset}.ui.toggle.checkbox input:focus:checked~.box,.ui.toggle.checkbox input:focus:checked~label{color:rgba(0,0,0,.95)!important}.ui.toggle.checkbox input:focus:checked~.box:before,.ui.toggle.checkbox input:focus:checked~label:before{background-color:#0d71bb!important}.ui.fitted.checkbox .box,.ui.fitted.checkbox label{padding-left:0!important}.ui.fitted.toggle.checkbox{width:3.5rem}.ui.fitted.slider.checkbox{width:3.5rem}@font-face{font-family:Checkbox;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype')}.ui.checkbox .box:after,.ui.checkbox label:after{font-family:Checkbox}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{content:'\e800'}.ui.checkbox input:indeterminate~.box:after,.ui.checkbox input:indeterminate~label:after{font-size:12px;content:'\e801'}/*! - * # Semantic UI 2.4.0 - Dimmer - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.dimmable:not(body){position:relative}.ui.dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;padding:1em;background-color:rgba(0,0,0,.85);opacity:0;line-height:1;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-transition:background-color .5s linear;transition:background-color .5s linear;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;will-change:opacity;z-index:1000}.ui.dimmer>.content{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;color:#fff}.ui.segment>.ui.dimmer{border-radius:inherit!important}.ui.dimmer:not(.inverted)::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:window-inactive{background:rgba(255,255,255,.15)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}.animating.dimmable:not(body),.dimmed.dimmable:not(body){overflow:hidden}.dimmed.dimmable>.ui.animating.dimmer,.dimmed.dimmable>.ui.visible.dimmer,.ui.active.dimmer{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.dimmed.dimmable>.ui.animating.legacy.dimmer,.dimmed.dimmable>.ui.visible.legacy.dimmer,.ui.active.legacy.dimmer{display:block}.ui[class*="top aligned"].dimmer{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.ui[class*="bottom aligned"].dimmer{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.ui.page.dimmer{position:fixed;-webkit-transform-style:'';transform-style:'';-webkit-perspective:2000px;perspective:2000px;-webkit-transform-origin:center center;transform-origin:center center}body.animating.in.dimmable,body.dimmed.dimmable{overflow:hidden}body.dimmable>.dimmer{position:fixed}.blurring.dimmable>:not(.dimmer){-webkit-filter:blur(0) grayscale(0);filter:blur(0) grayscale(0);-webkit-transition:.8s -webkit-filter ease;transition:.8s -webkit-filter ease;transition:.8s filter ease;transition:.8s filter ease,.8s -webkit-filter ease}.blurring.dimmed.dimmable>:not(.dimmer){-webkit-filter:blur(5px) grayscale(.7);filter:blur(5px) grayscale(.7)}.blurring.dimmable>.dimmer{background-color:rgba(0,0,0,.6)}.blurring.dimmable>.inverted.dimmer{background-color:rgba(255,255,255,.6)}.ui.dimmer>.top.aligned.content>*{vertical-align:top}.ui.dimmer>.bottom.aligned.content>*{vertical-align:bottom}.ui.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.inverted.dimmer>.content>*{color:#fff}.ui.simple.dimmer{display:block;overflow:hidden;opacity:1;width:0%;height:0%;z-index:-100;background-color:rgba(0,0,0,0)}.dimmed.dimmable>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background-color:rgba(0,0,0,.85);z-index:1}.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,0)}.dimmed.dimmable>.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,.85)}/*! - * # Semantic UI 2.4.0 - Dropdown - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.dropdown{cursor:pointer;position:relative;display:inline-block;outline:0;text-align:left;-webkit-transition:width .1s ease,-webkit-box-shadow .1s ease;transition:width .1s ease,-webkit-box-shadow .1s ease;transition:box-shadow .1s ease,width .1s ease;transition:box-shadow .1s ease,width .1s ease,-webkit-box-shadow .1s ease;-webkit-tap-highlight-color:transparent}.ui.dropdown .menu{cursor:auto;position:absolute;display:none;outline:0;top:100%;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;margin:0;padding:0 0;background:#fff;font-size:1em;text-shadow:none;text-align:left;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15);border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;-webkit-transition:opacity .1s ease;transition:opacity .1s ease;z-index:11;will-change:transform,opacity}.ui.dropdown .menu>*{white-space:nowrap}.ui.dropdown>input:not(.search):first-child,.ui.dropdown>select{display:none!important}.ui.dropdown>.dropdown.icon{position:relative;width:auto;font-size:.85714286em;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon{width:auto;float:right;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon+.text{margin-right:1em}.ui.dropdown>.text{display:inline-block;-webkit-transition:none;transition:none}.ui.dropdown .menu>.item{position:relative;cursor:pointer;display:block;border:none;height:auto;text-align:left;border-top:none;line-height:1em;color:rgba(0,0,0,.87);padding:.78571429rem 1.14285714rem!important;font-size:1rem;text-transform:none;font-weight:400;-webkit-box-shadow:none;box-shadow:none;-webkit-touch-callout:none}.ui.dropdown .menu>.item:first-child{border-top-width:0}.ui.dropdown .menu .item>[class*="right floated"],.ui.dropdown>.text>[class*="right floated"]{float:right!important;margin-right:0!important;margin-left:1em!important}.ui.dropdown .menu .item>[class*="left floated"],.ui.dropdown>.text>[class*="left floated"]{float:left!important;margin-left:0!important;margin-right:1em!important}.ui.dropdown .menu .item>.flag.floated,.ui.dropdown .menu .item>.icon.floated,.ui.dropdown .menu .item>.image.floated,.ui.dropdown .menu .item>img.floated{margin-top:0}.ui.dropdown .menu>.header{margin:1rem 0 .75rem;padding:0 1.14285714rem;color:rgba(0,0,0,.85);font-size:.78571429em;font-weight:700;text-transform:uppercase}.ui.dropdown .menu>.divider{border-top:1px solid rgba(34,36,38,.1);height:0;margin:.5em 0}.ui.dropdown.dropdown .menu>.input{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;margin:1.14285714rem .78571429rem;min-width:10rem}.ui.dropdown .menu>.header+.input{margin-top:0}.ui.dropdown .menu>.input:not(.transparent) input{padding:.5em 1em}.ui.dropdown .menu>.input:not(.transparent) .button,.ui.dropdown .menu>.input:not(.transparent) .icon,.ui.dropdown .menu>.input:not(.transparent) .label{padding-top:.5em;padding-bottom:.5em}.ui.dropdown .menu>.item>.description,.ui.dropdown>.text>.description{float:right;margin:0 0 0 1em;color:rgba(0,0,0,.4)}.ui.dropdown .menu>.message{padding:.78571429rem 1.14285714rem;font-weight:400}.ui.dropdown .menu>.message:not(.ui){color:rgba(0,0,0,.4)}.ui.dropdown .menu .menu{top:0!important;left:100%;right:auto;margin:0 0 0 -.5em!important;border-radius:.28571429rem!important;z-index:21!important}.ui.dropdown .menu .menu:after{display:none}.ui.dropdown>.text>.flag,.ui.dropdown>.text>.icon,.ui.dropdown>.text>.image,.ui.dropdown>.text>.label,.ui.dropdown>.text>img{margin-top:0}.ui.dropdown .menu>.item>.flag,.ui.dropdown .menu>.item>.icon,.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>.label,.ui.dropdown .menu>.item>img{margin-top:0}.ui.dropdown .menu>.item>.flag,.ui.dropdown .menu>.item>.icon,.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>.label,.ui.dropdown .menu>.item>img,.ui.dropdown>.text>.flag,.ui.dropdown>.text>.icon,.ui.dropdown>.text>.image,.ui.dropdown>.text>.label,.ui.dropdown>.text>img{margin-left:0;float:none;margin-right:.78571429rem}.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>img,.ui.dropdown>.text>.image,.ui.dropdown>.text>img{display:inline-block;vertical-align:top;width:auto;margin-top:-.5em;margin-bottom:-.5em;max-height:2em}.ui.dropdown .ui.menu>.item:before,.ui.menu .ui.dropdown .menu>.item:before{display:none}.ui.menu .ui.dropdown .menu .active.item{border-left:none}.ui.buttons>.ui.dropdown:last-child .menu,.ui.menu .right.dropdown.item .menu,.ui.menu .right.menu .dropdown:last-child .menu{left:auto;right:0}.ui.label.dropdown .menu{min-width:100%}.ui.dropdown.icon.button>.dropdown.icon{margin:0}.ui.button.dropdown .menu{min-width:100%}.ui.selection.dropdown{cursor:pointer;word-wrap:break-word;line-height:1em;white-space:normal;outline:0;-webkit-transform:rotateZ(0);transform:rotateZ(0);min-width:14em;min-height:2.71428571em;background:#fff;display:inline-block;padding:.78571429em 2.1em .78571429em 1em;color:rgba(0,0,0,.87);-webkit-box-shadow:none;box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;-webkit-transition:width .1s ease,-webkit-box-shadow .1s ease;transition:width .1s ease,-webkit-box-shadow .1s ease;transition:box-shadow .1s ease,width .1s ease;transition:box-shadow .1s ease,width .1s ease,-webkit-box-shadow .1s ease}.ui.selection.dropdown.active,.ui.selection.dropdown.visible{z-index:10}select.ui.dropdown{height:38px;padding:.5em;border:1px solid rgba(34,36,38,.15);visibility:visible}.ui.selection.dropdown>.delete.icon,.ui.selection.dropdown>.dropdown.icon,.ui.selection.dropdown>.search.icon{cursor:pointer;position:absolute;width:auto;height:auto;line-height:1.21428571em;top:.78571429em;right:1em;z-index:3;margin:-.78571429em;padding:.91666667em;opacity:.8;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.compact.selection.dropdown{min-width:0}.ui.selection.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch;border-top-width:0!important;width:auto;outline:0;margin:0 -1px;min-width:calc(100% + 2px);width:calc(100% + 2px);border-radius:0 0 .28571429rem .28571429rem;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15);-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.selection.dropdown .menu:after,.ui.selection.dropdown .menu:before{display:none}.ui.selection.dropdown .menu>.message{padding:.78571429rem 1.14285714rem}@media only screen and (max-width:767px){.ui.selection.dropdown .menu{max-height:8.01428571rem}}@media only screen and (min-width:768px){.ui.selection.dropdown .menu{max-height:10.68571429rem}}@media only screen and (min-width:992px){.ui.selection.dropdown .menu{max-height:16.02857143rem}}@media only screen and (min-width:1920px){.ui.selection.dropdown .menu{max-height:21.37142857rem}}.ui.selection.dropdown .menu>.item{border-top:1px solid #fafafa;padding:.78571429rem 1.14285714rem!important;white-space:normal;word-wrap:normal}.ui.selection.dropdown .menu>.hidden.addition.item{display:none}.ui.selection.dropdown:hover{border-color:rgba(34,36,38,.35);-webkit-box-shadow:none;box-shadow:none}.ui.selection.active.dropdown{border-color:#96c8da;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.active.dropdown .menu{border-color:#96c8da;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.dropdown:focus{border-color:#96c8da;-webkit-box-shadow:none;box-shadow:none}.ui.selection.dropdown:focus .menu{border-color:#96c8da;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.visible.dropdown>.text:not(.default){font-weight:400;color:rgba(0,0,0,.8)}.ui.selection.active.dropdown:hover{border-color:#96c8da;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.active.dropdown:hover .menu{border-color:#96c8da;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.active.selection.dropdown>.dropdown.icon,.ui.visible.selection.dropdown>.dropdown.icon{opacity:'';z-index:3}.ui.active.selection.dropdown{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.active.empty.selection.dropdown{border-radius:.28571429rem!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.active.empty.selection.dropdown .menu{border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.search.dropdown{min-width:''}.ui.search.dropdown>input.search{background:none transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;cursor:text;top:0;left:1px;width:100%;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);padding:inherit}.ui.search.dropdown>input.search{position:absolute;z-index:2}.ui.search.dropdown>.text{cursor:text;position:relative;left:1px;z-index:3}.ui.search.selection.dropdown>input.search{line-height:1.21428571em;padding:.67857143em 2.1em .67857143em 1em}.ui.search.selection.dropdown>span.sizer{line-height:1.21428571em;padding:.67857143em 2.1em .67857143em 1em;display:none;white-space:pre}.ui.search.dropdown.active>input.search,.ui.search.dropdown.visible>input.search{cursor:auto}.ui.search.dropdown.active>.text,.ui.search.dropdown.visible>.text{pointer-events:none}.ui.active.search.dropdown input.search:focus+.text .flag,.ui.active.search.dropdown input.search:focus+.text .icon{opacity:.45}.ui.active.search.dropdown input.search:focus+.text{color:rgba(115,115,115,.87)!important}.ui.search.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch}@media only screen and (max-width:767px){.ui.search.dropdown .menu{max-height:8.01428571rem}}@media only screen and (min-width:768px){.ui.search.dropdown .menu{max-height:10.68571429rem}}@media only screen and (min-width:992px){.ui.search.dropdown .menu{max-height:16.02857143rem}}@media only screen and (min-width:1920px){.ui.search.dropdown .menu{max-height:21.37142857rem}}.ui.multiple.dropdown{padding:.22619048em 2.1em .22619048em .35714286em}.ui.multiple.dropdown .menu{cursor:auto}.ui.multiple.search.dropdown,.ui.multiple.search.dropdown>input.search{cursor:text}.ui.multiple.dropdown>.label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;vertical-align:top;white-space:normal;font-size:1em;padding:.35714286em .78571429em;margin:.14285714rem .28571429rem .14285714rem 0;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.multiple.dropdown .dropdown.icon{margin:'';padding:''}.ui.multiple.dropdown>.text{position:static;padding:0;max-width:100%;margin:.45238095em 0 .45238095em .64285714em;line-height:1.21428571em}.ui.multiple.dropdown>.label~input.search{margin-left:.14285714em!important}.ui.multiple.dropdown>.label~.text{display:none}.ui.multiple.search.dropdown>.text{display:inline-block;position:absolute;top:0;left:0;padding:inherit;margin:.45238095em 0 .45238095em .64285714em;line-height:1.21428571em}.ui.multiple.search.dropdown>.label~.text{display:none}.ui.multiple.search.dropdown>input.search{position:static;padding:0;max-width:100%;margin:.45238095em 0 .45238095em .64285714em;width:2.2em;line-height:1.21428571em}.ui.inline.dropdown{cursor:pointer;display:inline-block;color:inherit}.ui.inline.dropdown .dropdown.icon{margin:0 .21428571em 0 .21428571em;vertical-align:baseline}.ui.inline.dropdown>.text{font-weight:700}.ui.inline.dropdown .menu{cursor:auto;margin-top:.21428571em;border-radius:.28571429rem}.ui.dropdown .menu .active.item{background:0 0;font-weight:700;color:rgba(0,0,0,.95);-webkit-box-shadow:none;box-shadow:none;z-index:12}.ui.dropdown .menu>.item:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);z-index:13}.ui.loading.dropdown>i.icon{height:1em!important}.ui.loading.selection.dropdown>i.icon{padding:1.5em 1.28571429em!important}.ui.loading.dropdown>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.dropdown>i.icon:after{position:absolute;content:'';top:50%;left:50%;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:dropdown-spin .6s linear;animation:dropdown-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em}.ui.loading.dropdown.button>i.icon:after,.ui.loading.dropdown.button>i.icon:before{display:none}@-webkit-keyframes dropdown-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes dropdown-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.default.dropdown:not(.button)>.text,.ui.dropdown:not(.button)>.default.text{color:rgba(191,191,191,.87)}.ui.default.dropdown:not(.button)>input:focus~.text,.ui.dropdown:not(.button)>input:focus~.default.text{color:rgba(115,115,115,.87)}.ui.loading.dropdown>.text{-webkit-transition:none;transition:none}.ui.dropdown .loading.menu{display:block;visibility:hidden;z-index:-1}.ui.dropdown>.loading.menu{left:0!important;right:auto!important}.ui.dropdown>.menu .loading.menu{left:100%!important;right:auto!important}.ui.dropdown .menu .selected.item,.ui.dropdown.selected{background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.dropdown>.filtered.text{visibility:hidden}.ui.dropdown .filtered.item{display:none!important}.ui.dropdown.error,.ui.dropdown.error>.default.text,.ui.dropdown.error>.text{color:#9f3a38}.ui.selection.dropdown.error{background:#fff6f6;border-color:#e0b4b4}.ui.selection.dropdown.error:hover{border-color:#e0b4b4}.ui.dropdown.error>.menu,.ui.dropdown.error>.menu .menu{border-color:#e0b4b4}.ui.dropdown.error>.menu>.item{color:#9f3a38}.ui.multiple.selection.error.dropdown>.label{border-color:#e0b4b4}.ui.dropdown.error>.menu>.item:hover{background-color:#fff2f2}.ui.dropdown.error>.menu .active.item{background-color:#fdcfcf}.ui.dropdown>.clear.dropdown.icon{opacity:.8;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.dropdown>.clear.dropdown.icon:hover{opacity:1}.ui.disabled.dropdown,.ui.dropdown .menu>.disabled.item{cursor:default;pointer-events:none;opacity:.45}.ui.dropdown .menu{left:0}.ui.dropdown .menu .right.menu,.ui.dropdown .right.menu>.menu{left:100%!important;right:auto!important;border-radius:.28571429rem!important}.ui.dropdown>.left.menu{left:auto!important;right:0!important}.ui.dropdown .menu .left.menu,.ui.dropdown>.left.menu .menu{left:auto;right:100%;margin:0 -.5em 0 0!important;border-radius:.28571429rem!important}.ui.dropdown .item .left.dropdown.icon,.ui.dropdown .left.menu .item .dropdown.icon{width:auto;float:left;margin:0}.ui.dropdown .item .left.dropdown.icon,.ui.dropdown .left.menu .item .dropdown.icon{width:auto;float:left;margin:0}.ui.dropdown .item .left.dropdown.icon+.text,.ui.dropdown .left.menu .item .dropdown.icon+.text{margin-left:1em;margin-right:0}.ui.upward.dropdown>.menu{top:auto;bottom:100%;-webkit-box-shadow:0 0 3px 0 rgba(0,0,0,.08);box-shadow:0 0 3px 0 rgba(0,0,0,.08);border-radius:.28571429rem .28571429rem 0 0}.ui.dropdown .upward.menu{top:auto!important;bottom:0!important}.ui.simple.upward.active.dropdown,.ui.simple.upward.dropdown:hover{border-radius:.28571429rem .28571429rem 0 0!important}.ui.upward.dropdown.button:not(.pointing):not(.floating).active{border-radius:.28571429rem .28571429rem 0 0}.ui.upward.selection.dropdown .menu{border-top-width:1px!important;border-bottom-width:0!important;-webkit-box-shadow:0 -2px 3px 0 rgba(0,0,0,.08);box-shadow:0 -2px 3px 0 rgba(0,0,0,.08)}.ui.upward.selection.dropdown:hover{-webkit-box-shadow:0 0 2px 0 rgba(0,0,0,.05);box-shadow:0 0 2px 0 rgba(0,0,0,.05)}.ui.active.upward.selection.dropdown{border-radius:0 0 .28571429rem .28571429rem!important}.ui.upward.selection.dropdown.visible{-webkit-box-shadow:0 0 3px 0 rgba(0,0,0,.08);box-shadow:0 0 3px 0 rgba(0,0,0,.08);border-radius:0 0 .28571429rem .28571429rem!important}.ui.upward.active.selection.dropdown:hover{-webkit-box-shadow:0 0 3px 0 rgba(0,0,0,.05);box-shadow:0 0 3px 0 rgba(0,0,0,.05)}.ui.upward.active.selection.dropdown:hover .menu{-webkit-box-shadow:0 -2px 3px 0 rgba(0,0,0,.08);box-shadow:0 -2px 3px 0 rgba(0,0,0,.08)}.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{overflow-x:hidden;overflow-y:auto}.ui.scrolling.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch;min-width:100%!important;width:auto!important}.ui.dropdown .scrolling.menu{position:static;overflow-y:auto;border:none;-webkit-box-shadow:none!important;box-shadow:none!important;border-radius:0!important;margin:0!important;min-width:100%!important;width:auto!important;border-top:1px solid rgba(34,36,38,.15)}.ui.dropdown .scrolling.menu>.item.item.item,.ui.scrolling.dropdown .menu .item.item.item{border-top:none}.ui.dropdown .scrolling.menu .item:first-child,.ui.scrolling.dropdown .menu .item:first-child{border-top:none}.ui.dropdown>.animating.menu .scrolling.menu,.ui.dropdown>.visible.menu .scrolling.menu{display:block}@media all and (-ms-high-contrast:none){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{min-width:calc(100% - 17px)}}@media only screen and (max-width:767px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:10.28571429rem}}@media only screen and (min-width:768px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:15.42857143rem}}@media only screen and (min-width:992px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:20.57142857rem}}@media only screen and (min-width:1920px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:20.57142857rem}}.ui.simple.dropdown .menu:after,.ui.simple.dropdown .menu:before{display:none}.ui.simple.dropdown .menu{position:absolute;display:block;overflow:hidden;top:-9999px!important;opacity:0;width:0;height:0;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.simple.active.dropdown,.ui.simple.dropdown:hover{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.simple.active.dropdown>.menu,.ui.simple.dropdown:hover>.menu{overflow:visible;width:auto;height:auto;top:100%!important;opacity:1}.ui.simple.dropdown:hover>.menu>.item:hover>.menu,.ui.simple.dropdown>.menu>.item:active>.menu{overflow:visible;width:auto;height:auto;top:0!important;left:100%!important;opacity:1}.ui.simple.disabled.dropdown:hover .menu{display:none;height:0;width:0;overflow:hidden}.ui.simple.visible.dropdown>.menu{display:block}.ui.fluid.dropdown{display:block;width:100%;min-width:0}.ui.fluid.dropdown>.dropdown.icon{float:right}.ui.floating.dropdown .menu{left:0;right:auto;-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)!important;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)!important;border-radius:.28571429rem!important}.ui.floating.dropdown>.menu{margin-top:.5em!important;border-radius:.28571429rem!important}.ui.pointing.dropdown>.menu{top:100%;margin-top:.78571429rem;border-radius:.28571429rem}.ui.pointing.dropdown>.menu:after{display:block;position:absolute;pointer-events:none;content:'';visibility:visible;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:.5em;height:.5em;-webkit-box-shadow:-1px -1px 0 0 rgba(34,36,38,.15);box-shadow:-1px -1px 0 0 rgba(34,36,38,.15);background:#fff;z-index:2}.ui.pointing.dropdown>.menu:after{top:-.25em;left:50%;margin:0 0 0 -.25em}.ui.top.left.pointing.dropdown>.menu{top:100%;bottom:auto;left:0;right:auto;margin:1em 0 0}.ui.top.left.pointing.dropdown>.menu{top:100%;bottom:auto;left:0;right:auto;margin:1em 0 0}.ui.top.left.pointing.dropdown>.menu:after{top:-.25em;left:1em;right:auto;margin:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ui.top.right.pointing.dropdown>.menu{top:100%;bottom:auto;right:0;left:auto;margin:1em 0 0}.ui.top.pointing.dropdown>.left.menu:after,.ui.top.right.pointing.dropdown>.menu:after{top:-.25em;left:auto!important;right:1em!important;margin:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ui.left.pointing.dropdown>.menu{top:0;left:100%;right:auto;margin:0 0 0 1em}.ui.left.pointing.dropdown>.menu:after{top:1em;left:-.25em;margin:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.ui.left:not(.top):not(.bottom).pointing.dropdown>.left.menu{left:auto!important;right:100%!important;margin:0 1em 0 0}.ui.left:not(.top):not(.bottom).pointing.dropdown>.left.menu:after{top:1em;left:auto;right:-.25em;margin:0;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.ui.right.pointing.dropdown>.menu{top:0;left:auto;right:100%;margin:0 1em 0 0}.ui.right.pointing.dropdown>.menu:after{top:1em;left:auto;right:-.25em;margin:0;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.ui.bottom.pointing.dropdown>.menu{top:auto;bottom:100%;left:0;right:auto;margin:0 0 1em}.ui.bottom.pointing.dropdown>.menu:after{top:auto;bottom:-.25em;right:auto;margin:0;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.ui.bottom.pointing.dropdown>.menu .menu{top:auto!important;bottom:0!important}.ui.bottom.left.pointing.dropdown>.menu{left:0;right:auto}.ui.bottom.left.pointing.dropdown>.menu:after{left:1em;right:auto}.ui.bottom.right.pointing.dropdown>.menu{right:0;left:auto}.ui.bottom.right.pointing.dropdown>.menu:after{left:auto;right:1em}.ui.pointing.upward.dropdown .menu,.ui.top.pointing.upward.dropdown .menu{top:auto!important;bottom:100%!important;margin:0 0 .78571429rem;border-radius:.28571429rem}.ui.pointing.upward.dropdown .menu:after,.ui.top.pointing.upward.dropdown .menu:after{top:100%!important;bottom:auto!important;-webkit-box-shadow:1px 1px 0 0 rgba(34,36,38,.15);box-shadow:1px 1px 0 0 rgba(34,36,38,.15);margin:-.25em 0 0}.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu{top:auto!important;bottom:0!important;margin:0 1em 0 0}.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after{top:auto!important;bottom:0!important;margin:0 0 1em 0;-webkit-box-shadow:-1px -1px 0 0 rgba(34,36,38,.15);box-shadow:-1px -1px 0 0 rgba(34,36,38,.15)}.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu{top:auto!important;bottom:0!important;margin:0 0 0 1em}.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after{top:auto!important;bottom:0!important;margin:0 0 1em 0;-webkit-box-shadow:-1px -1px 0 0 rgba(34,36,38,.15);box-shadow:-1px -1px 0 0 rgba(34,36,38,.15)}@font-face{font-family:Dropdown;src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAVgAA8AAAAACFAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAchGgaq0dERUYAAAF0AAAAHAAAAB4AJwAPT1MvMgAAAZAAAABDAAAAVnW4TJdjbWFwAAAB1AAAAEsAAAFS8CcaqmN2dCAAAAIgAAAABAAAAAQAEQFEZ2FzcAAAAiQAAAAIAAAACP//AANnbHlmAAACLAAAAQoAAAGkrRHP9WhlYWQAAAM4AAAAMAAAADYPK8YyaGhlYQAAA2gAAAAdAAAAJANCAb1obXR4AAADiAAAACIAAAAiCBkAOGxvY2EAAAOsAAAAFAAAABQBnAIybWF4cAAAA8AAAAAfAAAAIAEVAF5uYW1lAAAD4AAAATAAAAKMFGlj5HBvc3QAAAUQAAAARgAAAHJoedjqd2ViZgAABVgAAAAGAAAABrO7W5UAAAABAAAAANXulPUAAAAA1r4hgAAAAADXu2Q1eNpjYGRgYOABYjEgZmJgBEIOIGYB8xgAA/YAN3jaY2BktGOcwMDKwMI4jTGNgYHBHUp/ZZBkaGFgYGJgZWbACgLSXFMYHFT/fLjFeOD/AQY9xjMMbkBhRpAcAN48DQYAeNpjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETAwMqn8+8H649f8/lHX9//9b7Pzf+fWgusCAkY0BzmUE6gHpQwGMDMMeAACbxg7SAAARAUQAAAAB//8AAnjadZBPSsNAGMXfS+yMqYgOhpSuSlKadmUhiVEhEMQzFF22m17BbbvzCh5BXCUn6EG8gjeQ4DepwYo4i+/ffL95j4EDA+CFC7jQuKyIeVHrI3wkleq9F7XrSInKteOeHdda8bOoaeepSc00NWPz/LRec9G8GabyGtEdF7h19z033GAMTK7zbM42xNEZpzYof0RtQ5CUHAQJ73OtVyutc+3b7Ou//b8XNlsPx3jgjUifABdhEohKJJL5iM5p39uqc7X1+sRQSqmGrUVhlsJ4lpmEUVwyT8SUYtg0P9DyNzPADDs+tjrGV6KRCRfsui3eHcL4/p8ZXvfMlcnEU+CLv7hDykOP+AKTPTxbAAB42mNgZGBgAGKuf5KP4vltvjLIMzGAwLV9ig0g+vruFFMQzdjACOJzMIClARh0CTJ42mNgZGBgPPD/AJD8wgAEjA0MjAyogAMAbOQEAQAAAAC7ABEAAAAAAKoAAAH0AAABgAAAAUAACAFAAAgAwAAXAAAAAAAAACoAKgAqADIAbACGAKAAugDSeNpjYGRgYOBkUGFgYgABEMkFhAwM/xn0QAIADdUBdAB42qWQvUoDQRSFv3GjaISUQaymSmGxJoGAsRC0iPYLsU50Y6IxrvlRtPCJJKUPIBb+PIHv4EN4djKuKAqCDHfmu+feOdwZoMCUAJNbAlYUMzaUlM14jjxbngOq7HnOia89z1Pk1vMCa9x7ztPkzfMyJbPj+ZGi6Xp+omxuPD+zaD7meaFg7mb8GrBqHmhwxoAxlm0uiRkpP9X5m26pKRoMxTGR1D49Dv/Yb/91o6l8qL6eu5n2hZQzn68utR9m3FU2cB4t9cdSLG2utI+44Eh/P9bqKO+oJ/WxmXssj77YkrjasZQD6SFddythk3Wtzrf+UF2p076Udla1VNzsERP3kkjVRKel7mp1udXYcHtZSlV7RfmJe1GiFWveluaeKD5/MuJcSk8Tpm/vvwPIbmJleNpjYGKAAFYG7ICTgYGRiZGZkYWRlZGNkZ2Rg5GTLT2nsiDDEEIZsZfmZRqZujmDaDcDAxcI7WIOpS2gtCWUdgQAZkcSmQAAAAFblbO6AAA=) format('woff');font-weight:400;font-style:normal}.ui.dropdown>.dropdown.icon{font-family:Dropdown;line-height:1;height:1em;width:1.23em;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.dropdown>.dropdown.icon{width:auto}.ui.dropdown>.dropdown.icon:before{content:'\f0d7'}.ui.dropdown .menu .item .dropdown.icon:before{content:'\f0da'}.ui.dropdown .item .left.dropdown.icon:before,.ui.dropdown .left.menu .item .dropdown.icon:before{content:"\f0d9"}.ui.vertical.menu .dropdown.item>.dropdown.icon:before{content:"\f0da"}.ui.dropdown>.clear.icon:before{content:"\f00d"}/*! - * # Semantic UI 2.4.0 - Video - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.embed{position:relative;max-width:100%;height:0;overflow:hidden;background:#dcddde;padding-bottom:56.25%}.ui.embed embed,.ui.embed iframe,.ui.embed object{position:absolute;border:none;width:100%;height:100%;top:0;left:0;margin:0;padding:0}.ui.embed>.embed{display:none}.ui.embed>.placeholder{position:absolute;cursor:pointer;top:0;left:0;display:block;width:100%;height:100%;background-color:radial-gradient(transparent 45%,rgba(0,0,0,.3))}.ui.embed>.icon{cursor:pointer;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.ui.embed>.icon:after{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;content:'';background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:.5;-webkit-transition:opacity .5s ease;transition:opacity .5s ease}.ui.embed>.icon:before{position:absolute;top:50%;left:50%;z-index:4;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);color:#fff;font-size:6rem;text-shadow:0 2px 10px rgba(34,36,38,.2);-webkit-transition:opacity .5s ease,color .5s ease;transition:opacity .5s ease,color .5s ease;z-index:10}.ui.embed .icon:hover:after{background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:1}.ui.embed .icon:hover:before{color:#fff}.ui.active.embed>.icon,.ui.active.embed>.placeholder{display:none}.ui.active.embed>.embed{display:block}.ui.square.embed{padding-bottom:100%}.ui[class*="4:3"].embed{padding-bottom:75%}.ui[class*="16:9"].embed{padding-bottom:56.25%}.ui[class*="21:9"].embed{padding-bottom:42.85714286%}/*! - * # Semantic UI 2.4.0 - Modal - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.modal{position:absolute;display:none;z-index:1001;text-align:left;background:#fff;border:none;-webkit-box-shadow:1px 3px 3px 0 rgba(0,0,0,.2),1px 3px 15px 2px rgba(0,0,0,.2);box-shadow:1px 3px 3px 0 rgba(0,0,0,.2),1px 3px 15px 2px rgba(0,0,0,.2);-webkit-transform-origin:50% 25%;transform-origin:50% 25%;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;border-radius:.28571429rem;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;will-change:top,left,margin,transform,opacity}.ui.modal>.icon:first-child+*,.ui.modal>:first-child:not(.icon){border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.modal>:last-child{border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.modal>.close{cursor:pointer;position:absolute;top:-2.5rem;right:-2.5rem;z-index:1;opacity:.8;font-size:1.25em;color:#fff;width:2.25rem;height:2.25rem;padding:.625rem 0 0 0}.ui.modal>.close:hover{opacity:1}.ui.modal>.header{display:block;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;background:#fff;margin:0;padding:1.25rem 1.5rem;-webkit-box-shadow:none;box-shadow:none;color:rgba(0,0,0,.85);border-bottom:1px solid rgba(34,36,38,.15)}.ui.modal>.header:not(.ui){font-size:1.42857143rem;line-height:1.28571429em;font-weight:700}.ui.modal>.content{display:block;width:100%;font-size:1em;line-height:1.4;padding:1.5rem;background:#fff}.ui.modal>.image.content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.ui.modal>.content>.image{display:block;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:'';-ms-flex-item-align:top;align-self:top}.ui.modal>[class*="top aligned"]{-ms-flex-item-align:top;align-self:top}.ui.modal>[class*="middle aligned"]{-ms-flex-item-align:middle;align-self:middle}.ui.modal>[class*=stretched]{-ms-flex-item-align:stretch;align-self:stretch}.ui.modal>.content>.description{display:block;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;min-width:0;-ms-flex-item-align:top;align-self:top}.ui.modal>.content>.icon+.description,.ui.modal>.content>.image+.description{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;min-width:'';width:auto;padding-left:2em}.ui.modal>.content>.image>i.icon{margin:0;opacity:1;width:auto;line-height:1;font-size:8rem}.ui.modal>.actions{background:#f9fafb;padding:1rem 1rem;border-top:1px solid rgba(34,36,38,.15);text-align:right}.ui.modal .actions>.button{margin-left:.75em}@media only screen and (max-width:767px){.ui.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.modal{width:88%;margin:0}}@media only screen and (min-width:992px){.ui.modal{width:850px;margin:0}}@media only screen and (min-width:1200px){.ui.modal{width:900px;margin:0}}@media only screen and (min-width:1920px){.ui.modal{width:950px;margin:0}}@media only screen and (max-width:991px){.ui.modal>.header{padding-right:2.25rem}.ui.modal>.close{top:1.0535rem;right:1rem;color:rgba(0,0,0,.87)}}@media only screen and (max-width:767px){.ui.modal>.header{padding:.75rem 1rem!important;padding-right:2.25rem!important}.ui.modal>.content{display:block;padding:1rem!important}.ui.modal>.close{top:.5rem!important;right:.5rem!important}.ui.modal .image.content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.modal .content>.image{display:block;max-width:100%;margin:0 auto!important;text-align:center;padding:0 0 1rem!important}.ui.modal>.content>.image>i.icon{font-size:5rem;text-align:center}.ui.modal .content>.description{display:block;width:100%!important;margin:0!important;padding:1rem 0!important;-webkit-box-shadow:none;box-shadow:none}.ui.modal>.actions{padding:1rem 1rem 0!important}.ui.modal .actions>.button,.ui.modal .actions>.buttons{margin-bottom:1rem}}.ui.inverted.dimmer>.ui.modal{-webkit-box-shadow:1px 3px 10px 2px rgba(0,0,0,.2);box-shadow:1px 3px 10px 2px rgba(0,0,0,.2)}.ui.basic.modal{background-color:transparent;border:none;border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.basic.modal>.actions,.ui.basic.modal>.content,.ui.basic.modal>.header{background-color:transparent}.ui.basic.modal>.header{color:#fff}.ui.basic.modal>.close{top:1rem;right:1.5rem}.ui.inverted.dimmer>.basic.modal{color:rgba(0,0,0,.87)}.ui.inverted.dimmer>.ui.basic.modal>.header{color:rgba(0,0,0,.85)}.ui.legacy.modal,.ui.legacy.page.dimmer>.ui.modal{top:50%;left:50%}.ui.legacy.page.dimmer>.ui.scrolling.modal,.ui.page.dimmer>.ui.scrolling.legacy.modal,.ui.top.aligned.dimmer>.ui.legacy.modal,.ui.top.aligned.legacy.page.dimmer>.ui.modal{top:auto}@media only screen and (max-width:991px){.ui.basic.modal>.close{color:#fff}}.ui.loading.modal{display:block;visibility:hidden;z-index:-1}.ui.active.modal{display:block}.modals.dimmer[class*="top aligned"] .modal{margin:5vh auto}@media only screen and (max-width:767px){.modals.dimmer[class*="top aligned"] .modal{margin:1rem auto}}.legacy.modals.dimmer[class*="top aligned"]{padding-top:5vh}@media only screen and (max-width:767px){.legacy.modals.dimmer[class*="top aligned"]{padding-top:1rem}}.scrolling.dimmable.dimmed{overflow:hidden}.scrolling.dimmable>.dimmer{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.scrolling.dimmable.dimmed>.dimmer{overflow:auto;-webkit-overflow-scrolling:touch}.scrolling.dimmable>.dimmer{position:fixed}.modals.dimmer .ui.scrolling.modal{margin:1rem auto}.scrolling.undetached.dimmable.dimmed{overflow:auto;-webkit-overflow-scrolling:touch}.scrolling.undetached.dimmable.dimmed>.dimmer{overflow:hidden}.scrolling.undetached.dimmable .ui.scrolling.modal{position:absolute;left:50%;margin-top:1rem!important}.ui.modal .scrolling.content{max-height:calc(70vh);overflow:auto}.ui.fullscreen.modal{width:95%!important;left:0!important;margin:1em auto}.ui.fullscreen.scrolling.modal{left:0!important}.ui.fullscreen.modal>.header{padding-right:2.25rem}.ui.fullscreen.modal>.close{top:1.0535rem;right:1rem;color:rgba(0,0,0,.87)}.ui.modal{font-size:1rem}.ui.mini.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.mini.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.mini.modal{width:35.2%;margin:0}}@media only screen and (min-width:992px){.ui.mini.modal{width:340px;margin:0}}@media only screen and (min-width:1200px){.ui.mini.modal{width:360px;margin:0}}@media only screen and (min-width:1920px){.ui.mini.modal{width:380px;margin:0}}.ui.small.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.tiny.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.tiny.modal{width:52.8%;margin:0}}@media only screen and (min-width:992px){.ui.tiny.modal{width:510px;margin:0}}@media only screen and (min-width:1200px){.ui.tiny.modal{width:540px;margin:0}}@media only screen and (min-width:1920px){.ui.tiny.modal{width:570px;margin:0}}.ui.small.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.small.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.small.modal{width:70.4%;margin:0}}@media only screen and (min-width:992px){.ui.small.modal{width:680px;margin:0}}@media only screen and (min-width:1200px){.ui.small.modal{width:720px;margin:0}}@media only screen and (min-width:1920px){.ui.small.modal{width:760px;margin:0}}.ui.large.modal>.header{font-size:1.6em}@media only screen and (max-width:767px){.ui.large.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.large.modal{width:88%;margin:0}}@media only screen and (min-width:992px){.ui.large.modal{width:1020px;margin:0}}@media only screen and (min-width:1200px){.ui.large.modal{width:1080px;margin:0}}@media only screen and (min-width:1920px){.ui.large.modal{width:1140px;margin:0}}/*! - * # Semantic UI 2.4.0 - Nag - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.2);box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:rgba(0,0,0,.87);border-radius:0 0 .28571429rem .28571429rem;-webkit-transition:.2s background ease;transition:.2s background ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#fff}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#fff;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#f3f4f5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:last-child{border-radius:.28571429rem .28571429rem 0 0}/*! - * # Semantic UI 2.4.0 - Popup - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.popup{display:none;position:absolute;top:0;right:0;min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content;z-index:1900;border:1px solid #d4d4d5;line-height:1.4285em;max-width:250px;background:#fff;padding:.833em 1em;font-weight:400;font-style:normal;color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.popup>.header{padding:0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1.14285714em;line-height:1.2;font-weight:700}.ui.popup>.header+.content{padding-top:.5em}.ui.popup:before{position:absolute;content:'';width:.71428571em;height:.71428571em;background:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-box-shadow:1px 1px 0 0 #bababc;box-shadow:1px 1px 0 0 #bababc}[data-tooltip]{position:relative}[data-tooltip]:before{pointer-events:none;position:absolute;content:'';font-size:1rem;width:.71428571em;height:.71428571em;background:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-box-shadow:1px 1px 0 0 #bababc;box-shadow:1px 1px 0 0 #bababc}[data-tooltip]:after{pointer-events:none;content:attr(data-tooltip);position:absolute;text-transform:none;text-align:left;white-space:nowrap;font-size:1rem;border:1px solid #d4d4d5;line-height:1.4285em;max-width:none;background:#fff;padding:.833em 1em;font-weight:400;font-style:normal;color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);z-index:1}[data-tooltip]:not([data-position]):before{top:auto;right:auto;bottom:100%;left:50%;background:#fff;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-tooltip]:not([data-position]):after{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:100%;margin-bottom:.5em}[data-tooltip]:after,[data-tooltip]:before{pointer-events:none;visibility:hidden}[data-tooltip]:before{opacity:0;-webkit-transform:rotate(45deg) scale(0)!important;transform:rotate(45deg) scale(0)!important;-webkit-transform-origin:center top;transform-origin:center top;-webkit-transition:all .1s ease;transition:all .1s ease}[data-tooltip]:after{opacity:1;-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-transition:all .1s ease;transition:all .1s ease}[data-tooltip]:hover:after,[data-tooltip]:hover:before{visibility:visible;pointer-events:auto}[data-tooltip]:hover:before{-webkit-transform:rotate(45deg) scale(1)!important;transform:rotate(45deg) scale(1)!important;opacity:1}[data-tooltip]:after,[data-tooltip][data-position="bottom center"]:after,[data-tooltip][data-position="top center"]:after{-webkit-transform:translateX(-50%) scale(0)!important;transform:translateX(-50%) scale(0)!important}[data-tooltip]:hover:after,[data-tooltip][data-position="bottom center"]:hover:after{-webkit-transform:translateX(-50%) scale(1)!important;transform:translateX(-50%) scale(1)!important}[data-tooltip][data-position="left center"]:after,[data-tooltip][data-position="right center"]:after{-webkit-transform:translateY(-50%) scale(0)!important;transform:translateY(-50%) scale(0)!important}[data-tooltip][data-position="left center"]:hover:after,[data-tooltip][data-position="right center"]:hover:after{-webkit-transform:translateY(-50%) scale(1)!important;transform:translateY(-50%) scale(1)!important}[data-tooltip][data-position="bottom left"]:after,[data-tooltip][data-position="bottom right"]:after,[data-tooltip][data-position="top left"]:after,[data-tooltip][data-position="top right"]:after{-webkit-transform:scale(0)!important;transform:scale(0)!important}[data-tooltip][data-position="bottom left"]:hover:after,[data-tooltip][data-position="bottom right"]:hover:after,[data-tooltip][data-position="top left"]:hover:after,[data-tooltip][data-position="top right"]:hover:after{-webkit-transform:scale(1)!important;transform:scale(1)!important}[data-tooltip][data-inverted]:before{-webkit-box-shadow:none!important;box-shadow:none!important}[data-tooltip][data-inverted]:before{background:#1b1c1d}[data-tooltip][data-inverted]:after{background:#1b1c1d;color:#fff;border:none;-webkit-box-shadow:none;box-shadow:none}[data-tooltip][data-inverted]:after .header{background-color:none;color:#fff}[data-position="top center"][data-tooltip]:after{top:auto;right:auto;left:50%;bottom:100%;-webkit-transform:translateX(-50%);transform:translateX(-50%);margin-bottom:.5em}[data-position="top center"][data-tooltip]:before{top:auto;right:auto;bottom:100%;left:50%;background:#fff;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="top left"][data-tooltip]:after{top:auto;right:auto;left:0;bottom:100%;margin-bottom:.5em}[data-position="top left"][data-tooltip]:before{top:auto;right:auto;bottom:100%;left:1em;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="top right"][data-tooltip]:after{top:auto;left:auto;right:0;bottom:100%;margin-bottom:.5em}[data-position="top right"][data-tooltip]:before{top:auto;left:auto;bottom:100%;right:1em;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="bottom center"][data-tooltip]:after{bottom:auto;right:auto;left:50%;top:100%;-webkit-transform:translateX(-50%);transform:translateX(-50%);margin-top:.5em}[data-position="bottom center"][data-tooltip]:before{bottom:auto;right:auto;top:100%;left:50%;margin-left:-.07142857rem;margin-top:.14285714rem}[data-position="bottom left"][data-tooltip]:after{left:0;top:100%;margin-top:.5em}[data-position="bottom left"][data-tooltip]:before{bottom:auto;right:auto;top:100%;left:1em;margin-left:-.07142857rem;margin-top:.14285714rem}[data-position="bottom right"][data-tooltip]:after{right:0;top:100%;margin-top:.5em}[data-position="bottom right"][data-tooltip]:before{bottom:auto;left:auto;top:100%;right:1em;margin-left:-.14285714rem;margin-top:.07142857rem}[data-position="left center"][data-tooltip]:after{right:100%;top:50%;margin-right:.5em;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-position="left center"][data-tooltip]:before{right:100%;top:50%;margin-top:-.14285714rem;margin-right:-.07142857rem}[data-position="right center"][data-tooltip]:after{left:100%;top:50%;margin-left:.5em;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-position="right center"][data-tooltip]:before{left:100%;top:50%;margin-top:-.07142857rem;margin-left:.14285714rem}[data-position~=bottom][data-tooltip]:before{background:#fff;-webkit-box-shadow:-1px -1px 0 0 #bababc;box-shadow:-1px -1px 0 0 #bababc}[data-position="left center"][data-tooltip]:before{background:#fff;-webkit-box-shadow:1px -1px 0 0 #bababc;box-shadow:1px -1px 0 0 #bababc}[data-position="right center"][data-tooltip]:before{background:#fff;-webkit-box-shadow:-1px 1px 0 0 #bababc;box-shadow:-1px 1px 0 0 #bababc}[data-position~=top][data-tooltip]:before{background:#fff}[data-inverted][data-position~=bottom][data-tooltip]:before{background:#1b1c1d;-webkit-box-shadow:-1px -1px 0 0 #bababc;box-shadow:-1px -1px 0 0 #bababc}[data-inverted][data-position="left center"][data-tooltip]:before{background:#1b1c1d;-webkit-box-shadow:1px -1px 0 0 #bababc;box-shadow:1px -1px 0 0 #bababc}[data-inverted][data-position="right center"][data-tooltip]:before{background:#1b1c1d;-webkit-box-shadow:-1px 1px 0 0 #bababc;box-shadow:-1px 1px 0 0 #bababc}[data-inverted][data-position~=top][data-tooltip]:before{background:#1b1c1d}[data-position~=bottom][data-tooltip]:before{-webkit-transform-origin:center bottom;transform-origin:center bottom}[data-position~=bottom][data-tooltip]:after{-webkit-transform-origin:center top;transform-origin:center top}[data-position="left center"][data-tooltip]:before{-webkit-transform-origin:top center;transform-origin:top center}[data-position="left center"][data-tooltip]:after{-webkit-transform-origin:right center;transform-origin:right center}[data-position="right center"][data-tooltip]:before{-webkit-transform-origin:right center;transform-origin:right center}[data-position="right center"][data-tooltip]:after{-webkit-transform-origin:left center;transform-origin:left center}.ui.popup{margin:0}.ui.top.popup{margin:0 0 .71428571em}.ui.top.left.popup{-webkit-transform-origin:left bottom;transform-origin:left bottom}.ui.top.center.popup{-webkit-transform-origin:center bottom;transform-origin:center bottom}.ui.top.right.popup{-webkit-transform-origin:right bottom;transform-origin:right bottom}.ui.left.center.popup{margin:0 .71428571em 0 0;-webkit-transform-origin:right 50%;transform-origin:right 50%}.ui.right.center.popup{margin:0 0 0 .71428571em;-webkit-transform-origin:left 50%;transform-origin:left 50%}.ui.bottom.popup{margin:.71428571em 0 0}.ui.bottom.left.popup{-webkit-transform-origin:left top;transform-origin:left top}.ui.bottom.center.popup{-webkit-transform-origin:center top;transform-origin:center top}.ui.bottom.right.popup{-webkit-transform-origin:right top;transform-origin:right top}.ui.bottom.center.popup:before{margin-left:-.30714286em;top:-.30714286em;left:50%;right:auto;bottom:auto;-webkit-box-shadow:-1px -1px 0 0 #bababc;box-shadow:-1px -1px 0 0 #bababc}.ui.bottom.left.popup{margin-left:0}.ui.bottom.left.popup:before{top:-.30714286em;left:1em;right:auto;bottom:auto;margin-left:0;-webkit-box-shadow:-1px -1px 0 0 #bababc;box-shadow:-1px -1px 0 0 #bababc}.ui.bottom.right.popup{margin-right:0}.ui.bottom.right.popup:before{top:-.30714286em;right:1em;bottom:auto;left:auto;margin-left:0;-webkit-box-shadow:-1px -1px 0 0 #bababc;box-shadow:-1px -1px 0 0 #bababc}.ui.top.center.popup:before{top:auto;right:auto;bottom:-.30714286em;left:50%;margin-left:-.30714286em}.ui.top.left.popup{margin-left:0}.ui.top.left.popup:before{bottom:-.30714286em;left:1em;top:auto;right:auto;margin-left:0}.ui.top.right.popup{margin-right:0}.ui.top.right.popup:before{bottom:-.30714286em;right:1em;top:auto;left:auto;margin-left:0}.ui.left.center.popup:before{top:50%;right:-.30714286em;bottom:auto;left:auto;margin-top:-.30714286em;-webkit-box-shadow:1px -1px 0 0 #bababc;box-shadow:1px -1px 0 0 #bababc}.ui.right.center.popup:before{top:50%;left:-.30714286em;bottom:auto;right:auto;margin-top:-.30714286em;-webkit-box-shadow:-1px 1px 0 0 #bababc;box-shadow:-1px 1px 0 0 #bababc}.ui.bottom.popup:before{background:#fff}.ui.left.center.popup:before,.ui.right.center.popup:before{background:#fff}.ui.top.popup:before{background:#fff}.ui.inverted.bottom.popup:before{background:#1b1c1d}.ui.inverted.left.center.popup:before,.ui.inverted.right.center.popup:before{background:#1b1c1d}.ui.inverted.top.popup:before{background:#1b1c1d}.ui.popup>.ui.grid:not(.padded){width:calc(100% + 1.75rem);margin:-.7rem -.875rem}.ui.loading.popup{display:block;visibility:hidden;z-index:-1}.ui.animating.popup,.ui.visible.popup{display:block}.ui.visible.popup{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.ui.basic.popup:before{display:none}.ui.wide.popup{max-width:350px}.ui[class*="very wide"].popup{max-width:550px}@media only screen and (max-width:767px){.ui.wide.popup,.ui[class*="very wide"].popup{max-width:250px}}.ui.fluid.popup{width:100%;max-width:none}.ui.inverted.popup{background:#1b1c1d;color:#fff;border:none;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.popup .header{background-color:none;color:#fff}.ui.inverted.popup:before{background-color:#1b1c1d;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.flowing.popup{max-width:none}.ui.mini.popup{font-size:.78571429rem}.ui.tiny.popup{font-size:.85714286rem}.ui.small.popup{font-size:.92857143rem}.ui.popup{font-size:1rem}.ui.large.popup{font-size:1.14285714rem}.ui.huge.popup{font-size:1.42857143rem}/*! - * # Semantic UI 2.4.0 - Progress Bar - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.progress{position:relative;display:block;max-width:100%;border:none;margin:1em 0 2.5em;-webkit-box-shadow:none;box-shadow:none;background:rgba(0,0,0,.1);padding:0;border-radius:.28571429rem}.ui.progress:first-child{margin:0 0 2.5em}.ui.progress:last-child{margin:0 0 1.5em}.ui.progress .bar{display:block;line-height:1;position:relative;width:0%;min-width:2em;background:#888;border-radius:.28571429rem;-webkit-transition:width .1s ease,background-color .1s ease;transition:width .1s ease,background-color .1s ease}.ui.progress .bar>.progress{white-space:nowrap;position:absolute;width:auto;font-size:.92857143em;top:50%;right:.5em;left:auto;bottom:auto;color:rgba(255,255,255,.7);text-shadow:none;margin-top:-.5em;font-weight:700;text-align:left}.ui.progress>.label{position:absolute;width:100%;font-size:1em;top:100%;right:auto;left:0;bottom:auto;color:rgba(0,0,0,.87);font-weight:700;text-shadow:none;margin-top:.2em;text-align:center;-webkit-transition:color .4s ease;transition:color .4s ease}.ui.indicating.progress[data-percent^="1"] .bar,.ui.indicating.progress[data-percent^="2"] .bar{background-color:#d95c5c}.ui.indicating.progress[data-percent^="3"] .bar{background-color:#efbc72}.ui.indicating.progress[data-percent^="4"] .bar,.ui.indicating.progress[data-percent^="5"] .bar{background-color:#e6bb48}.ui.indicating.progress[data-percent^="6"] .bar{background-color:#ddc928}.ui.indicating.progress[data-percent^="7"] .bar,.ui.indicating.progress[data-percent^="8"] .bar{background-color:#b4d95c}.ui.indicating.progress[data-percent^="100"] .bar,.ui.indicating.progress[data-percent^="9"] .bar{background-color:#66da81}.ui.indicating.progress[data-percent^="1"] .label,.ui.indicating.progress[data-percent^="2"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="3"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="4"] .label,.ui.indicating.progress[data-percent^="5"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="6"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="7"] .label,.ui.indicating.progress[data-percent^="8"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="100"] .label,.ui.indicating.progress[data-percent^="9"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent="1"] .bar,.ui.indicating.progress[data-percent="2"] .bar,.ui.indicating.progress[data-percent="3"] .bar,.ui.indicating.progress[data-percent="4"] .bar,.ui.indicating.progress[data-percent="5"] .bar,.ui.indicating.progress[data-percent="6"] .bar,.ui.indicating.progress[data-percent="7"] .bar,.ui.indicating.progress[data-percent="8"] .bar,.ui.indicating.progress[data-percent="9"] .bar{background-color:#d95c5c}.ui.indicating.progress[data-percent="1"] .label,.ui.indicating.progress[data-percent="2"] .label,.ui.indicating.progress[data-percent="3"] .label,.ui.indicating.progress[data-percent="4"] .label,.ui.indicating.progress[data-percent="5"] .label,.ui.indicating.progress[data-percent="6"] .label,.ui.indicating.progress[data-percent="7"] .label,.ui.indicating.progress[data-percent="8"] .label,.ui.indicating.progress[data-percent="9"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress.success .label{color:#1a531b}.ui.progress.success .bar{background-color:#21ba45!important}.ui.progress.success .bar,.ui.progress.success .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.success>.label{color:#1a531b}.ui.progress.warning .bar{background-color:#f2c037!important}.ui.progress.warning .bar,.ui.progress.warning .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.warning>.label{color:#794b02}.ui.progress.error .bar{background-color:#db2828!important}.ui.progress.error .bar,.ui.progress.error .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.error>.label{color:#912d2b}.ui.active.progress .bar{position:relative;min-width:2em}.ui.active.progress .bar::after{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:.28571429rem;-webkit-animation:progress-active 2s ease infinite;animation:progress-active 2s ease infinite}@-webkit-keyframes progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}}@keyframes progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}}.ui.disabled.progress{opacity:.35}.ui.disabled.progress .bar,.ui.disabled.progress .bar::after{-webkit-animation:none!important;animation:none!important}.ui.inverted.progress{background:rgba(255,255,255,.08);border:none}.ui.inverted.progress .bar{background:#888}.ui.inverted.progress .bar>.progress{color:#f9fafb}.ui.inverted.progress>.label{color:#fff}.ui.inverted.progress.success>.label{color:#21ba45}.ui.inverted.progress.warning>.label{color:#f2c037}.ui.inverted.progress.error>.label{color:#db2828}.ui.progress.attached{background:0 0;position:relative;border:none;margin:0}.ui.progress.attached,.ui.progress.attached .bar{display:block;height:.2rem;padding:0;overflow:hidden;border-radius:0 0 .28571429rem .28571429rem}.ui.progress.attached .bar{border-radius:0}.ui.progress.top.attached,.ui.progress.top.attached .bar{top:0;border-radius:.28571429rem .28571429rem 0 0}.ui.progress.top.attached .bar{border-radius:0}.ui.card>.ui.attached.progress,.ui.segment>.ui.attached.progress{position:absolute;top:auto;left:0;bottom:100%;width:100%}.ui.card>.ui.bottom.attached.progress,.ui.segment>.ui.bottom.attached.progress{top:100%;bottom:auto}.ui.red.progress .bar{background-color:#db2828}.ui.red.inverted.progress .bar{background-color:#ff695e}.ui.orange.progress .bar{background-color:#f2711c}.ui.orange.inverted.progress .bar{background-color:#ff851b}.ui.yellow.progress .bar{background-color:#fbbd08}.ui.yellow.inverted.progress .bar{background-color:#ffe21f}.ui.olive.progress .bar{background-color:#b5cc18}.ui.olive.inverted.progress .bar{background-color:#d9e778}.ui.green.progress .bar{background-color:#21ba45}.ui.green.inverted.progress .bar{background-color:#2ecc40}.ui.teal.progress .bar{background-color:#00b5ad}.ui.teal.inverted.progress .bar{background-color:#6dffff}.ui.blue.progress .bar{background-color:#2185d0}.ui.blue.inverted.progress .bar{background-color:#54c8ff}.ui.violet.progress .bar{background-color:#6435c9}.ui.violet.inverted.progress .bar{background-color:#a291fb}.ui.purple.progress .bar{background-color:#a333c8}.ui.purple.inverted.progress .bar{background-color:#dc73ff}.ui.pink.progress .bar{background-color:#e03997}.ui.pink.inverted.progress .bar{background-color:#ff8edf}.ui.brown.progress .bar{background-color:#a5673f}.ui.brown.inverted.progress .bar{background-color:#d67c1c}.ui.grey.progress .bar{background-color:#767676}.ui.grey.inverted.progress .bar{background-color:#dcddde}.ui.black.progress .bar{background-color:#1b1c1d}.ui.black.inverted.progress .bar{background-color:#545454}.ui.tiny.progress{font-size:.85714286rem}.ui.tiny.progress .bar{height:.5em}.ui.small.progress{font-size:.92857143rem}.ui.small.progress .bar{height:1em}.ui.progress{font-size:1rem}.ui.progress .bar{height:1.75em}.ui.large.progress{font-size:1.14285714rem}.ui.large.progress .bar{height:2.5em}.ui.big.progress{font-size:1.28571429rem}.ui.big.progress .bar{height:3.5em}/*! - * # Semantic UI 2.4.0 - Rating - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.rating{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;white-space:nowrap;vertical-align:baseline}.ui.rating:last-child{margin-right:0}.ui.rating .icon{padding:0;margin:0;text-align:center;font-weight:400;font-style:normal;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;cursor:pointer;width:1.25em;height:auto;-webkit-transition:opacity .1s ease,background .1s ease,text-shadow .1s ease,color .1s ease;transition:opacity .1s ease,background .1s ease,text-shadow .1s ease,color .1s ease}.ui.rating .icon{background:0 0;color:rgba(0,0,0,.15)}.ui.rating .active.icon{background:0 0;color:rgba(0,0,0,.85)}.ui.rating .icon.selected,.ui.rating .icon.selected.active{background:0 0;color:rgba(0,0,0,.87)}.ui.star.rating .icon{width:1.25em;height:auto;background:0 0;color:rgba(0,0,0,.15);text-shadow:none}.ui.star.rating .active.icon{background:0 0!important;color:#ffe623!important;text-shadow:0 -1px 0 #ddc507,-1px 0 0 #ddc507,0 1px 0 #ddc507,1px 0 0 #ddc507!important}.ui.star.rating .icon.selected,.ui.star.rating .icon.selected.active{background:0 0!important;color:#fc0!important;text-shadow:0 -1px 0 #e6a200,-1px 0 0 #e6a200,0 1px 0 #e6a200,1px 0 0 #e6a200!important}.ui.heart.rating .icon{width:1.4em;height:auto;background:0 0;color:rgba(0,0,0,.15);text-shadow:none!important}.ui.heart.rating .active.icon{background:0 0!important;color:#ff6d75!important;text-shadow:0 -1px 0 #cd0707,-1px 0 0 #cd0707,0 1px 0 #cd0707,1px 0 0 #cd0707!important}.ui.heart.rating .icon.selected,.ui.heart.rating .icon.selected.active{background:0 0!important;color:#ff3000!important;text-shadow:0 -1px 0 #aa0101,-1px 0 0 #aa0101,0 1px 0 #aa0101,1px 0 0 #aa0101!important}.ui.disabled.rating .icon{cursor:default}.ui.rating.selected .active.icon{opacity:1}.ui.rating .icon.selected,.ui.rating.selected .icon.selected{opacity:1}.ui.mini.rating{font-size:.78571429rem}.ui.tiny.rating{font-size:.85714286rem}.ui.small.rating{font-size:.92857143rem}.ui.rating{font-size:1rem}.ui.large.rating{font-size:1.14285714rem}.ui.huge.rating{font-size:1.42857143rem}.ui.massive.rating{font-size:2rem}@font-face{font-family:Rating;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,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kIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOE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) format('woff');font-weight:400;font-style:normal}.ui.rating .icon{font-family:Rating;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.rating .icon:before{content:'\f005'}.ui.rating .active.icon:before{content:'\f005'}.ui.star.rating .icon:before{content:'\f005'}.ui.star.rating .active.icon:before{content:'\f005'}.ui.star.rating .partial.icon:before{content:'\f006'}.ui.star.rating .partial.icon{content:'\f005'}.ui.heart.rating .icon:before{content:'\f004'}.ui.heart.rating .active.icon:before{content:'\f004'}/*! - * # Semantic UI 2.4.0 - Search - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.search{position:relative}.ui.search>.prompt{margin:0;outline:0;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,255,255,0);text-shadow:none;font-style:normal;font-weight:400;line-height:1.21428571em;padding:.67857143em 1em;font-size:1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);-webkit-box-shadow:0 0 0 0 transparent inset;box-shadow:0 0 0 0 transparent inset;-webkit-transition:background-color .1s ease,color .1s ease,border-color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,color .1s ease,border-color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,color .1s ease,box-shadow .1s ease,border-color .1s ease;transition:background-color .1s ease,color .1s ease,box-shadow .1s ease,border-color .1s ease,-webkit-box-shadow .1s ease}.ui.search .prompt{border-radius:500rem}.ui.search .prompt~.search.icon{cursor:pointer}.ui.search>.results{display:none;position:absolute;top:100%;left:0;-webkit-transform-origin:center top;transform-origin:center top;white-space:normal;text-align:left;text-transform:none;background:#fff;margin-top:.5em;width:18em;border-radius:.28571429rem;-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);border:1px solid #d4d4d5;z-index:998}.ui.search>.results>:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.search>.results>:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.search>.results .result{cursor:pointer;display:block;overflow:hidden;font-size:1em;padding:.85714286em 1.14285714em;color:rgba(0,0,0,.87);line-height:1.33;border-bottom:1px solid rgba(34,36,38,.1)}.ui.search>.results .result:last-child{border-bottom:none!important}.ui.search>.results .result .image{float:right;overflow:hidden;background:0 0;width:5em;height:3em;border-radius:.25em}.ui.search>.results .result .image img{display:block;width:auto;height:100%}.ui.search>.results .result .image+.content{margin:0 6em 0 0}.ui.search>.results .result .title{margin:-.14285714em 0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;font-size:1em;color:rgba(0,0,0,.85)}.ui.search>.results .result .description{margin-top:0;font-size:.92857143em;color:rgba(0,0,0,.4)}.ui.search>.results .result .price{float:right;color:#21ba45}.ui.search>.results>.message{padding:1em 1em}.ui.search>.results>.message .header{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1rem;font-weight:700;color:rgba(0,0,0,.87)}.ui.search>.results>.message .description{margin-top:.25rem;font-size:1em;color:rgba(0,0,0,.87)}.ui.search>.results>.action{display:block;border-top:none;background:#f3f4f5;padding:.92857143em 1em;color:rgba(0,0,0,.87);font-weight:700;text-align:center}.ui.search>.prompt:focus{border-color:rgba(34,36,38,.35);background:#fff;color:rgba(0,0,0,.95)}.ui.loading.search .input>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.search .input>i.icon:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}.ui.category.search>.results .category .result:hover,.ui.search>.results .result:hover{background:#f9fafb}.ui.search .action:hover{background:#e0e0e0}.ui.category.search>.results .category.active{background:#f3f4f5}.ui.category.search>.results .category.active>.name{color:rgba(0,0,0,.87)}.ui.category.search>.results .category .result.active,.ui.search>.results .result.active{position:relative;border-left-color:rgba(34,36,38,.1);background:#f3f4f5;-webkit-box-shadow:none;box-shadow:none}.ui.search>.results .result.active .title{color:rgba(0,0,0,.85)}.ui.search>.results .result.active .description{color:rgba(0,0,0,.85)}.ui.disabled.search{cursor:default;pointer-events:none;opacity:.45}.ui.search.selection .prompt{border-radius:.28571429rem}.ui.search.selection>.icon.input>.remove.icon{pointer-events:none;position:absolute;left:auto;opacity:0;color:'';top:0;right:0;-webkit-transition:color .1s ease,opacity .1s ease;transition:color .1s ease,opacity .1s ease}.ui.search.selection>.icon.input>.active.remove.icon{cursor:pointer;opacity:.8;pointer-events:auto}.ui.search.selection>.icon.input:not([class*="left icon"])>.icon~.remove.icon{right:1.85714em}.ui.search.selection>.icon.input>.remove.icon:hover{opacity:1;color:#db2828}.ui.category.search .results{width:28em}.ui.category.search .results.animating,.ui.category.search .results.visible{display:table}.ui.category.search>.results .category{display:table-row;background:#f3f4f5;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:background .1s ease,border-color .1s ease;transition:background .1s ease,border-color .1s ease}.ui.category.search>.results .category:last-child{border-bottom:none}.ui.category.search>.results .category:first-child .name+.result{border-radius:0 .28571429rem 0 0}.ui.category.search>.results .category:last-child .result:last-child{border-radius:0 0 .28571429rem 0}.ui.category.search>.results .category>.name{display:table-cell;text-overflow:ellipsis;width:100px;white-space:nowrap;background:0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;padding:.4em 1em;font-weight:700;color:rgba(0,0,0,.4);border-bottom:1px solid rgba(34,36,38,.1)}.ui.category.search>.results .category .results{display:table-cell;background:#fff;border-left:1px solid rgba(34,36,38,.15);border-bottom:1px solid rgba(34,36,38,.1)}.ui.category.search>.results .category .result{border-bottom:1px solid rgba(34,36,38,.1);-webkit-transition:background .1s ease,border-color .1s ease;transition:background .1s ease,border-color .1s ease;padding:.85714286em 1.14285714em}.ui[class*="left aligned"].search>.results{right:auto;left:0}.ui[class*="right aligned"].search>.results{right:0;left:auto}.ui.fluid.search .results{width:100%}.ui.mini.search{font-size:.78571429em}.ui.small.search{font-size:.92857143em}.ui.search{font-size:1em}.ui.large.search{font-size:1.14285714em}.ui.big.search{font-size:1.28571429em}.ui.huge.search{font-size:1.42857143em}.ui.massive.search{font-size:1.71428571em}@media only screen and (max-width:767px){.ui.search .results{max-width:calc(100vw - 2rem)}}/*! - * # Semantic UI 2.4.0 - Shape - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.shape{position:relative;vertical-align:top;display:inline-block;-webkit-perspective:2000px;perspective:2000px;-webkit-transition:left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out;transition:left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out}.ui.shape .sides{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.ui.shape .side{opacity:1;width:100%;margin:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ui.shape .side{display:none}.ui.shape .side *{-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.ui.cube.shape .side{min-width:15em;height:15em;padding:2em;background-color:#e6e6e6;color:rgba(0,0,0,.87);-webkit-box-shadow:0 0 2px rgba(0,0,0,.3);box-shadow:0 0 2px rgba(0,0,0,.3)}.ui.cube.shape .side>.content{width:100%;height:100%;display:table;text-align:center;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.cube.shape .side>.content>div{display:table-cell;vertical-align:middle;font-size:2em}.ui.text.shape.animating .sides{position:static}.ui.text.shape .side{white-space:nowrap}.ui.text.shape .side>*{white-space:normal}.ui.loading.shape{position:absolute;top:-9999px;left:-9999px}.ui.shape .animating.side{position:absolute;top:0;left:0;display:block;z-index:100}.ui.shape .hidden.side{opacity:.6}.ui.shape.animating .sides{position:absolute}.ui.shape.animating .sides{-webkit-transition:left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out;transition:left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out}.ui.shape.animating .side{-webkit-transition:opacity .6s ease-in-out;transition:opacity .6s ease-in-out}.ui.shape .active.side{display:block}/*! - * # Semantic UI 2.4.0 - Sidebar - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.sidebar{position:fixed;top:0;left:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:none;transition:none;will-change:transform;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;-webkit-overflow-scrolling:touch;height:100%!important;max-height:100%;border-radius:0!important;margin:0!important;overflow-y:auto!important;z-index:102}.ui.sidebar>*{-webkit-backface-visibility:hidden;backface-visibility:hidden}.ui.left.sidebar{right:auto;left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.sidebar{right:0!important;left:auto!important;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.bottom.sidebar,.ui.top.sidebar{width:100%!important;height:auto!important}.ui.top.sidebar{top:0!important;bottom:auto!important;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.sidebar{top:auto!important;bottom:0!important;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.pushable{height:100%;overflow-x:hidden;padding:0!important}body.pushable{background:#545454!important}.pushable:not(body){-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.pushable:not(body)>.fixed,.pushable:not(body)>.pusher:after,.pushable:not(body)>.ui.sidebar{position:absolute}.pushable>.fixed{position:fixed;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;will-change:transform;z-index:101}.pushable>.pusher{position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;min-height:100%;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;z-index:2}body.pushable>.pusher{background:#fff}.pushable>.pusher{background:inherit}.pushable>.pusher:after{position:fixed;top:0;right:0;content:'';background-color:rgba(0,0,0,.4);overflow:hidden;opacity:0;-webkit-transition:opacity .5s;transition:opacity .5s;will-change:opacity;z-index:1000}.ui.sidebar.menu .item{border-radius:0!important}.pushable>.pusher.dimmed:after{width:100%!important;height:100%!important;opacity:1!important}.ui.animating.sidebar{visibility:visible}.ui.visible.sidebar{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.left.visible.sidebar,.ui.right.visible.sidebar{-webkit-box-shadow:0 0 20px rgba(34,36,38,.15);box-shadow:0 0 20px rgba(34,36,38,.15)}.ui.bottom.visible.sidebar,.ui.top.visible.sidebar{-webkit-box-shadow:0 0 20px rgba(34,36,38,.15);box-shadow:0 0 20px rgba(34,36,38,.15)}.ui.visible.left.sidebar~.fixed,.ui.visible.left.sidebar~.pusher{-webkit-transform:translate3d(260px,0,0);transform:translate3d(260px,0,0)}.ui.visible.right.sidebar~.fixed,.ui.visible.right.sidebar~.pusher{-webkit-transform:translate3d(-260px,0,0);transform:translate3d(-260px,0,0)}.ui.visible.top.sidebar~.fixed,.ui.visible.top.sidebar~.pusher{-webkit-transform:translate3d(0,36px,0);transform:translate3d(0,36px,0)}.ui.visible.bottom.sidebar~.fixed,.ui.visible.bottom.sidebar~.pusher{-webkit-transform:translate3d(0,-36px,0);transform:translate3d(0,-36px,0)}.ui.visible.left.sidebar~.ui.visible.right.sidebar~.fixed,.ui.visible.left.sidebar~.ui.visible.right.sidebar~.pusher,.ui.visible.right.sidebar~.ui.visible.left.sidebar~.fixed,.ui.visible.right.sidebar~.ui.visible.left.sidebar~.pusher{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.thin.left.sidebar,.ui.thin.right.sidebar{width:150px}.ui[class*="very thin"].left.sidebar,.ui[class*="very thin"].right.sidebar{width:60px}.ui.left.sidebar,.ui.right.sidebar{width:260px}.ui.wide.left.sidebar,.ui.wide.right.sidebar{width:350px}.ui[class*="very wide"].left.sidebar,.ui[class*="very wide"].right.sidebar{width:475px}.ui.visible.thin.left.sidebar~.fixed,.ui.visible.thin.left.sidebar~.pusher{-webkit-transform:translate3d(150px,0,0);transform:translate3d(150px,0,0)}.ui.visible[class*="very thin"].left.sidebar~.fixed,.ui.visible[class*="very thin"].left.sidebar~.pusher{-webkit-transform:translate3d(60px,0,0);transform:translate3d(60px,0,0)}.ui.visible.wide.left.sidebar~.fixed,.ui.visible.wide.left.sidebar~.pusher{-webkit-transform:translate3d(350px,0,0);transform:translate3d(350px,0,0)}.ui.visible[class*="very wide"].left.sidebar~.fixed,.ui.visible[class*="very wide"].left.sidebar~.pusher{-webkit-transform:translate3d(475px,0,0);transform:translate3d(475px,0,0)}.ui.visible.thin.right.sidebar~.fixed,.ui.visible.thin.right.sidebar~.pusher{-webkit-transform:translate3d(-150px,0,0);transform:translate3d(-150px,0,0)}.ui.visible[class*="very thin"].right.sidebar~.fixed,.ui.visible[class*="very thin"].right.sidebar~.pusher{-webkit-transform:translate3d(-60px,0,0);transform:translate3d(-60px,0,0)}.ui.visible.wide.right.sidebar~.fixed,.ui.visible.wide.right.sidebar~.pusher{-webkit-transform:translate3d(-350px,0,0);transform:translate3d(-350px,0,0)}.ui.visible[class*="very wide"].right.sidebar~.fixed,.ui.visible[class*="very wide"].right.sidebar~.pusher{-webkit-transform:translate3d(-475px,0,0);transform:translate3d(-475px,0,0)}.ui.overlay.sidebar{z-index:102}.ui.left.overlay.sidebar{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.overlay.sidebar{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.top.overlay.sidebar{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.overlay.sidebar{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.animating.ui.overlay.sidebar,.ui.visible.overlay.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.ui.visible.left.overlay.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.right.overlay.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.top.overlay.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.bottom.overlay.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.overlay.sidebar~.fixed,.ui.visible.overlay.sidebar~.pusher{-webkit-transform:none!important;transform:none!important}.ui.push.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;z-index:102}.ui.left.push.sidebar{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.push.sidebar{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.top.push.sidebar{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.push.sidebar{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.ui.visible.push.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.uncover.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:1}.ui.visible.uncover.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.ui.slide.along.sidebar{z-index:1}.ui.left.slide.along.sidebar{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.ui.right.slide.along.sidebar{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}.ui.top.slide.along.sidebar{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.ui.bottom.slide.along.sidebar{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}.ui.animating.slide.along.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.ui.visible.slide.along.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.slide.out.sidebar{z-index:1}.ui.left.slide.out.sidebar{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}.ui.right.slide.out.sidebar{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.ui.top.slide.out.sidebar{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}.ui.bottom.slide.out.sidebar{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.ui.animating.slide.out.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.ui.visible.slide.out.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.scale.down.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;z-index:102}.ui.left.scale.down.sidebar{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.scale.down.sidebar{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.top.scale.down.sidebar{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.scale.down.sidebar{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.ui.scale.down.left.sidebar~.pusher{-webkit-transform-origin:75% 50%;transform-origin:75% 50%}.ui.scale.down.right.sidebar~.pusher{-webkit-transform-origin:25% 50%;transform-origin:25% 50%}.ui.scale.down.top.sidebar~.pusher{-webkit-transform-origin:50% 75%;transform-origin:50% 75%}.ui.scale.down.bottom.sidebar~.pusher{-webkit-transform-origin:50% 25%;transform-origin:50% 25%}.ui.animating.scale.down>.visible.ui.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.ui.animating.scale.down.sidebar~.pusher,.ui.visible.scale.down.sidebar~.pusher{display:block!important;width:100%;height:100%;overflow:hidden!important}.ui.visible.scale.down.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.scale.down.sidebar~.pusher{-webkit-transform:scale(.75);transform:scale(.75)}/*! - * # Semantic UI 2.4.0 - Sticky - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.sticky{position:static;-webkit-transition:none;transition:none;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky}/*! - * # Semantic UI 2.4.0 - Tab - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment:before,.ui.tab.loading:before{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment:after,.ui.tab.loading:after{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}/*! - * # Semantic UI 2.4.0 - Transition - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.transition{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease;animation-timing-function:ease;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animating.transition{-webkit-backface-visibility:hidden;backface-visibility:hidden;visibility:visible!important}.loading.transition{position:absolute;top:-99999px;left:-99999px}.hidden.transition{display:none;visibility:hidden}.visible.transition{display:block!important;visibility:visible!important}.disabled.transition{-webkit-animation-play-state:paused;animation-play-state:paused}.looping.transition{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.transition.browse{-webkit-animation-duration:.5s;animation-duration:.5s}.transition.browse.in{-webkit-animation-name:browseIn;animation-name:browseIn}.transition.browse.left.out,.transition.browse.out{-webkit-animation-name:browseOutLeft;animation-name:browseOutLeft}.transition.browse.right.out{-webkit-animation-name:browseOutRight;animation-name:browseOutRight}@-webkit-keyframes browseIn{0%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1}10%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1;opacity:.7}80%{-webkit-transform:scale(1.05) translateZ(0);transform:scale(1.05) translateZ(0);opacity:1;z-index:999}100%{-webkit-transform:scale(1) translateZ(0);transform:scale(1) translateZ(0);z-index:999}}@keyframes browseIn{0%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1}10%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1;opacity:.7}80%{-webkit-transform:scale(1.05) translateZ(0);transform:scale(1.05) translateZ(0);opacity:1;z-index:999}100%{-webkit-transform:scale(1) translateZ(0);transform:scale(1) translateZ(0);z-index:999}}@-webkit-keyframes browseOutLeft{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:-1;-webkit-transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:-1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@keyframes browseOutLeft{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:-1;-webkit-transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:-1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@-webkit-keyframes browseOutRight{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:1;-webkit-transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@keyframes browseOutRight{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:1;-webkit-transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}.drop.transition{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-timing-function:cubic-bezier(.34,1.61,.7,1);animation-timing-function:cubic-bezier(.34,1.61,.7,1)}.drop.transition.in{-webkit-animation-name:dropIn;animation-name:dropIn}.drop.transition.out{-webkit-animation-name:dropOut;animation-name:dropOut}@-webkit-keyframes dropIn{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes dropIn{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes dropOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes dropOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}.transition.fade.in{-webkit-animation-name:fadeIn;animation-name:fadeIn}.transition[class*="fade up"].in{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}.transition[class*="fade down"].in{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.transition[class*="fade left"].in{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}.transition[class*="fade right"].in{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}.transition.fade.out{-webkit-animation-name:fadeOut;animation-name:fadeOut}.transition[class*="fade up"].out{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.transition[class*="fade down"].out{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}.transition[class*="fade left"].out{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}.transition[class*="fade right"].out{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(10%);transform:translateY(10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(10%);transform:translateY(10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-10%);transform:translateY(-10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-10%);transform:translateY(-10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(10%);transform:translateX(10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(10%);transform:translateX(10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(-10%);transform:translateX(-10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(-10%);transform:translateX(-10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(5%);transform:translateY(5%)}}@keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(5%);transform:translateY(5%)}}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-5%);transform:translateY(-5%)}}@keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-5%);transform:translateY(-5%)}}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(5%);transform:translateX(5%)}}@keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(5%);transform:translateX(5%)}}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-5%);transform:translateX(-5%)}}@keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-5%);transform:translateX(-5%)}}.flip.transition.in,.flip.transition.out{-webkit-animation-duration:.6s;animation-duration:.6s}.horizontal.flip.transition.in{-webkit-animation-name:horizontalFlipIn;animation-name:horizontalFlipIn}.horizontal.flip.transition.out{-webkit-animation-name:horizontalFlipOut;animation-name:horizontalFlipOut}.vertical.flip.transition.in{-webkit-animation-name:verticalFlipIn;animation-name:verticalFlipIn}.vertical.flip.transition.out{-webkit-animation-name:verticalFlipOut;animation-name:verticalFlipOut}@-webkit-keyframes horizontalFlipIn{0%{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}}@keyframes horizontalFlipIn{0%{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}}@-webkit-keyframes verticalFlipIn{0%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}}@keyframes verticalFlipIn{0%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}}@-webkit-keyframes horizontalFlipOut{0%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}}@keyframes horizontalFlipOut{0%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}}@-webkit-keyframes verticalFlipOut{0%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}}@keyframes verticalFlipOut{0%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}}.scale.transition.in{-webkit-animation-name:scaleIn;animation-name:scaleIn}.scale.transition.out{-webkit-animation-name:scaleOut;animation-name:scaleOut}@-webkit-keyframes scaleIn{0%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes scaleIn{0%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes scaleOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(.9);transform:scale(.9)}}@keyframes scaleOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(.9);transform:scale(.9)}}.transition.fly{-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.transition.fly.in{-webkit-animation-name:flyIn;animation-name:flyIn}.transition[class*="fly up"].in{-webkit-animation-name:flyInUp;animation-name:flyInUp}.transition[class*="fly down"].in{-webkit-animation-name:flyInDown;animation-name:flyInDown}.transition[class*="fly left"].in{-webkit-animation-name:flyInLeft;animation-name:flyInLeft}.transition[class*="fly right"].in{-webkit-animation-name:flyInRight;animation-name:flyInRight}.transition.fly.out{-webkit-animation-name:flyOut;animation-name:flyOut}.transition[class*="fly up"].out{-webkit-animation-name:flyOutUp;animation-name:flyOutUp}.transition[class*="fly down"].out{-webkit-animation-name:flyOutDown;animation-name:flyOutDown}.transition[class*="fly left"].out{-webkit-animation-name:flyOutLeft;animation-name:flyOutLeft}.transition[class*="fly right"].out{-webkit-animation-name:flyOutRight;animation-name:flyOutRight}@-webkit-keyframes flyIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes flyIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes flyInUp{0%{opacity:0;-webkit-transform:translate3d(0,1500px,0);transform:translate3d(0,1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes flyInUp{0%{opacity:0;-webkit-transform:translate3d(0,1500px,0);transform:translate3d(0,1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes flyInDown{0%{opacity:0;-webkit-transform:translate3d(0,-1500px,0);transform:translate3d(0,-1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@keyframes flyInDown{0%{opacity:0;-webkit-transform:translate3d(0,-1500px,0);transform:translate3d(0,-1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@-webkit-keyframes flyInLeft{0%{opacity:0;-webkit-transform:translate3d(1500px,0,0);transform:translate3d(1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes flyInLeft{0%{opacity:0;-webkit-transform:translate3d(1500px,0,0);transform:translate3d(1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@-webkit-keyframes flyInRight{0%{opacity:0;-webkit-transform:translate3d(-1500px,0,0);transform:translate3d(-1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes flyInRight{0%{opacity:0;-webkit-transform:translate3d(-1500px,0,0);transform:translate3d(-1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@-webkit-keyframes flyOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes flyOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@-webkit-keyframes flyOutUp{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes flyOutUp{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@-webkit-keyframes flyOutDown{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes flyOutDown{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@-webkit-keyframes flyOutRight{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes flyOutRight{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@-webkit-keyframes flyOutLeft{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes flyOutLeft{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.transition.slide.in,.transition[class*="slide down"].in{-webkit-animation-name:slideInY;animation-name:slideInY;-webkit-transform-origin:top center;transform-origin:top center}.transition[class*="slide up"].in{-webkit-animation-name:slideInY;animation-name:slideInY;-webkit-transform-origin:bottom center;transform-origin:bottom center}.transition[class*="slide left"].in{-webkit-animation-name:slideInX;animation-name:slideInX;-webkit-transform-origin:center right;transform-origin:center right}.transition[class*="slide right"].in{-webkit-animation-name:slideInX;animation-name:slideInX;-webkit-transform-origin:center left;transform-origin:center left}.transition.slide.out,.transition[class*="slide down"].out{-webkit-animation-name:slideOutY;animation-name:slideOutY;-webkit-transform-origin:top center;transform-origin:top center}.transition[class*="slide up"].out{-webkit-animation-name:slideOutY;animation-name:slideOutY;-webkit-transform-origin:bottom center;transform-origin:bottom center}.transition[class*="slide left"].out{-webkit-animation-name:slideOutX;animation-name:slideOutX;-webkit-transform-origin:center right;transform-origin:center right}.transition[class*="slide right"].out{-webkit-animation-name:slideOutX;animation-name:slideOutX;-webkit-transform-origin:center left;transform-origin:center left}@-webkit-keyframes slideInY{0%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}100%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes slideInY{0%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}100%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}}@-webkit-keyframes slideInX{0%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}100%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes slideInX{0%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}100%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@-webkit-keyframes slideOutY{0%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}100%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}}@keyframes slideOutY{0%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}100%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}}@-webkit-keyframes slideOutX{0%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}100%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}}@keyframes slideOutX{0%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}100%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}}.transition.swing{-webkit-animation-duration:.8s;animation-duration:.8s}.transition[class*="swing down"].in{-webkit-animation-name:swingInX;animation-name:swingInX;-webkit-transform-origin:top center;transform-origin:top center}.transition[class*="swing up"].in{-webkit-animation-name:swingInX;animation-name:swingInX;-webkit-transform-origin:bottom center;transform-origin:bottom center}.transition[class*="swing left"].in{-webkit-animation-name:swingInY;animation-name:swingInY;-webkit-transform-origin:center right;transform-origin:center right}.transition[class*="swing right"].in{-webkit-animation-name:swingInY;animation-name:swingInY;-webkit-transform-origin:center left;transform-origin:center left}.transition.swing.out,.transition[class*="swing down"].out{-webkit-animation-name:swingOutX;animation-name:swingOutX;-webkit-transform-origin:top center;transform-origin:top center}.transition[class*="swing up"].out{-webkit-animation-name:swingOutX;animation-name:swingOutX;-webkit-transform-origin:bottom center;transform-origin:bottom center}.transition[class*="swing left"].out{-webkit-animation-name:swingOutY;animation-name:swingOutY;-webkit-transform-origin:center right;transform-origin:center right}.transition[class*="swing right"].out{-webkit-animation-name:swingOutY;animation-name:swingOutY;-webkit-transform-origin:center left;transform-origin:center left}@-webkit-keyframes swingInX{0%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateX(15deg);transform:perspective(1000px) rotateX(15deg)}80%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}100%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}}@keyframes swingInX{0%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateX(15deg);transform:perspective(1000px) rotateX(15deg)}80%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}100%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}}@-webkit-keyframes swingInY{0%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateY(-17.5deg);transform:perspective(1000px) rotateY(-17.5deg)}80%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}100%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}}@keyframes swingInY{0%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateY(-17.5deg);transform:perspective(1000px) rotateY(-17.5deg)}80%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}100%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}}@-webkit-keyframes swingOutX{0%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}40%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}60%{-webkit-transform:perspective(1000px) rotateX(17.5deg);transform:perspective(1000px) rotateX(17.5deg)}80%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}}@keyframes swingOutX{0%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}40%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}60%{-webkit-transform:perspective(1000px) rotateX(17.5deg);transform:perspective(1000px) rotateX(17.5deg)}80%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}}@-webkit-keyframes swingOutY{0%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}40%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}60%{-webkit-transform:perspective(1000px) rotateY(-10deg);transform:perspective(1000px) rotateY(-10deg)}80%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}}@keyframes swingOutY{0%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}40%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}60%{-webkit-transform:perspective(1000px) rotateY(-10deg);transform:perspective(1000px) rotateY(-10deg)}80%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}}.transition.zoom.in{-webkit-animation-name:zoomIn;animation-name:zoomIn}.transition.zoom.out{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomIn{0%{opacity:1;-webkit-transform:scale(0);transform:scale(0)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes zoomIn{0%{opacity:1;-webkit-transform:scale(0);transform:scale(0)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:1;-webkit-transform:scale(0);transform:scale(0)}}@keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:1;-webkit-transform:scale(0);transform:scale(0)}}.flash.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:flash;animation-name:flash}.shake.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:shake;animation-name:shake}.bounce.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:bounce;animation-name:bounce}.tada.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:tada;animation-name:tada}.pulse.transition{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-name:pulse;animation-name:pulse}.jiggle.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:jiggle;animation-name:jiggle}.transition.glow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:cubic-bezier(.19,1,.22,1);animation-timing-function:cubic-bezier(.19,1,.22,1)}.transition.glow{-webkit-animation-name:glow;animation-name:glow}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@-webkit-keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@-webkit-keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(.9) rotate(-3deg);transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(.9) rotate(-3deg);transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(.9);transform:scale(.9);opacity:.7}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(.9);transform:scale(.9);opacity:.7}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes jiggle{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes jiggle{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes glow{0%{background-color:#fcfcfd}30%{background-color:#fff6cd}100%{background-color:#fcfcfd}}@keyframes glow{0%{background-color:#fcfcfd}30%{background-color:#fff6cd}100%{background-color:#fcfcfd}} \ No newline at end of file diff --git a/ui/v1/src/assets/themes/default/assets/fonts/brand-icons.eot b/ui/v1/src/assets/themes/default/assets/fonts/brand-icons.eot deleted file mode 100755 index 0a1ef3f7ec16d6686bea362f2e41247b813e6d40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98640 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

2LiaYv-Uxv|O@DH|N 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 QJc-es8x7q@(^>BS0Q4)MCjbBd diff --git a/ui/v1/src/assets/themes/default/assets/fonts/brand-icons.svg b/ui/v1/src/assets/themes/default/assets/fonts/brand-icons.svg deleted file mode 100755 index 4c237533e..000000000 --- a/ui/v1/src/assets/themes/default/assets/fonts/brand-icons.svg +++ /dev/null @@ -1,1008 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ui/v1/src/assets/themes/default/assets/fonts/brand-icons.ttf b/ui/v1/src/assets/themes/default/assets/fonts/brand-icons.ttf deleted file mode 100755 index f99085132dc78365412a4f395cd886fb1a3b69eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98404 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 PvoiK&B4Ws6*Wv#Fi@o?r diff --git a/ui/v1/src/assets/themes/default/assets/fonts/icons.otf b/ui/v1/src/assets/themes/default/assets/fonts/icons.otf deleted file mode 100755 index f7936cc1e789eea5438d576d6b12de20191da09d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93888 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 z -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 E0UHWiZ2$lO diff --git a/ui/v1/src/assets/themes/default/assets/fonts/icons.svg b/ui/v1/src/assets/themes/default/assets/fonts/icons.svg deleted file mode 100755 index 0ae8e3298..000000000 --- a/ui/v1/src/assets/themes/default/assets/fonts/icons.svg +++ /dev/null @@ -1,1518 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ui/v1/src/assets/themes/default/assets/fonts/icons.ttf b/ui/v1/src/assets/themes/default/assets/fonts/icons.ttf deleted file mode 100755 index 17bb6747a599c59238e88924d3f50b2911adeeea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105784 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 QpjjFFG7&N4vFq@^0RWZWBLDyZ diff --git a/ui/v1/src/assets/themes/default/assets/fonts/icons.woff b/ui/v1/src/assets/themes/default/assets/fonts/icons.woff deleted file mode 100755 index 4cf2a4fee4bdc1938f9e6b35a747c93a86e00fef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50524 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 CUpr|4 diff --git a/ui/v1/src/assets/themes/default/assets/fonts/icons.woff2 b/ui/v1/src/assets/themes/default/assets/fonts/icons.woff2 deleted file mode 100755 index eea9aa228137c5d178a22f785828ff4a867ea92e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40148 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 diff --git a/ui/v1/src/assets/themes/default/assets/fonts/outline-icons.eot b/ui/v1/src/assets/themes/default/assets/fonts/outline-icons.eot deleted file mode 100755 index cda0a84cfb15713ff11a77882a5af6cd68f6af42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31156 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 Vetq&ZzjmtkLF*Q0=ckD7|GxpupZfp+ diff --git a/ui/v1/src/assets/themes/default/assets/fonts/outline-icons.svg b/ui/v1/src/assets/themes/default/assets/fonts/outline-icons.svg deleted file mode 100755 index 2875252ef..000000000 --- a/ui/v1/src/assets/themes/default/assets/fonts/outline-icons.svg +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ui/v1/src/assets/themes/default/assets/fonts/outline-icons.ttf b/ui/v1/src/assets/themes/default/assets/fonts/outline-icons.ttf deleted file mode 100755 index ee13f848ecc459afad72db6feaaef367cabdc63f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30928 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 diff --git a/ui/v1/src/assets/themes/default/assets/fonts/outline-icons.woff2 b/ui/v1/src/assets/themes/default/assets/fonts/outline-icons.woff2 deleted file mode 100755 index 35cc7b3b7aca3106b44e3cf7d5784d6d329277d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12240 zcmV;>FE7w{Pew8T0RR91058x03jhEB0C>;<055$20RR9100000000000000000000 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 diff --git a/ui/v1/src/assets/themes/default/assets/images/flags.png b/ui/v1/src/assets/themes/default/assets/images/flags.png deleted file mode 100755 index cdd33c3bc609a91ff492fa352d835bc65de6eb9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28123 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 szvps9ukhz5h*B>3w`t1c9~9oX)@<@)c diff --git a/ui/v1/src/browserslist b/ui/v1/src/browserslist deleted file mode 100644 index 8e09ab492..000000000 --- a/ui/v1/src/browserslist +++ /dev/null @@ -1,9 +0,0 @@ -# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries -# For IE 9-11 support, please uncomment the last line of the file and adjust as needed -> 0.5% -last 2 versions -Firefox ESR -not dead -# IE 9-11 \ No newline at end of file diff --git a/ui/v1/src/environments/environment.prod.ts b/ui/v1/src/environments/environment.prod.ts deleted file mode 100644 index 3612073bc..000000000 --- a/ui/v1/src/environments/environment.prod.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const environment = { - production: true -}; diff --git a/ui/v1/src/environments/environment.ts b/ui/v1/src/environments/environment.ts deleted file mode 100644 index 012182efa..000000000 --- a/ui/v1/src/environments/environment.ts +++ /dev/null @@ -1,15 +0,0 @@ -// This file can be replaced during build by using the `fileReplacements` array. -// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`. -// The list of file replacements can be found in `angular.json`. - -export const environment = { - production: false -}; - -/* - * In development mode, to ignore zone related error stack frames such as - * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can - * import the following file, but please comment it out in production mode - * because it will have performance impact when throw error - */ -// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/ui/v1/src/favicon.ico b/ui/v1/src/favicon.ico deleted file mode 100644 index 6ff0465ca7c341d7b47feea0afeefe1ef90dcc08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3134 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 Jj}UIx{sZ4llMw&_ diff --git a/ui/v1/src/index.html b/ui/v1/src/index.html deleted file mode 100644 index 31c47da5f..000000000 --- a/ui/v1/src/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - StashFrontend - - - - - - - - - - - - - diff --git a/ui/v1/src/main.ts b/ui/v1/src/main.ts deleted file mode 100644 index 91ec6da5f..000000000 --- a/ui/v1/src/main.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { enableProdMode } from '@angular/core'; -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - -import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; - -if (environment.production) { - enableProdMode(); -} - -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.log(err)); diff --git a/ui/v1/src/polyfills.ts b/ui/v1/src/polyfills.ts deleted file mode 100644 index d310405a6..000000000 --- a/ui/v1/src/polyfills.ts +++ /dev/null @@ -1,80 +0,0 @@ -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html - */ - -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - -/** IE9, IE10 and IE11 requires all of the following polyfills. **/ -// import 'core-js/es6/symbol'; -// import 'core-js/es6/object'; -// import 'core-js/es6/function'; -// import 'core-js/es6/parse-int'; -// import 'core-js/es6/parse-float'; -// import 'core-js/es6/number'; -// import 'core-js/es6/math'; -// import 'core-js/es6/string'; -// import 'core-js/es6/date'; -// import 'core-js/es6/array'; -// import 'core-js/es6/regexp'; -// import 'core-js/es6/map'; -// import 'core-js/es6/weak-map'; -// import 'core-js/es6/set'; - -/** IE10 and IE11 requires the following for NgClass support on SVG elements */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. - -/** IE10 and IE11 requires the following for the Reflect API. */ -// import 'core-js/es6/reflect'; - - -/** Evergreen browsers require these. **/ -// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. -import 'core-js/es7/reflect'; - - -/** - * Web Animations `@angular/platform-browser/animations` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - **/ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. - -/** - * By default, zone.js will patch all possible macroTask and DomEvents - * user can disable parts of macroTask/DomEvents patch by setting following flags - */ - - // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame - // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick - // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames - - /* - * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js - * with the following flag, it will bypass `zone.js` patch for IE/Edge - */ -// (window as any).__Zone_enable_cross_context_check = true; - -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js/dist/zone'; // Included with Angular CLI. - - - -/*************************************************************************************************** - * APPLICATION IMPORTS - */ diff --git a/ui/v1/src/styles.scss b/ui/v1/src/styles.scss deleted file mode 100644 index 8dd232c1f..000000000 --- a/ui/v1/src/styles.scss +++ /dev/null @@ -1,432 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ - -/* TODO */ -.ui.progress .bar { - display: none !important; -} - -body { - background-color: #000000; -} - -.ui.inverted.form input { - background: #333 !important; - color: #FFF !important; -} - -.ui.selection.dropdown { - background: #333; - color: #FFF; -} - -.ui.selection.dropdown .menu > .item { - border-top: 1px solid #555; - background: #333; - color: #FFF; -} - -.simple-modal-container { - position: fixed; - width: 80%; - height: 80%; - top: 15%; - left: 10%; - z-index: 1000; - background: white; - border-radius: 10px; - box-shadow: 1px 1px 10px #333; -} -.simple-modal-container.small { - width: 50%; - height: 80%; - left: 25%; -} - -.simple-modal-content { - overflow-y: scroll; - margin: 20px; - position: absolute; - bottom: 0; - top: 0; - left: 0; - right: 0; - padding: 0 10px; -} - -.ui.popup { - max-width: 350px !important; -} - -.bold { - font-weight: bold; -} - -.main.container { - margin-top: 5em; - margin-bottom: 2em; -} - -#main-pagination pagination-template { - margin: 2em 0 1em 0; -} - -.pre { - white-space: pre-line; -} - -.previewable { - line-height: 0; - overflow: hidden; -} - -video.preview { - width: 100%; - /*height: 200px;*/ - object-fit: cover; -} - -.wall-overlay { - background-color: rgba(0,0,0,.8); - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 1; - pointer-events: none; - transition: transform .5s ease-in-out; -} -.visible { - opacity: 1; - transition: opacity .5s ease-in-out; -} -.hidden { - opacity: 0; - transition: opacity .5s ease-in-out; -} -.visible-unanimated { - opacity: 1; -} -.hidden-unanimated { - opacity: 0; -} - -.double-scale { - position: absolute; - z-index: 2; - transform: scale(2); - background-color: black; -} - -.double-scale img { - opacity: 0; -} - -.scene-wall-item-container { - display: flex; - justify-content: center; - align-items: center; - overflow: hidden; - position: relative; - width: 100%; - height: 100%; - transition: transform .5s; -} - -.scene-wall-item-container video { - position: absolute; - width: 100%; - height: 100%; - z-index: -1; -} - -.scene-wall-item-text-container { - position: absolute; - height: 20px; - width: 100%; - bottom: 0; - background: linear-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.65)); - overflow: hidden; -} - -.scene-wall-item-text-container span { - text-align: center; - bottom: 50%; - position: absolute; - width: 100%; - font-weight: 900; - font-size: small; -} - -.scene-wall-item-blur { - position: absolute; - top: -5px; - left: -5px; - right: -5px; - bottom: -5px; - /*background-color: rgba(255, 255, 255, 0.75);*/ - /*backdrop-filter: blur(5px);*/ - z-index: -1; -} - -/* The first and last rows (excluding the corners) */ -.wall.column:nth-last-child(n+2):nth-last-child(-n+4):not(:nth-child(5n+6)):not(:nth-child(5n+0)) div { transform-origin: bottom; } -.wall.column:nth-child(n+2):nth-child(-n+4):not(:nth-child(5n+6)):not(:nth-child(5n+0)) div { transform-origin: top; } -/* The middle */ -.wall.column:nth-child(5n+0) div { transform-origin: center right; } -.wall.column:nth-child(5n+6) div { transform-origin: center left; } -/* The bottom left and bottom right corners */ -.wall.column:nth-last-child(1):nth-child(5n+0) div { transform-origin: bottom right; } -.wall.column:nth-last-child(5):nth-child(5n+6) div { transform-origin: bottom left; } -/* The top left and top right corners */ -.wall.column:nth-child(5) div { transform-origin: top right !important; } -.wall.column:nth-child(1) div { transform-origin: top left !important; } - -video.wall.item, img.wall.item { - width: 100%; - height: 100%; - object-fit: cover; -} - -.wall.column { - padding: 0 !important; - line-height: 0; -} - -.wall.grid { - position: absolute; - left: 0; - right: 0; - top: 45px; - bottom: 0; -} - -.wall .grid { - margin: 0; -} - -.performer.image { - height: 450px; - background-size: cover !important; - background-position: center !important; - background-repeat: no-repeat !important; -} - -@media only screen and (min-width: 1920px) { - .performer.image { - height: 650px; - } -} - -.studio.image { - height: 100px; - background-size: contain !important; - background-position: center !important; - background-repeat: no-repeat !important; -} - -.gallery.image { - height: 450px; - background-size: cover !important; - background-position: center !important; - background-repeat: no-repeat !important; -} - -.gallery.small.image { - height: 200px; - background-size: cover !important; - background-position: center !important; - background-repeat: no-repeat !important; -} - -.glass { - position: absolute; - left: -5px; - right: -5px; - bottom: -5px; - background-color: white; - filter: blur(1px); - opacity: 0.95; -} - -app-scene-list-item .image { - width: 475px !important; -} - -app-scene-list-item video.preview { - width: 100%; - height: 267px; - object-fit: cover; - margin: auto 0 !important; /* to center vertically */ - cursor: pointer; -} - -app-gallery-preview { - width: 100%; - cursor: pointer; -} - -[hidden] { display: none !important; } - -.marginless { - margin: 0 !important; -} - -app-list-filter .segment { - margin-top: -14px !important; -} - -/* TODO: Hack to hide no results on sui-search */ -sui-search div.message.empty { - display: none; -} - -/* TODO: Hack for JWPlayer 8 chapter marker offsets */ -.jw-slider-time .jw-cue { - margin-left: -5.5px; -} - - - -// Dark theme - -.ui.button, .ui.basic.button { - :not(.primary, .negative) { - background: #333; - color: #EEE !important; - } - &.active { - background: #555 !important; - } - &:hover { - background: #555 !important; - color: #EEE !important; - } -} - -.ui.form.inverted textarea { - background-color: #333; - color: #EEE; -} - -.ui.segments:not(.horizontal)>.segment:first-child { - border-top: 1px solid #555; -} - -.ui.menu .ui.dropdown .menu > .item { - color: unset !important; -} - -.ui.dropdown .menu { - background: #555; - > .item { - color: #EEE !important; - } -} - -sui-select.ui.dropdown { - color: #FFF; - background-color: #333; -} - -// rating - -.ui.rating .icon { - background: unset !important; - color: rgba(100,100,100,.85) !important; -} - -.ui.rating .selected.icon, .ui.rating .active.selected.icon { - background: unset !important; - color: rgba(150,150,150,.85) !important; -} - -.ui.rating .active.icon { - background: unset !important; - color: rgba(255,255,255,.85) !important; -} - -// items - -.ui.dark.items > .dark.item, .ui.dark.item { - border-bottom: 1px solid #555; - color: #EEE; -} - -.ui.dark.items > .dark.item .icon { - color: #EEE; -} - -.ui.dark.items > .dark.item .meta { - color: #EEE; -} - -.ui.dark.items > .dark.item .extra { - color: #EEE; -} - -.ui.dark.items > .dark.item > .content > .header { - color: #EEE; -} - -.ui.dark.items > .dark.item > .content > .ui.header .sub.header { - color: #AAA; -} - -.ui.dark.items > .dark.item > .content > .description { - color: #EEE; -} - -// Cards - -.ui.dark.cards > .dark.card, .ui.dark.card { - background: #1b1c1d; - border: 1px solid #555; - box-shadow: 0px 1px 3px 0px #000, 0px 0px 0px 1px #000; - color: #EEE; -} - -.dark.card .icon { - color: #555 !important; -} - -.ui.dark.card .item .meta { - color: #EEE; -} - -.ui.dark.card { - background: #1b1c1d; - color: #EEE; -} - -.ui.dark.cards > .dark.card > .content > a.header, .ui.dark.card > .content > a.header { - color: white; -} - -.ui.cards > .card .meta, .ui.card .meta { - font-size: 1em; - color: #555; -} - -.ui.dark.cards > .dark.card > .content > .header, .ui.dark.card > .content > .header { - color: white; -} - -.ui.dark.cards > .dark.card > .content > .description, .ui.dark.card > .content > .description { - clear: both; - color: #EEE; -} - -.ui.dark.cards > .dark.card > .content > a.header:hover, .ui.dark.card > .content > a.header:hover { - color: rgba(0, 0, 0, .8); -} - -.ui.dark.cards > .dark.card > .extra, -.ui.dark.card > .extra { - border-top: 1px solid #555 !important; - color: inherit; -} - -sui-progress .label { - color: white !important; -} \ No newline at end of file diff --git a/ui/v1/src/tsconfig.app.json b/ui/v1/src/tsconfig.app.json deleted file mode 100644 index 722c370d5..000000000 --- a/ui/v1/src/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "../out-tsc/app", - "module": "es2015", - "types": [] - }, - "exclude": [ - "src/test.ts", - "**/*.spec.ts" - ] -} diff --git a/ui/v1/src/tslint.json b/ui/v1/src/tslint.json deleted file mode 100644 index 46388b723..000000000 --- a/ui/v1/src/tslint.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "../tslint.json", - "rules": { - "directive-selector": [ - true, - "attribute", - "app", - "camelCase" - ], - "component-selector": [ - true, - "element", - "app", - "kebab-case" - ], - "no-unused-variable": true - } -} diff --git a/ui/v1/tsconfig.json b/ui/v1/tsconfig.json deleted file mode 100644 index 1ecc1b980..000000000 --- a/ui/v1/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compileOnSave": false, - "compilerOptions": { - "baseUrl": "./", - "outDir": "./dist/out-tsc", - "sourceMap": true, - "declaration": false, - "moduleResolution": "node", - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "target": "es2015", - "typeRoots": [ - "node_modules/@types" - ], - "lib": [ - "es2015", - "es2017", - "dom", - "esnext" - ] - } -} diff --git a/ui/v1/tslint.json b/ui/v1/tslint.json deleted file mode 100644 index 3ea984c77..000000000 --- a/ui/v1/tslint.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "rulesDirectory": [ - "node_modules/codelyzer" - ], - "rules": { - "arrow-return-shorthand": true, - "callable-types": true, - "class-name": true, - "comment-format": [ - true, - "check-space" - ], - "curly": true, - "deprecation": { - "severity": "warn" - }, - "eofline": true, - "forin": true, - "import-blacklist": [ - true, - "rxjs/Rx" - ], - "import-spacing": true, - "indent": [ - true, - "spaces" - ], - "interface-over-type-literal": true, - "label-position": true, - "max-line-length": [ - true, - 140 - ], - "member-access": false, - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-arg": true, - "no-bitwise": true, - "no-console": [ - true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-construct": true, - "no-debugger": true, - "no-duplicate-super": true, - "no-empty": false, - "no-empty-interface": true, - "no-eval": true, - "no-inferrable-types": [ - true, - "ignore-params" - ], - "no-misused-new": true, - "no-non-null-assertion": true, - "no-shadowed-variable": true, - "no-string-literal": false, - "no-string-throw": true, - "no-switch-case-fall-through": true, - "no-trailing-whitespace": true, - "no-unnecessary-initializer": true, - "no-unused-expression": true, - "no-use-before-declare": true, - "no-var-keyword": true, - "object-literal-sort-keys": false, - "one-line": [ - true, - "check-open-brace", - "check-catch", - "check-else", - "check-whitespace" - ], - "prefer-const": true, - "quotemark": [ - true, - "single" - ], - "radix": true, - "semicolon": [ - true, - "always" - ], - "triple-equals": [ - true, - "allow-null-check" - ], - "typedef-whitespace": [ - true, - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - } - ], - "unified-signatures": true, - "variable-name": false, - "whitespace": [ - true, - "check-branch", - "check-decl", - "check-operator", - "check-separator", - "check-type" - ], - "no-output-on-prefix": true, - "use-input-property-decorator": true, - "use-output-property-decorator": true, - "use-host-property-decorator": true, - "no-input-rename": true, - "no-output-rename": true, - "use-life-cycle-interface": true, - "use-pipe-transform-interface": true, - "component-class-suffix": true, - "directive-class-suffix": true - } -} diff --git a/ui/v1/yarn.lock b/ui/v1/yarn.lock deleted file mode 100644 index 685123b2f..000000000 --- a/ui/v1/yarn.lock +++ /dev/null @@ -1,7833 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@angular-devkit/architect@0.12.2": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.12.2.tgz#1bfa43881c8927b8e12ffd4a2a3a645d6356e748" - integrity sha512-32Eim3PM/CJKGcCF1FJQ91ohuF2vBGMd4t1DILaoOMXHWmPLI9N4ILzWHfqFLRvb8QFgLn4VNG7CI9K7GcSBlQ== - dependencies: - "@angular-devkit/core" "7.2.2" - rxjs "6.3.3" - -"@angular-devkit/build-angular@0.12.2": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.12.2.tgz#4776f535633227848c4bda34b1e8f89574c33746" - integrity sha512-4PDykCNDjjFo6Ximhq2efiufoUP6pj8KvhB8UI03mLbn/Os1W0y1lmiPJn+NjeBLwFWH9DqW9Vxk/pYek7MtEA== - dependencies: - "@angular-devkit/architect" "0.12.2" - "@angular-devkit/build-optimizer" "0.12.2" - "@angular-devkit/build-webpack" "0.12.2" - "@angular-devkit/core" "7.2.2" - "@ngtools/webpack" "7.2.2" - ajv "6.6.2" - autoprefixer "9.4.3" - circular-dependency-plugin "5.0.2" - clean-css "4.2.1" - copy-webpack-plugin "4.6.0" - file-loader "2.0.0" - glob "7.1.3" - istanbul "0.4.5" - istanbul-instrumenter-loader "3.0.1" - karma-source-map-support "1.3.0" - less "3.9.0" - less-loader "4.1.0" - license-webpack-plugin "2.0.4" - loader-utils "1.1.0" - mini-css-extract-plugin "0.4.4" - minimatch "3.0.4" - opn "5.3.0" - parse5 "4.0.0" - portfinder "1.0.17" - postcss "7.0.11" - postcss-import "12.0.0" - postcss-loader "3.0.0" - raw-loader "0.5.1" - rxjs "6.3.3" - sass-loader "7.1.0" - semver "5.5.1" - source-map-loader "0.2.4" - source-map-support "0.5.9" - speed-measure-webpack-plugin "1.2.5" - stats-webpack-plugin "0.7.0" - style-loader "0.23.1" - stylus "0.54.5" - stylus-loader "3.0.2" - terser-webpack-plugin "1.2.1" - tree-kill "1.2.0" - webpack "4.28.4" - webpack-dev-middleware "3.4.0" - webpack-dev-server "3.1.14" - webpack-merge "4.1.4" - webpack-sources "1.3.0" - webpack-subresource-integrity "1.1.0-rc.6" - optionalDependencies: - node-sass "4.10.0" - -"@angular-devkit/build-optimizer@0.12.2": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.12.2.tgz#c35f4a67a2304a4deeb8e5d2e6c1edde0429c309" - integrity sha512-5SARSE18X5/churU0Qc0gOfDt5EwuwKsJmIA7hHBzi44iotQm5c8ea0q0acua4/U4K+jOsF6A4Faa08Vr2624A== - dependencies: - loader-utils "1.1.0" - source-map "0.5.6" - typescript "3.2.2" - webpack-sources "1.2.0" - -"@angular-devkit/build-webpack@0.12.2": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.12.2.tgz#00f1a3a5ab3f4bc8e35d1826f8b476dc0016a1e7" - integrity sha512-Uv3f8XJc/5UTj2T7XjxFYDhuybFIIitLGxBpp/hEIc7eXI4MsJKB6CoDJy+2BQch7c/QjKH7W3dmTxzuSJ2j3g== - dependencies: - "@angular-devkit/architect" "0.12.2" - "@angular-devkit/core" "7.2.2" - rxjs "6.3.3" - -"@angular-devkit/core@7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-7.2.2.tgz#f0daf3e24f0ce8105341118f4505c1db4e284ab0" - integrity sha512-gDF8iXiPN870WuBMl7bCQ5+Qz5SjGL/qMcvP4hli5hkn+kMAhgG38ligUK1bbhPQUJ+Z/nSOEmyv8gLHO09SZg== - dependencies: - ajv "6.6.2" - chokidar "2.0.4" - fast-json-stable-stringify "2.0.0" - rxjs "6.3.3" - source-map "0.7.3" - -"@angular-devkit/schematics@7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-7.2.2.tgz#d8d667684603e1debcc4598d88a254560e787f87" - integrity sha512-3qONTeqe+bUJ967PNDeITuD4F+3huTEs3u89zZLV+yvaxoK9XJlvaRoQXAkNAMUkij37BoFrGgBfGNijserd6A== - dependencies: - "@angular-devkit/core" "7.2.2" - rxjs "6.3.3" - -"@angular/animations@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-7.2.1.tgz#10cdca8b68ce9a91d81b77348146d1db608fc25f" - integrity sha512-2AHc4HYz2cUVW3E0oYOTyUzBTnPJdtmVOx/Uo6+jnRqikvOGFOc5VXzFIYODe1Iiy+EYcSZ1lvQqwUbpZd6gwA== - dependencies: - tslib "^1.9.0" - -"@angular/cli@7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-7.2.2.tgz#408dc7cd69931301c108ee2637836f0e9e7e3f02" - integrity sha512-fdj5Gtysde0mi902ZE67Zd1uhyryF+b50r+gmX3c+cFvM5hNXrdV7V82Ldjp7qle6ZF1fDSppSiPxGkt5lvemw== - dependencies: - "@angular-devkit/architect" "0.12.2" - "@angular-devkit/core" "7.2.2" - "@angular-devkit/schematics" "7.2.2" - "@schematics/angular" "7.2.2" - "@schematics/update" "0.12.2" - inquirer "6.2.1" - opn "5.3.0" - semver "5.5.1" - symbol-observable "1.2.0" - -"@angular/common@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-7.2.1.tgz#2b5a54834af4cd9b2e1f4381b74f01df70291834" - integrity sha512-lYf3MeVMz69EriS5ANFY5PerJK0i4xHp/Jy67reb8ydZ+sfW320PUMuFtx3bZvk9PD7NdL3QZvXmla/ogrltTQ== - dependencies: - tslib "^1.9.0" - -"@angular/compiler-cli@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-7.2.1.tgz#2a5b32d6e829dbf44e0f46d0a883112e44bbf3dc" - integrity sha512-ImmKTnBbAWIY7qrYSPFLJE83VYcDX7zK6Ig/vOl4e6dzvpZfJDYHMT8ELeWj7a2nkL9SjT8X3o9Mkbrb75Tepg== - dependencies: - canonical-path "1.0.0" - chokidar "^1.4.2" - convert-source-map "^1.5.1" - dependency-graph "^0.7.2" - magic-string "^0.25.0" - minimist "^1.2.0" - reflect-metadata "^0.1.2" - shelljs "^0.8.1" - source-map "^0.6.1" - tslib "^1.9.0" - yargs "9.0.1" - -"@angular/compiler@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-7.2.1.tgz#625fc70136dd2d8bc6a2a9f0b608cc201a6002ea" - integrity sha512-wf9w882hNoRaTDRqkEvQxV7nGB3liTX/LWEMunmm/Yz0nWkvgErR9pIHv3Sm4Ox0hyG3GdMpcVBzQ8qPomGOag== - dependencies: - tslib "^1.9.0" - -"@angular/core@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-7.2.1.tgz#1ca79a42eec58690ad281c1c3cb260297501f761" - integrity sha512-FYNAf4chxBoIVGCW2+fwR2MB2Ur5v1aG9L6zCcMXlZLbR64bu5j2m4e70RhXk/VptKvYWJ45od3xE5KfcaeEig== - dependencies: - tslib "^1.9.0" - -"@angular/forms@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-7.2.1.tgz#0515af60668c380602aa820c0df29767002a576a" - integrity sha512-MxinNUvl02UfpY9gJtbTU6Mdt9fjIJYOGskcpwm+5u9jiMeRvOnG94ySoNrygg3EWwScX+P0mM4KN6fJWau7gQ== - dependencies: - tslib "^1.9.0" - -"@angular/http@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@angular/http/-/http-7.2.1.tgz#11035e29086a7d850c0df95a20f2e7e41969b9c6" - integrity sha512-3xfdN2bmCbzATwRGUEZQVkGn3IN6tMX/whLWGWgcEV3CENJqTUjfjn1+nSHASQLUnmOr5T7yTiWK5P7bDrHYzw== - dependencies: - tslib "^1.9.0" - -"@angular/language-service@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-7.2.1.tgz#894b909684c48f0e5e01278a42ddb8b700529b93" - integrity sha512-LmeoO7KXBcPRDvQpBv+ttG9oalCE0z7+AxbJBJNrrwzypP624B3xX2XWai9XUNkxu+shqE00lAU2lC7Fxs5v7A== - -"@angular/platform-browser-dynamic@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.2.1.tgz#1210f6145dbdb93bb5a88f6cf673b5a0ac9cf771" - integrity sha512-hrSkI7aESEkqYnu628Z/LvYNlUNMqIqkXYAkT3urxFdCw7UwNeZKrDmd9sRwK3gK3sC1VeD9pXtqaKmGsnBjOA== - dependencies: - tslib "^1.9.0" - -"@angular/platform-browser@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-7.2.1.tgz#57171b1e6d8995951e1b9563384344d58a657472" - integrity sha512-/6uHdFLmRkrkeOo+TzScrLG2YydG8kBNyT6ZpSOBf+bmB5DHyIGd55gh/tQJteKrnyadxRhqWCLBTYAbVX9Pnw== - dependencies: - tslib "^1.9.0" - -"@angular/router@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-7.2.1.tgz#c81d5347bdc8077c037562e28d0b601a800c0e3f" - integrity sha512-3qMZnhFr6xx3dMy14rKwIw9ISTOZlsp9jAkthXVsfA2/thffScXHPBrH4SipkySLmOAtPmF5m5jscy8mx/1mJQ== - dependencies: - tslib "^1.9.0" - -"@babel/code-frame@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" - integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/generator@^7.2.2": - version "7.3.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.2.tgz#fff31a7b2f2f3dad23ef8e01be45b0d5c2fc0132" - integrity sha512-f3QCuPppXxtZOEm5GWPra/uYUjmNQlu9pbAD8D/9jze4pTY83rTtB1igTBSwvkeNlC5gR24zFFkz+2WHLFQhqQ== - dependencies: - "@babel/types" "^7.3.2" - jsesc "^2.5.1" - lodash "^4.17.10" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-split-export-declaration@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" - integrity sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.2.0", "@babel/parser@^7.2.2", "@babel/parser@^7.2.3": - version "7.3.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.2.tgz#95cdeddfc3992a6ca2a1315191c1679ca32c55cd" - integrity sha512-QzNUC2RO1gadg+fs21fi0Uu0OuGNzRKEmgCxoLNzbCdoprLwjfmZwzUrpUNfJPaVRwBpDY47A17yYEGWyRelnQ== - -"@babel/template@^7.1.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" - integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.2.2" - "@babel/types" "^7.2.2" - -"@babel/traverse@^7.1.6": - version "7.2.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.3.tgz#7ff50cefa9c7c0bd2d81231fdac122f3957748d8" - integrity sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.2.2" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/parser" "^7.2.3" - "@babel/types" "^7.2.2" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.10" - -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.2": - version "7.3.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.2.tgz#424f5be4be633fff33fb83ab8d67e4a8290f5a2f" - integrity sha512-3Y6H8xlUlpbGR+XvawiH0UXehqydTmNmEpozWcXymqwcrwYAl5KMvKtQ+TF6f6E08V6Jur7v/ykdDSF+WDEIXQ== - dependencies: - esutils "^2.0.2" - lodash "^4.17.10" - to-fast-properties "^2.0.0" - -"@graphql-modules/epoxy@0.2.18": - version "0.2.18" - resolved "https://registry.yarnpkg.com/@graphql-modules/epoxy/-/epoxy-0.2.18.tgz#58ea584e57e0573d804ee39e34ee2fad604ba63a" - integrity sha512-I5h45JKZXABJgKPnMIS7EwLDCIqvC53V/I1f35+uzo5a7Np4ItXvwYZXxNlTg+sbcSIhizA5q9XwwaMrOhOzqg== - dependencies: - deepmerge "3.0.0" - graphql-tools "4.0.3" - tslib "1.9.3" - -"@ngtools/webpack@7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-7.2.2.tgz#361d877f01feae800a58901b066b46539e1fe0e3" - integrity sha512-xjvQ8tlyyReE69q+whAubwX4fayPoy4NHSIDa429qdcUypkvhSScAtou003oVAKG519rznykDrUHAWtvFMVf4Q== - dependencies: - "@angular-devkit/core" "7.2.2" - enhanced-resolve "4.1.0" - rxjs "6.3.3" - tree-kill "1.2.0" - webpack-sources "1.2.0" - -"@samverschueren/stream-to-observable@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" - integrity sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg== - dependencies: - any-observable "^0.3.0" - -"@schematics/angular@7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-7.2.2.tgz#5a466ebbbd7e1fbb13851f26446ec308b822d1dc" - integrity sha512-Yonddct1XBG1H5rTikagFTIT2/RhszJnNa2Iz+rvc26ffAl1mmYPB4sQb7gkOaZQSzK6SE7bT2QW32PVjYFoSQ== - dependencies: - "@angular-devkit/core" "7.2.2" - "@angular-devkit/schematics" "7.2.2" - typescript "3.2.2" - -"@schematics/update@0.12.2": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.12.2.tgz#52bcb571f5de2391b04c89807e67113eb517aaa2" - integrity sha512-+eU5O5gV1c0TZvXMUTMaEgKWeSAotbAv66KRnHV70hqDnXHE+hdL0jqlRF5Lz08C+tRbj4/Tlnb17X/jclfxnw== - dependencies: - "@angular-devkit/core" "7.2.2" - "@angular-devkit/schematics" "7.2.2" - "@yarnpkg/lockfile" "1.1.0" - ini "1.3.5" - pacote "9.1.1" - rxjs "6.3.3" - semver "5.5.1" - semver-intersect "1.4.0" - -"@types/babel-types@*": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.4.tgz#bfd5b0d0d1ba13e351dff65b6e52783b816826c8" - integrity sha512-WiZhq3SVJHFRgRYLXvpf65XnV6ipVHhnNaNvE8yCimejrGglkg38kEj0JcizqwSHxmPSjcTlig/6JouxLGEhGw== - -"@types/babylon@6.16.4": - version "6.16.4" - resolved "https://registry.yarnpkg.com/@types/babylon/-/babylon-6.16.4.tgz#d3df72518b34a6a015d0dc58745cd238b5bb8ad2" - integrity sha512-8dZMcGPno3g7pJ/d0AyJERo+lXh9i1JhDuCUs+4lNIN9eUe5Yh6UCLrpgSEi05Ve2JMLauL2aozdvKwNL0px1Q== - dependencies: - "@types/babel-types" "*" - -"@types/is-glob@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/is-glob/-/is-glob-4.0.0.tgz#fb8a2bff539025d4dcd6d5efe7689e03341b876d" - integrity sha512-zC/2EmD8scdsGIeE+Xg7kP7oi9VP90zgMQtm9Cr25av4V+a+k8slQyiT60qSw8KORYrOKlPXfHwoa1bQbRzskQ== - -"@types/node@*", "@types/node@10.12.18": - version "10.12.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67" - integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ== - -"@types/prettier@1.15.2": - version "1.15.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.15.2.tgz#91594ea7cb6f3b1f7ea69f32621246654c7cc231" - integrity sha512-XIB0ZCaFZmWUHAa9dBqP5UKXXHwuukmVlP+XcyU94dui2k+l2lG+CHAbt2ffenHPUqoIs5Beh8Pdf2YEq/CZ7A== - -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - -"@types/valid-url@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/valid-url/-/valid-url-1.0.2.tgz#60fa435ce24bfd5ba107b8d2a80796aeaf3a8f45" - integrity sha1-YPpDXOJL/VuhB7jSqAeWrq86j0U= - -"@types/webpack-sources@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.5.tgz#be47c10f783d3d6efe1471ff7f042611bd464a92" - integrity sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.6.1" - -"@types/zen-observable@0.8.0", "@types/zen-observable@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d" - integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg== - -"@webassemblyjs/ast@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" - integrity sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA== - dependencies: - "@webassemblyjs/helper-module-context" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/wast-parser" "1.7.11" - -"@webassemblyjs/floating-point-hex-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313" - integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg== - -"@webassemblyjs/helper-api-error@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a" - integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg== - -"@webassemblyjs/helper-buffer@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b" - integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w== - -"@webassemblyjs/helper-code-frame@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b" - integrity sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw== - dependencies: - "@webassemblyjs/wast-printer" "1.7.11" - -"@webassemblyjs/helper-fsm@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181" - integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A== - -"@webassemblyjs/helper-module-context@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209" - integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg== - -"@webassemblyjs/helper-wasm-bytecode@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06" - integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ== - -"@webassemblyjs/helper-wasm-section@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a" - integrity sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - -"@webassemblyjs/ieee754@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b" - integrity sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63" - integrity sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw== - dependencies: - "@xtuc/long" "4.2.1" - -"@webassemblyjs/utf8@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82" - integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA== - -"@webassemblyjs/wasm-edit@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005" - integrity sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/helper-wasm-section" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - "@webassemblyjs/wasm-opt" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - "@webassemblyjs/wast-printer" "1.7.11" - -"@webassemblyjs/wasm-gen@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8" - integrity sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/ieee754" "1.7.11" - "@webassemblyjs/leb128" "1.7.11" - "@webassemblyjs/utf8" "1.7.11" - -"@webassemblyjs/wasm-opt@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7" - integrity sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - -"@webassemblyjs/wasm-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a" - integrity sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-api-error" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/ieee754" "1.7.11" - "@webassemblyjs/leb128" "1.7.11" - "@webassemblyjs/utf8" "1.7.11" - -"@webassemblyjs/wast-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c" - integrity sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/floating-point-hex-parser" "1.7.11" - "@webassemblyjs/helper-api-error" "1.7.11" - "@webassemblyjs/helper-code-frame" "1.7.11" - "@webassemblyjs/helper-fsm" "1.7.11" - "@xtuc/long" "4.2.1" - -"@webassemblyjs/wast-printer@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813" - integrity sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/wast-parser" "1.7.11" - "@xtuc/long" "4.2.1" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" - integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g== - -"@yarnpkg/lockfile@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - -JSONStream@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abbrev@1.0.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= - -accepts@~1.3.4, accepts@~1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" - integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= - dependencies: - mime-types "~2.1.18" - negotiator "0.6.1" - -acorn-dynamic-import@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" - integrity sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg== - dependencies: - acorn "^5.0.0" - -acorn@^5.0.0, acorn@^5.6.2: - version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== - -agent-base@4, agent-base@^4.1.0, agent-base@~4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" - integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg== - dependencies: - es6-promisify "^5.0.0" - -agentkeepalive@^3.4.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" - integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ== - dependencies: - humanize-ms "^1.2.1" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" - integrity sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo= - -ajv@6.6.2: - version "6.6.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.2.tgz#caceccf474bf3fc3ce3b147443711a24063cc30d" - integrity sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^5.0.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^6.1.0, ajv@^6.5.5: - version "6.7.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.7.0.tgz#e3ce7bb372d6577bb1839f1dfdfcbf5ad2948d96" - integrity sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= - -ansi-colors@^3.0.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" - integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== - -ansi-escapes@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" - integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== - -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9" - integrity sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -any-observable@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" - integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== - -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" - integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA== - dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -apollo-angular-link-http-common@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/apollo-angular-link-http-common/-/apollo-angular-link-http-common-1.4.0.tgz#9e361f481562fad9151f95c43ccafc10ba728426" - integrity sha512-VAneRp1YYwaggOKgbMGVSuLMpYroLL6tEgS5WH3iNBg4P7cBcubo3uajWRih7E4pZlzX+bCJ5GNqNDJ6xMFT7Q== - dependencies: - tslib "^1.9.0" - -apollo-angular-link-http@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/apollo-angular-link-http/-/apollo-angular-link-http-1.4.0.tgz#6ae499b3ed44e2201a31f41efef1771580b14069" - integrity sha512-YMtk4ZmmQ32kvQVnKNhkqk4QQQ+xb5aaq5XVxLv7AX6S7jDfHDLi18Hc25C4c8revM6gLoGV2Xj9ijvyGGbRCg== - dependencies: - apollo-angular-link-http-common "~1.4.0" - tslib "^1.9.0" - -apollo-angular@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/apollo-angular/-/apollo-angular-1.5.0.tgz#da653b76189fb72ea801c51996ea87fe19aa064f" - integrity sha512-zAyMev+bU7cdqRm2AbAH0hJqJOVRN/PpllJ+eqqA0O9dV570RUs2sGehn3dtOcwPHNRof/qrCRoWBEwGrP6hog== - dependencies: - semver "^5.5.1" - tslib "^1.9.0" - -apollo-cache-inmemory@1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.4.2.tgz#c91aeb4adff45cdc7872d603cbff055fa9cd5021" - integrity sha512-fDVmj5j1e3W+inyuSwjIcMgbQ4edcFgmiKTBMFAEKAq0jg33X7FrbDX8JT2t5Vuf75Mva50JDlt5wXdu7C6WuA== - dependencies: - apollo-cache "^1.1.25" - apollo-utilities "^1.1.2" - optimism "^0.6.9" - tslib "^1.9.3" - -apollo-cache@1.1.25, apollo-cache@^1.1.25: - version "1.1.25" - resolved "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.1.25.tgz#87a15a2a19993bb07234ccee6839b59d6fb49ac5" - integrity sha512-9HhI/tVEHAeGaJJvi1Vpf6PzXUCA0PqNbigi2G3uOc180JjxbcaBvEbKXMEDb/UyTXkFWzI4PiPDuDQFqmIMSA== - dependencies: - apollo-utilities "^1.1.2" - tslib "^1.9.3" - -apollo-client@2.4.12: - version "2.4.12" - resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.4.12.tgz#9fa15f502d04f8cc788a9fbb825163b437681504" - integrity sha512-E5ClFSB9btJLYibLKwLDSCg+w9tI+25eZgXOM+DClawu7of4d/xhuV/xvpuZpsMP3qwrp0QPacBnfG4tUJs3/w== - dependencies: - "@types/zen-observable" "^0.8.0" - apollo-cache "1.1.25" - apollo-link "^1.0.0" - apollo-link-dedup "^1.0.0" - apollo-utilities "1.1.2" - symbol-observable "^1.0.2" - tslib "^1.9.3" - zen-observable "^0.8.0" - -apollo-link-dedup@^1.0.0: - version "1.0.13" - resolved "https://registry.yarnpkg.com/apollo-link-dedup/-/apollo-link-dedup-1.0.13.tgz#bb22957e18b6125ae8bfb46cab6bda8d33ba8046" - integrity sha512-i4NuqT3DSFczFcC7NMUzmnYjKX7NggLY+rqYVf+kE9JjqKOQhT6wqhaWsVIABfIUGE/N0DTgYJBCMu/18aXmYA== - dependencies: - apollo-link "^1.2.6" - -apollo-link-error@1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/apollo-link-error/-/apollo-link-error-1.1.5.tgz#1d600dfa75c4e4bf017f50d60da7b375b53047ab" - integrity sha512-gE0P711K+rI3QcTzfYhzRI9axXaiuq/emu8x8Y5NHK9jl9wxh7qmEc3ZTyGpnGFDDTXfhalmX17X5lp3RCVHDQ== - dependencies: - apollo-link "^1.2.6" - apollo-link-http-common "^0.2.8" - -apollo-link-http-common@^0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.8.tgz#c6deedfc2739db8b11013c3c2d2ccd657152941f" - integrity sha512-gGmXZN8mr7e9zjopzKQfZ7IKnh8H12NxBDzvp9nXI3U82aCVb72p+plgoYLcpMY8w6krvoYjgicFmf8LO20TCQ== - dependencies: - apollo-link "^1.2.6" - -apollo-link-ws@1.0.14: - version "1.0.14" - resolved "https://registry.yarnpkg.com/apollo-link-ws/-/apollo-link-ws-1.0.14.tgz#588f898b7f953930a27e283941614d89907adf13" - integrity sha512-KwHVnhKKDUA5PmmzpiqkyahjBcwGdf2eFlTZg4DIwgH1R0KcBmn/A6rkZnmClBbUNgV6t+kR46dW2fyx64Jm3A== - dependencies: - apollo-link "^1.2.8" - -apollo-link@1.2.6, apollo-link@^1.0.0, apollo-link@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.6.tgz#d9b5676d79c01eb4e424b95c7171697f6ad2b8da" - integrity sha512-sUNlA20nqIF3gG3F8eyMD+mO80fmf3dPZX+GUOs3MI9oZR8ug09H3F0UsWJMcpEg6h55Yy5wZ+BMmAjrbenF/Q== - dependencies: - apollo-utilities "^1.0.0" - zen-observable-ts "^0.8.13" - -apollo-link@^1.2.3, apollo-link@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.8.tgz#0f252adefd5047ac1a9f35ba9439d216587dcd84" - integrity sha512-lfzGRxhK9RmiH3HPFi7TIEBhhDY9M5a2ZDnllcfy5QDk7cCQHQ1WQArcw1FK0g1B+mV4Kl72DSrlvZHZJEolrA== - dependencies: - zen-observable-ts "^0.8.15" - -apollo-utilities@1.1.2, apollo-utilities@^1.0.0, apollo-utilities@^1.0.1, apollo-utilities@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.1.2.tgz#aa5eca9d1f1eb721c381a22e0dde03559d856db3" - integrity sha512-EjDx8vToK+zkWIxc76ZQY/irRX52puNg04xf/w8R0kVTDAgHuVfnFVC01O5vE25kFnIaa5em0pFI0p9b6YMkhQ== - dependencies: - fast-json-stable-stringify "^2.0.0" - tslib "^1.9.3" - -app-root-path@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.1.0.tgz#98bf6599327ecea199309866e8140368fd2e646a" - integrity sha1-mL9lmTJ+zqGZMJhm6BQDaP0uZGo= - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= - dependencies: - arr-flatten "^1.0.1" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.0.1, arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^1.1.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= - dependencies: - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - integrity sha1-GdOGodntxufByF04iu28xW0zYC0= - -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= - -async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== - -async@1.x, async@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - -async@^2.5.0, async@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" - integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== - dependencies: - lodash "^4.17.10" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -autoprefixer@9.4.3: - version "9.4.3" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.4.3.tgz#c97384a8fd80477b78049163a91bbc725d9c41d9" - integrity sha512-/XSnzDepRkAU//xLcXA/lUWxpsBuw0WiriAHOqnxkuCtzLhaz+fL4it4gp20BQ8n5SyLzK/FOc7A0+u/rti2FQ== - dependencies: - browserslist "^4.3.6" - caniuse-lite "^1.0.30000921" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.6" - postcss-value-parser "^3.3.1" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== - -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-generator@^6.18.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= - dependencies: - babel-runtime "^6.22.0" - -babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.16.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.18.0, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@7.0.0-beta.3: - version "7.0.0-beta.3" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-7.0.0-beta.3.tgz#cd927ca70e0ae8ab05f4aab83778cfb3e6eb20b4" - integrity sha512-36k8J+byAe181OmCMawGhw+DtKO7AwexPVtsPXoMfAkjtZgoCX3bEuHWfdE5sYxRM8dojvtG/+O08M0Z/YDC6w== - dependencies: - esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^2.0.0" - -babel-types@^6.18.0, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@7.0.0-beta.47: - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80" - integrity sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ== - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -backo2@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -big.js@^3.1.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" - integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14" - integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg== - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= - dependencies: - inherits "~2.0.0" - -bluebird@^3.5.1, bluebird@^3.5.2, bluebird@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" - integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - -body-parser@1.18.3: - version "1.18.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" - integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ= - dependencies: - bytes "3.0.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "~1.6.3" - iconv-lite "0.4.23" - on-finished "~2.3.0" - qs "6.5.2" - raw-body "2.3.3" - type-is "~1.6.16" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -bowser@^1.7.2: - version "1.9.4" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.4.tgz#890c58a2813a9d3243704334fa81b96a5c150c9a" - integrity sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -braces@^2.3.0, braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.3.6: - version "4.4.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.4.1.tgz#42e828954b6b29a7a53e352277be429478a69062" - integrity sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A== - dependencies: - caniuse-lite "^1.0.30000929" - electron-to-chromium "^1.3.103" - node-releases "^1.1.3" - -buffer-from@^1.0.0, buffer-from@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-modules@^1.0.0, builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -cacache@^10.0.4: - version "10.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" - integrity sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA== - dependencies: - bluebird "^3.5.1" - chownr "^1.0.1" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.1" - mississippi "^2.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.2" - ssri "^5.2.4" - unique-filename "^1.1.0" - y18n "^4.0.0" - -cacache@^11.0.1, cacache@^11.0.2, cacache@^11.2.0: - version "11.3.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa" - integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg== - dependencies: - bluebird "^3.5.3" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.3" - graceful-fs "^4.1.15" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.2" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -camel-case@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - -caniuse-lite@^1.0.30000921, caniuse-lite@^1.0.30000929: - version "1.0.30000929" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000929.tgz#7b391b781a9c3097ecc39ea053301aea8ea16317" - integrity sha512-n2w1gPQSsYyorSVYqPMqbSaz1w7o9ZC8VhOEGI9T5MfGDzp7sbopQxG6GaQmYsaq13Xfx/mkxJUWC1Dz3oZfzw== - -canonical-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/canonical-path/-/canonical-path-1.0.0.tgz#fcb470c23958def85081856be7a86e904f180d1d" - integrity sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -change-case@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.2.tgz#fd48746cce02f03f0a672577d1d3a8dc2eceb037" - integrity sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA== - dependencies: - camel-case "^3.0.0" - constant-case "^2.0.0" - dot-case "^2.1.0" - header-case "^1.0.0" - is-lower-case "^1.1.0" - is-upper-case "^1.1.0" - lower-case "^1.1.1" - lower-case-first "^1.0.0" - no-case "^2.3.2" - param-case "^2.1.0" - pascal-case "^2.0.0" - path-case "^2.1.0" - sentence-case "^2.1.0" - snake-case "^2.1.0" - swap-case "^1.1.0" - title-case "^2.1.0" - upper-case "^1.1.1" - upper-case-first "^1.1.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chokidar@2.0.4, chokidar@^2.0.0, chokidar@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" - integrity sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - lodash.debounce "^4.0.8" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "^1.0.5" - optionalDependencies: - fsevents "^1.2.2" - -chokidar@^1.4.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -chownr@^1.0.1, chownr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" - integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== - -chrome-trace-event@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" - integrity sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A== - dependencies: - tslib "^1.9.0" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -circular-dependency-plugin@5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.0.2.tgz#da168c0b37e7b43563fb9f912c1c007c213389ef" - integrity sha512-oC7/DVAyfcY3UWKm0sN/oVoDedQDQiw/vIiAnuTWTpE5s0zWf7l3WY417Xw/Fbi/QbAjctAkxgMiS9P0s3zkmA== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" - integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== - dependencies: - source-map "~0.6.0" - -cli-cursor@^2.0.0, cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-truncate@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" - integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= - dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -clone-deep@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713" - integrity sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ== - dependencies: - for-own "^1.0.0" - is-plain-object "^2.0.4" - kind-of "^6.0.0" - shallow-clone "^1.0.0" - -clone@^2.1.1, clone@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -codelyzer@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-4.5.0.tgz#a65ddeeeca2894653253a89bfa229118ff9f59b1" - integrity sha512-oO6vCkjqsVrEsmh58oNlnJkRXuA30hF8cdNAQV9DytEalDwyOFRvHMnlKFzmOStNerOmPGZU9GAHnBo4tGvtiQ== - dependencies: - app-root-path "^2.1.0" - css-selector-tokenizer "^0.7.0" - cssauron "^1.4.0" - semver-dsl "^1.0.1" - source-map "^0.5.7" - sprintf-js "^1.1.1" - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@3.0.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" - integrity sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -colornames@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/colornames/-/colornames-1.1.1.tgz#f8889030685c7c4ff9e2a559f5077eb76a816f96" - integrity sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y= - -colors@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" - integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== - -colorspace@1.1.x: - version "1.1.1" - resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.1.tgz#9ac2491e1bc6f8fb690e2176814f8d091636d972" - integrity sha512-pI3btWyiuz7Ken0BWh9Elzsmv2bM9AhA7psXib4anUXy/orfZ/E0MbQwhSOG/9L8hLlalqrU0UhOuqxW1YjmVw== - dependencies: - color "3.0.x" - text-hex "1.0.x" - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" - integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== - dependencies: - delayed-stream "~1.0.0" - -commander@2.19.0, commander@^2.12.1: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== - -commander@~2.17.1: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== - -common-tags@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" - integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= - -compressible@~2.0.14: - version "2.0.15" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.15.tgz#857a9ab0a7e5a07d8d837ed43fe2defff64fe212" - integrity sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw== - dependencies: - mime-db ">= 1.36.0 < 2" - -compression@^1.5.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db" - integrity sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.14" - debug "2.6.9" - on-headers "~1.0.1" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -connect-history-api-fallback@^1.3.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - -console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= - dependencies: - date-now "^0.1.4" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -constant-case@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46" - integrity sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY= - dependencies: - snake-case "^2.1.0" - upper-case "^1.1.1" - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.5.0, convert-source-map@^1.5.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copy-webpack-plugin@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz#e7f40dd8a68477d405dd1b7a854aae324b158bae" - integrity sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA== - dependencies: - cacache "^10.0.4" - find-cache-dir "^1.0.0" - globby "^7.1.1" - is-glob "^4.0.0" - loader-utils "^1.1.0" - minimatch "^3.0.4" - p-limit "^1.0.0" - serialize-javascript "^1.4.0" - -core-js@2.6.2, core-js@^2.4.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.2.tgz#267988d7268323b349e20b4588211655f0e83944" - integrity sha512-NdBPF/RVwPW6jr0NCILuyN9RiqLo2b1mddWHkUL+VnvcB7dzlnBJ1bXYntjpTGOgkZiiLWj2JxmOr7eGE3qK6g== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" - integrity sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ== - dependencies: - is-directory "^0.3.1" - js-yaml "^3.9.0" - parse-json "^4.0.0" - require-from-string "^2.0.1" - -create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-fetch@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.2.tgz#a47ff4f7fc712daba8f6a695a11c948440d45723" - integrity sha1-pH/09/xxLauo9qaVoRyUhEDUVyM= - dependencies: - node-fetch "2.1.2" - whatwg-fetch "2.0.4" - -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-parse@1.7.x: - version "1.7.0" - resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-1.7.0.tgz#321f6cf73782a6ff751111390fc05e2c657d8c9b" - integrity sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs= - -css-selector-tokenizer@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" - integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA== - dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" - -cssauron@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssauron/-/cssauron-1.4.0.tgz#a6602dff7e04a8306dc0db9a551e92e8b5662ad8" - integrity sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg= - dependencies: - through X.X.X - -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" - -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -date-fns@2.0.0-alpha.1: - version "2.0.0-alpha.1" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.0.0-alpha.1.tgz#f45e477cf3414269d97fb1aae899035f3b308474" - integrity sha512-4gYdF1rDgv9X/0ko69pt+FgpQtDU5rgqZVmckIOhDicfCSTndwHMhUhLJw+pa4DlPdzIkEBtHg6L6VlQ6ueD1g== - -date-fns@^1.27.2: - version "1.30.1" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" - integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== - -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= - -debug@*, debug@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@3.1.0, debug@=3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@^3.1.0, debug@^3.2.5: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decamelize@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" - integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg== - dependencies: - xregexp "4.0.0" - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.0.0.tgz#ca7903b34bfa1f8c2eab6779280775a411bfc6ba" - integrity sha512-a8z8bkgHsAML+uHLqmMS83HHlpy3PvZOOuiTQqaa3wu8ZVg3h0hqHk6aCsGdOnZV2XMM/FRimNGjUh0KCcmHBw== - -default-gateway@^2.6.0: - version "2.7.2" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f" - integrity sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ== - dependencies: - execa "^0.10.0" - ip-regex "^2.1.0" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= - dependencies: - globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -dependency-graph@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.8.0.tgz#2da2d35ed852ecc24a5d6c17788ba57c3708755b" - integrity sha512-DCvzSq2UiMsuLnj/9AL484ummEgLtZIcRS7YvtO38QnpX3vqh9nJ8P+zhu8Ja+SmLrBHO2iDbva20jq38qvBkQ== - -dependency-graph@^0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.7.2.tgz#91db9de6eb72699209d88aea4c1fd5221cac1c49" - integrity sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ== - -deprecated-decorator@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" - integrity sha1-AJZjF7ehL+kvPMgx91g68ym4bDc= - -des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-indent@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= - dependencies: - repeating "^2.0.0" - -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - -detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== - -diagnostics@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/diagnostics/-/diagnostics-1.1.1.tgz#cab6ac33df70c9d9a727490ae43ac995a769b22a" - integrity sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ== - dependencies: - colorspace "1.1.x" - enabled "1.0.x" - kuler "1.0.x" - -diff@^3.1.0, diff@^3.2.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.1.tgz#ce8413234ffe8452b76b7741c32f116cf2a7b1a7" - integrity sha512-UN6X6XwRjllabfRhBdkVSo63uurJ8nSvMGrwl94EYVz6g+exhTV+yVSYk5VC/xl3MBFBTtC0J20uFKce4Brrng== - dependencies: - path-type "^3.0.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -dot-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee" - integrity sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4= - dependencies: - no-case "^2.2.0" - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.1.tgz#b1a7a29c4abfd639585efaecce80d666b1e34125" - integrity sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -electron-to-chromium@^1.3.103: - version "1.3.103" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.103.tgz#a695777efdbc419cad6cbb0e58458251302cd52f" - integrity sha512-tObPqGmY9X8MUM8i3MEimYmbnLLf05/QV5gPlkR8MQ3Uj8G8B2govE1U4cQcBYtv3ymck9Y8cIOu4waoiykMZQ== - -elegant-spinner@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" - integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= - -element-closest@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/element-closest/-/element-closest-2.0.2.tgz#72a740a107453382e28df9ce5dbb5a8df0f966ec" - integrity sha1-cqdAoQdFM4LijfnOXbtajfD5Zuw= - -elliptic@^6.0.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" - integrity sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -enabled@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/enabled/-/enabled-1.0.2.tgz#965f6513d2c2d1c5f4652b64a2e3396467fc2f93" - integrity sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M= - dependencies: - env-variable "0.0.x" - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= - dependencies: - iconv-lite "~0.4.13" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@4.1.0, enhanced-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - tapable "^1.0.0" - -env-variable@0.0.x: - version "0.0.5" - resolved "https://registry.yarnpkg.com/env-variable/-/env-variable-0.0.5.tgz#913dd830bef11e96a039c038d4130604eba37f88" - integrity sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA== - -err-code@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" - integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= - -errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es6-promise@^4.0.3: - version "4.2.5" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.5.tgz#da6d0d5692efb461e082c14817fe2427d8f5d054" - integrity sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= - dependencies: - es6-promise "^4.0.3" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escodegen@1.8.x: - version "1.8.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" - integrity sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg= - dependencies: - esprima "^2.7.1" - estraverse "^1.9.1" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.2.0" - -eslint-scope@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" - integrity sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -esprima@2.7.x, esprima@^2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== - dependencies: - estraverse "^4.1.0" - -estraverse@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" - integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= - -estraverse@^4.1.0, estraverse@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eventemitter3@^3.0.0, eventemitter3@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" - integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== - -events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== - -eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== - dependencies: - original "^1.0.0" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" - integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== - dependencies: - cross-spawn "^6.0.0" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= - dependencies: - is-posix-bracket "^0.1.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= - dependencies: - fill-range "^2.1.0" - -express@^4.16.2: - version "4.16.4" - resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" - integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== - dependencies: - accepts "~1.3.5" - array-flatten "1.1.1" - body-parser "1.18.3" - content-disposition "0.5.2" - content-type "~1.0.4" - cookie "0.3.1" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.1.1" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.2" - path-to-regexp "0.1.7" - proxy-addr "~2.0.4" - qs "6.5.2" - range-parser "~1.2.0" - safe-buffer "5.1.2" - send "0.16.2" - serve-static "1.13.2" - setprototypeof "1.1.0" - statuses "~1.4.0" - type-is "~1.6.16" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@^3.0.1, extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= - dependencies: - is-extglob "^1.0.0" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= - -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - -fast-json-stable-stringify@2.0.0, fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fast-safe-stringify@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz#04b26106cc56681f51a044cfc0d76cf0008ac2c2" - integrity sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg== - -fastparse@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" - integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== - -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" - integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg= - dependencies: - websocket-driver ">=0.5.1" - -fecha@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fecha/-/fecha-2.3.3.tgz#948e74157df1a32fd1b12c3a3c3cdcb6ec9d96cd" - integrity sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg== - -figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" - integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== - -figures@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -file-loader@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-2.0.0.tgz#39749c82f020b9e85901dcff98e8004e6401cfde" - integrity sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ== - dependencies: - loader-utils "^1.0.2" - schema-utils "^1.0.0" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= - -fill-range@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" - integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^3.0.0" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -finalhandler@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" - integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.4.0" - unpipe "~1.0.0" - -find-cache-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" - integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= - dependencies: - commondir "^1.0.1" - make-dir "^1.0.0" - pkg-dir "^2.0.0" - -find-cache-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.0.0.tgz#4c1faed59f45184530fb9d7fa123a4d04a98472d" - integrity sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA== - dependencies: - commondir "^1.0.1" - make-dir "^1.0.0" - pkg-dir "^3.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -flush-write-stream@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" - integrity sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.4" - -follow-redirects@^1.0.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.6.1.tgz#514973c44b5757368bad8bddfe52f81f015c94cb" - integrity sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ== - dependencies: - debug "=3.1.0" - -for-in@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" - integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - -for-own@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" - integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-minipass@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" - integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== - dependencies: - minipass "^2.2.1" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.0.0, fsevents@^1.2.2: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" - integrity sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw== - dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" - -fstream@^1.0.0, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - integrity sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE= - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gaze@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" - integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== - dependencies: - globule "^1.0.0" - -genfun@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" - integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -get-stream@^4.0.0, get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= - dependencies: - is-glob "^2.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob@7.0.x: - version "7.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" - integrity sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo= - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@7.1.3, glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^5.0.15: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.10.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50" - integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ== - -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" - integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -globule@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" - integrity sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ== - dependencies: - glob "~7.1.1" - lodash "~4.17.10" - minimatch "~3.0.2" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== - -graphql-code-generator@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/graphql-code-generator/-/graphql-code-generator-0.15.2.tgz#7ffe5b70e8f442c9dffe608f1e013984813783db" - integrity sha512-u8oLoCl3aFXV110sWFi7d9YJT4xLqS/3Xl7pEuowmCtHm7KnpfKmTXvnXs9OEjo3Ci6oA8x/4MDChs0RzjNHzw== - dependencies: - "@graphql-modules/epoxy" "0.2.18" - "@types/babylon" "6.16.4" - "@types/is-glob" "4.0.0" - "@types/prettier" "1.15.2" - "@types/valid-url" "1.0.2" - babel-types "7.0.0-beta.3" - babylon "7.0.0-beta.47" - chalk "2.4.1" - chokidar "2.0.4" - commander "2.19.0" - detect-indent "5.0.0" - glob "7.1.3" - graphql-codegen-core "0.15.2" - graphql-config "2.2.1" - graphql-import "0.7.1" - graphql-tag-pluck "0.4.4" - indent-string "3.2.0" - inquirer "6.2.1" - is-glob "4.0.0" - is-valid-path "0.1.1" - js-yaml "3.12.0" - json-to-pretty-yaml "1.2.2" - listr "0.14.3" - log-symbols "2.2.0" - log-update "2.3.0" - mkdirp "0.5.1" - prettier "1.15.3" - request "2.88.0" - valid-url "1.0.9" - -graphql-codegen-add@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/graphql-codegen-add/-/graphql-codegen-add-0.15.2.tgz#d447e57dc1db4b385882ce6307d047563ff63d2d" - integrity sha512-KWadUZpbTY/ssRI6rlRuugcSYc7UhcaXm9GoyfhRSdZgH1wIlpRv0kp0lKbo+JpXDcTykm8ggvb3Au9TdGQzhw== - dependencies: - graphql-codegen-core "0.15.2" - -graphql-codegen-core@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/graphql-codegen-core/-/graphql-codegen-core-0.15.2.tgz#f97ff2bcedddf8ce0623e21afef586f7249c453b" - integrity sha512-kMzeu4TSLVeYqhwBP1cRqHHpNhszC1jG00oKN2qmQ0jWpjiR8LymXrYHI7sYY+/+q2ASGRQhok9um8OgD2DsLw== - dependencies: - chalk "2.4.1" - change-case "3.0.2" - common-tags "1.8.0" - graphql-tag "2.10.0" - graphql-tools "4.0.3" - ts-log "2.1.4" - winston "3.1.0" - -graphql-codegen-introspection@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/graphql-codegen-introspection/-/graphql-codegen-introspection-0.15.2.tgz#6b0a4442a0bf6547511619ab16f29d50fe400fbb" - integrity sha512-MdKCO0pA97+Tq02eUHXgy7wmBm6VD3dUYseqKVy7hAc52SsEAcLB1iDwIMR1DuM6wwjP7SzelQmDKtCACGBipg== - -graphql-codegen-plugin-helpers@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/graphql-codegen-plugin-helpers/-/graphql-codegen-plugin-helpers-0.15.2.tgz#824e9003950412f12ccbc436577d11edb5f51fae" - integrity sha512-xGeLIwr3O+SK0VKgqh+Bjd3vLHpN8g/l2DPf/271Glf+TEaYzLvlm6sgd+wlwwIt28frQb9oXFUABM6sgTXv8Q== - dependencies: - graphql-codegen-core "0.15.2" - import-from "2.1.0" - -graphql-codegen-time@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/graphql-codegen-time/-/graphql-codegen-time-0.15.2.tgz#39ec1699ecb2af7af3a5f545464c5d0ba30a4cb1" - integrity sha512-IhjYlDKZqvEShxzg2j1r07A2OODA68y2ol9JCn0ePf+/6q1nnc7t9x1eUx2HQwKl1nqUHcBB61JPvbrfJVpg7A== - dependencies: - moment "2.23.0" - -graphql-codegen-typescript-apollo-angular@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/graphql-codegen-typescript-apollo-angular/-/graphql-codegen-typescript-apollo-angular-0.15.2.tgz#d0abab32bae537df06d45dff259e0d3163ec179c" - integrity sha512-Jm2JdFvH2WZ9GfpmwZ4AjGF4t+A0J7THb1TwqAJczB92U9uULtNTNbkU0mSxeEWS7Xy6VcKidBi2pyDF+wGvbg== - dependencies: - dependency-graph "0.8.0" - graphql-codegen-plugin-helpers "0.15.2" - graphql-codegen-typescript-common "0.15.2" - -graphql-codegen-typescript-client@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/graphql-codegen-typescript-client/-/graphql-codegen-typescript-client-0.15.2.tgz#37fab175306e37a2b814f84361f1ec4c3db06dc1" - integrity sha512-aPmIU4t6nYi9/rDgGm/WopHk7WHO5S93H7HS6WJwVb/VNbOaoz/Buvtb/jt4ljD+30kdaFMOoTFB3P8Zwg0i5g== - dependencies: - graphql-codegen-core "0.15.2" - graphql-codegen-plugin-helpers "0.15.2" - graphql-codegen-typescript-common "0.15.2" - -graphql-codegen-typescript-common@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/graphql-codegen-typescript-common/-/graphql-codegen-typescript-common-0.15.2.tgz#9368ca0d9a4f2938823d3dc80b364cd337c686df" - integrity sha512-y4LVrSpqGFiXv1SxeVjZZtoTpo/Y9JXxWtu7h5xHQquao6cp4K1wtkwUxzJwR86Me6InLjK+dBvNtrBnnet2Rw== - dependencies: - change-case "3.0.2" - common-tags "1.8.0" - graphql-codegen-core "0.15.2" - graphql-codegen-plugin-helpers "0.15.2" - -graphql-codegen-typescript-resolvers@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/graphql-codegen-typescript-resolvers/-/graphql-codegen-typescript-resolvers-0.15.2.tgz#bdf22a5f98388e41b918e68a568aca1a92a9dd79" - integrity sha512-XJG8Uzv70Ib1o9xWK0QF4hoHe/VpqbNI9TROXU/dKhbVAs+SMB0DYtG/zJRnYMz3He0ea/f1L1Bxopnx1VxDMg== - dependencies: - graphql-codegen-plugin-helpers "0.15.2" - graphql-codegen-typescript-common "0.15.2" - -graphql-codegen-typescript-server@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/graphql-codegen-typescript-server/-/graphql-codegen-typescript-server-0.15.2.tgz#dcf6000f22d1f66c7f2d9991fd37372efc61d74b" - integrity sha512-12rKf7+zAiPtDttb58uiq8WF0HmYCI6UN/+8UMdYSZbqHwVyY+D+aNRQLGq+wkw8oyN/mBtqEKuj89tQd/wt/w== - dependencies: - graphql-codegen-typescript-common "0.15.2" - -graphql-config@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-2.2.1.tgz#5fd0ec77ac7428ca5fb2026cf131be10151a0cb2" - integrity sha512-U8+1IAhw9m6WkZRRcyj8ZarK96R6lQBQ0an4lp76Ps9FyhOXENC5YQOxOFGm5CxPrX2rD0g3Je4zG5xdNJjwzQ== - dependencies: - graphql-import "^0.7.1" - graphql-request "^1.5.0" - js-yaml "^3.10.0" - lodash "^4.17.4" - minimatch "^3.0.4" - -graphql-import@0.7.1, graphql-import@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.7.1.tgz#4add8d91a5f752d764b0a4a7a461fcd93136f223" - integrity sha512-YpwpaPjRUVlw2SN3OPljpWbVRWAhMAyfSba5U47qGMOSsPLi2gYeJtngGpymjm9nk57RFWEpjqwh4+dpYuFAPw== - dependencies: - lodash "^4.17.4" - resolve-from "^4.0.0" - -graphql-request@^1.5.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-1.8.2.tgz#398d10ae15c585676741bde3fc01d5ca948f8fbe" - integrity sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg== - dependencies: - cross-fetch "2.2.2" - -graphql-tag-pluck@0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/graphql-tag-pluck/-/graphql-tag-pluck-0.4.4.tgz#4494c0e13d10aa9a36cea2704218940a1af47170" - integrity sha512-dvfRQ3aMxUYUYG+L+Z35npQ/OSNyitypYZ6wI908SqNQ6DQOWRX1WYcv590FOf2TrPOAY39dQEtq5u7mWMUGMw== - dependencies: - "@babel/parser" "^7.2.0" - "@babel/traverse" "^7.1.6" - "@babel/types" "^7.2.0" - source-map-support "^0.5.9" - typescript "^3.2.2" - -graphql-tag@2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.0.tgz#87da024be863e357551b2b8700e496ee2d4353ae" - integrity sha512-9FD6cw976TLLf9WYIUPCaaTpniawIjHWZSwIRZSjrfufJamcXbVVYfN2TWvJYbw0Xf2JjYbl1/f2+wDnBVw3/w== - -graphql-tag@2.10.1: - version "2.10.1" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.1.tgz#10aa41f1cd8fae5373eaf11f1f67260a3cad5e02" - integrity sha512-jApXqWBzNXQ8jYa/HLkZJaVw9jgwNqZkywa2zfFn16Iv1Zb7ELNHkJaXHR7Quvd5SIGsy6Ny7SUKATgnu05uEg== - -graphql-tools@4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.3.tgz#23b5cb52c519212b1b2e4630a361464396ad264b" - integrity sha512-NNZM0WSnVLX1zIMUxu7SjzLZ4prCp15N5L2T2ro02OVyydZ0fuCnZYRnx/yK9xjGWbZA0Q58yEO//Bv/psJWrg== - dependencies: - apollo-link "^1.2.3" - apollo-utilities "^1.0.1" - deprecated-decorator "^0.1.6" - iterall "^1.1.3" - uuid "^3.1.0" - -graphql@14.1.1: - version "14.1.1" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.1.1.tgz#d5d77df4b19ef41538d7215d1e7a28834619fac0" - integrity sha512-C5zDzLqvfPAgTtP8AUPIt9keDabrdRAqSWjj2OPRKrKxI9Fb65I36s1uCs1UUBFnSWTdO7hyHi7z1ZbwKMKF6Q== - dependencies: - iterall "^1.2.2" - -handle-thing@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" - integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== - -handlebars@^4.0.1: - version "4.0.12" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5" - integrity sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA== - dependencies: - async "^2.5.0" - optimist "^0.6.1" - source-map "^0.6.1" - optionalDependencies: - uglify-js "^3.1.4" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -header-case@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d" - integrity sha1-lTWXMZfBRLCWE81l0xfvGZY70C0= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.3" - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" - integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-entities@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" - integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= - -http-cache-semantics@^3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" - integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.4.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8" - integrity sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w== - -http-proxy-agent@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" - integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== - dependencies: - agent-base "4" - debug "3.1.0" - -http-proxy-middleware@~0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab" - integrity sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q== - dependencies: - http-proxy "^1.16.2" - is-glob "^4.0.0" - lodash "^4.17.5" - micromatch "^3.1.9" - -http-proxy@^1.16.2: - version "1.17.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" - integrity sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g== - dependencies: - eventemitter3 "^3.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -https-proxy-agent@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0" - integrity sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ== - dependencies: - agent-base "^4.1.0" - debug "^3.1.0" - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= - dependencies: - ms "^2.0.0" - -iconv-lite@0.4.23: - version "0.4.23" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" - integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@^1.1.4: - version "1.1.12" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" - integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== - dependencies: - minimatch "^3.0.4" - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -image-size@~0.5.0: - version "0.5.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= - -immutable-tuple@^0.4.9: - version "0.4.10" - resolved "https://registry.yarnpkg.com/immutable-tuple/-/immutable-tuple-0.4.10.tgz#e0b1625384f514084a7a84b749a3bb26e9179929" - integrity sha512-45jheDbc3Kr5Cw8EtDD+4woGRUV0utIrJBZT8XH0TPZRfm8tzT0/sLGGzyyCCFqFMG5Pv5Igf3WY/arn6+8V9Q== - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-from@2.1.0, import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -in-publish@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" - integrity sha1-4g/146KvwmkDILbcVSaCqcf631E= - -indent-string@3.2.0, indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -ini@1.3.5, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -inquirer@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.1.tgz#9943fc4882161bdb0b0c9276769c75b32dbfcd52" - integrity sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.0" - figures "^2.0.0" - lodash "^4.17.10" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.1.0" - string-width "^2.1.0" - strip-ansi "^5.0.0" - through "^2.3.6" - -internal-ip@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz#df5c99876e1d2eb2ea2d74f520e3f669a00ece27" - integrity sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q== - dependencies: - default-gateway "^2.6.0" - ipaddr.js "^1.5.2" - -interpret@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== - -invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" - integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= - -ipaddr.js@^1.5.2: - version "1.8.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.1.tgz#fa4b79fa47fd3def5e3b159825161c0a519c9427" - integrity sha1-+kt5+kf9Pe9eOxWYJRYcClGclCc= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74= - dependencies: - builtin-modules "^1.0.0" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-glob@4.0.0, is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= - dependencies: - is-extglob "^2.1.1" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= - dependencies: - is-extglob "^1.0.0" - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-invalid-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-invalid-path/-/is-invalid-path-0.1.0.tgz#307a855b3cf1a938b44ea70d2c61106053714f34" - integrity sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ= - dependencies: - is-glob "^2.0.0" - -is-lower-case@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393" - integrity sha1-fhR75HaNxGbbO/shzGCzHmrWk5M= - dependencies: - lower-case "^1.1.0" - -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= - dependencies: - kind-of "^3.0.2" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== - -is-observable@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" - integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== - dependencies: - symbol-observable "^1.1.0" - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= - -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-ua-webview@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-ua-webview/-/is-ua-webview-1.0.1.tgz#2d5e85f1b8a6afb497cce07ecb11972ec5597314" - integrity sha512-0/ex7fXiKlsAOs8IbGi9nzYu6eTCHNUmK0wa2QlQ3zuxejGYjoG5ROJ51dsek4Ut2RMD5xaFwB/H0XUWrpTHlQ== - -is-upper-case@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f" - integrity sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8= - dependencies: - upper-case "^1.1.0" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-valid-path@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-valid-path/-/is-valid-path-0.1.1.tgz#110f9ff74c37f663e1ec7915eb451f2db93ac9df" - integrity sha1-EQ+f90w39mPh7HkV60UfLbk6yd8= - dependencies: - is-invalid-path "^0.1.0" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-instrumenter-loader@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz#9957bd59252b373fae5c52b7b5188e6fde2a0949" - integrity sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w== - dependencies: - convert-source-map "^1.5.0" - istanbul-lib-instrument "^1.7.3" - loader-utils "^1.1.0" - schema-utils "^0.3.0" - -istanbul-lib-coverage@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" - integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== - -istanbul-lib-instrument@^1.7.3: - version "1.10.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" - integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A== - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.2.1" - semver "^5.3.0" - -istanbul@0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" - integrity sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs= - dependencies: - abbrev "1.0.x" - async "1.x" - escodegen "1.8.x" - esprima "2.7.x" - glob "^5.0.15" - handlebars "^4.0.1" - js-yaml "3.x" - mkdirp "0.5.x" - nopt "3.x" - once "1.x" - resolve "1.1.x" - supports-color "^3.1.0" - which "^1.1.1" - wordwrap "^1.0.0" - -iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" - integrity sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA== - -js-base64@^2.1.8: - version "2.5.0" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.0.tgz#42255ba183ab67ce59a0dee640afdc00ab5ae93e" - integrity sha512-wlEBIZ5LP8usDylWbDNhKPEFVFdI5hCHpnVoT/Ysvoi/PRhJENm/Rlh9TvjYB38HFfKZN7OzEbRjmjvLkFw11g== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - -js-yaml@3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" - integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@3.x, js-yaml@^3.10.0, js-yaml@^3.7.0, js-yaml@^3.9.0: - version "3.12.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600" - integrity sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json-to-pretty-yaml@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz#f4cd0bd0a5e8fe1df25aaf5ba118b099fd992d5b" - integrity sha1-9M0L0KXo/h3yWq9boRiwmf2ZLVs= - dependencies: - remedial "^1.0.7" - remove-trailing-spaces "^1.0.6" - -json3@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE= - -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -karma-source-map-support@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/karma-source-map-support/-/karma-source-map-support-1.3.0.tgz#36dd4d8ca154b62ace95696236fae37caf0a7dde" - integrity sha512-HcPqdAusNez/ywa+biN4EphGz62MmQyPggUsDfsHqa7tSe4jdsxgvTKuDfIazjL+IOxpVWyT7Pr4dhAV+sxX5Q== - dependencies: - source-map-support "^0.5.5" - -killable@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== - -kuler@1.0.x: - version "1.0.1" - resolved "https://registry.yarnpkg.com/kuler/-/kuler-1.0.1.tgz#ef7c784f36c9fb6e16dd3150d152677b2b0228a6" - integrity sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ== - dependencies: - colornames "^1.1.1" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - dependencies: - invert-kv "^1.0.0" - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - -less-loader@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-4.1.0.tgz#2c1352c5b09a4f84101490274fd51674de41363e" - integrity sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg== - dependencies: - clone "^2.1.1" - loader-utils "^1.1.0" - pify "^3.0.0" - -less@3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/less/-/less-3.9.0.tgz#b7511c43f37cf57dc87dffd9883ec121289b1474" - integrity sha512-31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w== - dependencies: - clone "^2.1.2" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - mime "^1.4.1" - mkdirp "^0.5.0" - promise "^7.1.1" - request "^2.83.0" - source-map "~0.6.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -license-webpack-plugin@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.0.4.tgz#48532e7d7b45f6ceb21a68b6826ce7241d7ea6da" - integrity sha512-FQgOqrrIcD4C/VQo6ecWgXZULK5rs0kIDJtHcSVO6SBUrD63kEHZwmKOvBTquFQSgMQn/yeH68qooKDfqiBF2Q== - dependencies: - "@types/webpack-sources" "^0.1.5" - webpack-sources "^1.2.0" - -listr-silent-renderer@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" - integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= - -listr-update-renderer@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" - integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^2.3.0" - strip-ansi "^3.0.1" - -listr-verbose-renderer@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" - integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw== - dependencies: - chalk "^2.4.1" - cli-cursor "^2.1.0" - date-fns "^1.27.2" - figures "^2.0.0" - -listr@0.14.3: - version "0.14.3" - resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" - integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== - dependencies: - "@samverschueren/stream-to-observable" "^0.3.0" - is-observable "^1.1.0" - is-promise "^2.1.0" - is-stream "^1.1.0" - listr-silent-renderer "^1.1.1" - listr-update-renderer "^0.5.0" - listr-verbose-renderer "^0.5.0" - p-map "^2.0.0" - rxjs "^6.3.3" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -loader-runner@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" - integrity sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0= - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - -loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -lodash.assign@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= - -lodash.clonedeep@^4.3.2, lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.mergewith@^4.6.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" - integrity sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ== - -lodash.tail@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" - integrity sha1-0jM6NtnncXyK0vfKyv7HwytERmQ= - -lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== - -log-symbols@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== - dependencies: - chalk "^2.0.1" - -log-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= - dependencies: - chalk "^1.0.0" - -log-update@2.3.0, log-update@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" - integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= - dependencies: - ansi-escapes "^3.0.0" - cli-cursor "^2.0.0" - wrap-ansi "^3.0.1" - -logform@^1.9.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/logform/-/logform-1.10.0.tgz#c9d5598714c92b546e23f4e78147c40f1e02012e" - integrity sha512-em5ojIhU18fIMOw/333mD+ZLE2fis0EzXl1ZwHx4iQzmpQi6odNiY/t+ITNr33JZhT9/KEaH+UPIipr6a9EjWg== - dependencies: - colors "^1.2.1" - fast-safe-stringify "^2.0.4" - fecha "^2.3.3" - ms "^2.1.1" - triple-beam "^1.2.0" - -loglevel@^1.4.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" - integrity sha1-4PyVEztu8nbNyIh82vJKpvFW+Po= - -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lower-case-first@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1" - integrity sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E= - dependencies: - lower-case "^1.1.2" - -lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= - -lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache@^4.1.3: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -magic-string@^0.25.0: - version "0.25.1" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.1.tgz#b1c248b399cd7485da0fe7385c2fc7011843266e" - integrity sha512-sCuTz6pYom8Rlt4ISPFn6wuFodbKMIHUMv4Qko9P17dpxb7s52KJTmRuZZqHdGmLCK9AOcDare039nRIcfdkEg== - dependencies: - sourcemap-codec "^1.4.1" - -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-error@^1.1.1: - version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== - -make-fetch-happen@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz#141497cb878f243ba93136c83d8aba12c216c083" - integrity sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ== - dependencies: - agentkeepalive "^3.4.1" - cacache "^11.0.1" - http-cache-semantics "^3.8.1" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" - lru-cache "^4.1.2" - mississippi "^3.0.0" - node-fetch-npm "^2.0.2" - promise-retry "^1.1.1" - socks-proxy-agent "^4.0.0" - ssri "^6.0.0" - -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -math-random@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" - integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= - dependencies: - mimic-fn "^1.0.0" - -mem@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf" - integrity sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^1.0.0" - p-is-promise "^1.1.0" - -memory-fs@^0.4.0, memory-fs@~0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^2.1.5: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -"mime-db@>= 1.36.0 < 2", mime-db@~1.37.0: - version "1.37.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" - integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== - -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.19: - version "2.1.21" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" - integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== - dependencies: - mime-db "~1.37.0" - -mime@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" - integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== - -mime@^1.4.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.3.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz#e051fd881358585f3279df333fe694da0bcffdd6" - integrity sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mini-css-extract-plugin@0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.4.tgz#c10410a004951bd3cedac1da69053940fccb625d" - integrity sha512-o+Jm+ocb0asEngdM6FsZWtZsRzA8koFUudIDwYUfl94M3PejPHG7Vopw5hN9V8WsMkSFpm3tZP3Fesz89EyrfQ== - dependencies: - loader-utils "^1.1.0" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - -minipass@^2.2.1, minipass@^2.3.4, minipass@^2.3.5: - version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== - dependencies: - minipass "^2.2.1" - -mississippi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" - integrity sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^2.0.1" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mixin-object@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" - integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= - dependencies: - for-in "^0.1.3" - is-extendable "^0.1.1" - -mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -moment@2.23.0: - version "2.23.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.23.0.tgz#759ea491ac97d54bac5ad776996e2a58cc1bc225" - integrity sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA== - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@^2.0.0, ms@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -nan@^2.10.0, nan@^2.9.2: - version "2.12.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" - integrity sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -needle@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" - integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== - dependencies: - debug "^2.1.2" - iconv-lite "^0.4.4" - sax "^1.2.4" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= - -neo-async@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835" - integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA== - -ng-lazyload-image@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ng-lazyload-image/-/ng-lazyload-image-5.0.0.tgz#b2ba9ca27eb4b8a4a3603878d8f7e289ce774156" - integrity sha512-3EGTO2Evd28NLFioDXfKBWqwCdtciV3klMuUW3e6r2kctvbrZ5jQV7uzwNKoK53j88mD2O2BAojoQ6Otd6Gt0A== - -ng2-semantic-ui@0.9.7: - version "0.9.7" - resolved "https://registry.yarnpkg.com/ng2-semantic-ui/-/ng2-semantic-ui-0.9.7.tgz#d68f5c211a0878fc89633707e50b365b593d45ee" - integrity sha512-A7I3c1n65OXKa7YVxq6I2DjgWgKcyInVjSpze1hm73HPEEULoUSGBOK8IxbUxUUWiVvC6aGHd+IuoE4EkAIS0w== - dependencies: - bowser "^1.7.2" - date-fns "2.0.0-alpha.1" - element-closest "^2.0.2" - extend "^3.0.1" - is-ua-webview "^1.0.0" - popper.js "^1.14.0" - rxjs "^5.0.1" - -ngx-clipboard@11.1.9: - version "11.1.9" - resolved "https://registry.yarnpkg.com/ngx-clipboard/-/ngx-clipboard-11.1.9.tgz#a391853dc49e436de407260863a2c814d73a9332" - integrity sha512-xF54Ibt/04g2B5SnYylNz7ESP1/thuC7odo+0bKkgbCC873NaqP1VTVx/umh/cnezlXKu8zuWNzzg05tvfgaJg== - dependencies: - ngx-window-token "^1.0.2" - tslib "^1.9.0" - -ngx-pagination@3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ngx-pagination/-/ngx-pagination-3.2.1.tgz#d82fe15b03a628621dabb835ebc90011f2557689" - integrity sha512-+dprQkYoiNYDZkNAe/1HX0wDFbwCTE31mC2bEQVdI7ZbjEIvGB7R3zp5QoCKgz6cPFatUj4Iw6Ukqp5zx0oT/Q== - -ngx-window-token@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ngx-window-token/-/ngx-window-token-1.0.2.tgz#2ebadd300fee1f61eb8b851b0ad97b1f46f5e4cc" - integrity sha512-bFgvi7MYSK1p4b3Mqvn9+biXaO8QDEbpP2sEMSwr0Zgrwh6zCO3F92a6SIIzusqpZBAhxyfVSqj3mO5qIxlM5Q== - dependencies: - tslib "^1.9.0" - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^2.2.0, no-case@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== - dependencies: - lower-case "^1.1.1" - -node-fetch-npm@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" - integrity sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw== - dependencies: - encoding "^0.1.11" - json-parse-better-errors "^1.0.0" - safe-buffer "^5.1.1" - -node-fetch@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" - integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U= - -node-forge@0.7.5: - version "0.7.5" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" - integrity sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ== - -node-gyp@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" - integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "^2.87.0" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" - -node-libs-browser@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77" - integrity sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.0" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "0.0.4" - -node-pre-gyp@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" - integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-releases@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.3.tgz#aad9ce0dcb98129c753f772c0aa01360fb90fbd2" - integrity sha512-6VrvH7z6jqqNFY200kdB6HdzkgM96Oaj9v3dqGfgp6mF+cHmU4wyQKZ2/WPDRVoR0Jz9KqbamaBN0ZhdUaysUQ== - dependencies: - semver "^5.3.0" - -node-sass@4.10.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.10.0.tgz#dcc2b364c0913630945ccbf7a2bbf1f926effca4" - integrity sha512-fDQJfXszw6vek63Fe/ldkYXmRYK/QS6NbvM3i5oEo9ntPDy4XX7BcKZyTKv+/kSSxRtXXc7l+MSwEmYc0CSy6Q== - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^3.0.0" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - in-publish "^2.0.0" - lodash.assign "^4.2.0" - lodash.clonedeep "^4.3.2" - lodash.mergewith "^4.6.0" - meow "^3.7.0" - mkdirp "^0.5.1" - nan "^2.10.0" - node-gyp "^3.8.0" - npmlog "^4.0.0" - request "^2.88.0" - sass-graph "^2.2.4" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - -"nopt@2 || 3", nopt@3.x: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - dependencies: - abbrev "1" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -npm-bundled@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" - integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== - -npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" - integrity sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA== - dependencies: - hosted-git-info "^2.6.0" - osenv "^0.1.5" - semver "^5.5.0" - validate-npm-package-name "^3.0.0" - -npm-packlist@^1.1.12, npm-packlist@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.2.0.tgz#55a60e793e272f00862c7089274439a4cc31fc7f" - integrity sha512-7Mni4Z8Xkx0/oegoqlcao/JpPCPEMtUvsmB0q7mgvlMinykJLSRTYuFqoQLYgGY8biuxIeiHO+QNJKbCfljewQ== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-pick-manifest@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz#32111d2a9562638bb2c8f2bf27f7f3092c8fae40" - integrity sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA== - dependencies: - figgy-pudding "^3.5.1" - npm-package-arg "^6.0.0" - semver "^5.4.1" - -npm-registry-fetch@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-3.8.0.tgz#aa7d9a7c92aff94f48dba0984bdef4bd131c88cc" - integrity sha512-hrw8UMD+Nob3Kl3h8Z/YjmKamb1gf7D1ZZch2otrIXM3uFLB5vjEY6DhMlq80z/zZet6eETLbOXcuQudCB3Zpw== - dependencies: - JSONStream "^1.3.4" - bluebird "^3.5.1" - figgy-pudding "^3.4.1" - lru-cache "^4.1.3" - make-fetch-happen "^4.0.1" - npm-package-arg "^6.1.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" - integrity sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c= - -once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -one-time@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/one-time/-/one-time-0.0.4.tgz#f8cdf77884826fe4dff93e3a9cc37b1e4480742e" - integrity sha1-+M33eISCb+Tf+T46nMN7HkSAdC4= - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -opn@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c" - integrity sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g== - dependencies: - is-wsl "^1.1.0" - -opn@^5.1.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" - integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw== - dependencies: - is-wsl "^1.1.0" - -optimism@^0.6.9: - version "0.6.9" - resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.6.9.tgz#19258ff8b3be0cea29ac35f06bff818e026e30bb" - integrity sha512-xoQm2lvXbCA9Kd7SCx6y713Y7sZ6fUc5R6VYpoL5M6svKJbTuvtNopexK8sO8K4s0EOUYHuPN2+yAEsNyRggkQ== - dependencies: - immutable-tuple "^0.4.9" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -original@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== - dependencies: - url-parse "^1.4.3" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= - dependencies: - lcid "^1.0.0" - -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - -os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@0, osenv@^0.1.4, osenv@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-is-promise@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" - integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4= - -p-limit@^1.0.0, p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" - integrity sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== - -p-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.0.0.tgz#be18c5a5adeb8e156460651421aceca56c213a50" - integrity sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w== - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" - integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== - -pacote@9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.1.1.tgz#25091f75a25021de8be8d34cc6408728fca3579b" - integrity sha512-f28Rq5ozzKAA9YwIKw61/ipwAatUZseYmVssDbHHaexF0wRIVotapVEZPAjOT7Eu3LYVqEp0NVpNizoAnYBUaA== - dependencies: - bluebird "^3.5.2" - cacache "^11.2.0" - figgy-pudding "^3.5.1" - get-stream "^4.1.0" - glob "^7.1.3" - lru-cache "^4.1.3" - make-fetch-happen "^4.0.1" - minimatch "^3.0.4" - minipass "^2.3.5" - mississippi "^3.0.0" - mkdirp "^0.5.1" - normalize-package-data "^2.4.0" - npm-package-arg "^6.1.0" - npm-packlist "^1.1.12" - npm-pick-manifest "^2.1.0" - npm-registry-fetch "^3.8.0" - osenv "^0.1.5" - promise-inflight "^1.0.1" - promise-retry "^1.1.1" - protoduck "^5.0.1" - rimraf "^2.6.2" - safe-buffer "^5.1.2" - semver "^5.6.0" - ssri "^6.0.1" - tar "^4.4.6" - unique-filename "^1.1.1" - which "^1.3.1" - -pako@~1.0.5: - version "1.0.8" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.8.tgz#6844890aab9c635af868ad5fecc62e8acbba3ea4" - integrity sha512-6i0HVbUfcKaTv+EG8ZTr75az7GFXcLYk9UyLEg7Notv/Ma+z/UG3TCoz6GiNeOrn1E/e63I0X/Hpw18jHOTUnA== - -parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= - dependencies: - cyclist "~0.2.2" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= - dependencies: - no-case "^2.2.0" - -parse-asn1@^5.0.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.3.tgz#1600c6cc0727365d68b97f3aa78939e735a75204" - integrity sha512-VrPoetlz7B/FqjBLD2f5wBVZvsZVLnRUrxVLfRYhGXCODa/NWE4p3Wp+6+aV3ZPL3KM7/OZmxDIwwijD7yuucg== - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== - -parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= - -pascal-case@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e" - integrity sha1-LVeNNFX2YNpl7KGO+VtODekSdh4= - dependencies: - camel-case "^3.0.0" - upper-case-first "^1.1.0" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= - -path-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5" - integrity sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU= - dependencies: - no-case "^2.2.0" - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -popper.js@^1.14.0: - version "1.14.6" - resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.6.tgz#ab20dd4edf9288b8b3b6531c47c361107b60b4b0" - integrity sha512-AGwHGQBKumlk/MDfrSOf0JHhJCImdDMcGNoqKmKkU+68GFazv3CQ6q9r7Ja1sKDZmYWTckY/uLyEznheTDycnA== - -portfinder@1.0.17: - version "1.0.17" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.17.tgz#a8a1691143e46c4735edefcf4fbcccedad26456a" - integrity sha512-syFcRIRzVI1BoEFOCaAiizwDolh1S1YXSodsVhncbhjzjZQulhczNRbqnUl9N31Q4dKGOXsNDqxC2BWBgSMqeQ== - dependencies: - async "^1.5.2" - debug "^2.2.0" - mkdirp "0.5.x" - -portfinder@^1.0.9: - version "1.0.20" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a" - integrity sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw== - dependencies: - async "^1.5.2" - debug "^2.2.0" - mkdirp "0.5.x" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-import@12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-12.0.0.tgz#149f96a4ef0b27525c419784be8517ebd17e92c5" - integrity sha512-3KqKRZcaZAvxbY8DVLdd81tG5uKzbUQuiWIvy0o0fzEC42bKacqPYFWbfCQyw6L4LWUaqPz/idvIdbhpgQ32eQ== - dependencies: - postcss "^7.0.1" - postcss-value-parser "^3.2.3" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-load-config@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.0.0.tgz#f1312ddbf5912cd747177083c5ef7a19d62ee484" - integrity sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ== - dependencies: - cosmiconfig "^4.0.0" - import-cwd "^2.0.0" - -postcss-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss@7.0.11: - version "7.0.11" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.11.tgz#f63c513b78026d66263bb2ca995bf02e3d1a697d" - integrity sha512-9AXb//5UcjeOEof9T+yPw3XTa5SL207ZOIC/lHYP4mbUTEh4M0rDAQekQpVANCZdwQwKhBtFZCk3i3h3h2hdWg== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.6: - version "7.0.13" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.13.tgz#42bf716413e8f1c786ab71dc6e722b3671b16708" - integrity sha512-h8SY6kQTd1wISHWjz+E6cswdhMuyBZRb16pSTv3W4zYZ3/YbyWeJdNUeOXB5IdZqE1U76OUEjjjqsC3z2f3hVg== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= - -prettier@1.15.3: - version "1.15.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.15.3.tgz#1feaac5bdd181237b54dbe65d874e02a1472786a" - integrity sha512-gAU9AGAPMaKb3NNSUUuhhFAS7SCO4ALTN4nRIn6PJ075Qd28Yn2Ig2ahEJWdJwJmlEBTUfC7mMUSFy8MwsOCfg== - -process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -promise-retry@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" - integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0= - dependencies: - err-code "^1.0.0" - retry "^0.10.0" - -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - -protoduck@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f" - integrity sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg== - dependencies: - genfun "^5.0.0" - -proxy-addr@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" - integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA== - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.8.0" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.24: - version "1.1.31" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" - integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0, pump@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@6.5.2, qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef" - integrity sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg== - -randomatic@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" - integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== - dependencies: - is-number "^4.0.0" - kind-of "^6.0.0" - math-random "^1.0.1" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" - integrity sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.0.3, range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= - -raw-body@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" - integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== - dependencies: - bytes "3.0.0" - http-errors "1.6.3" - iconv-lite "0.4.23" - unpipe "1.0.0" - -raw-loader@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" - integrity sha1-DD0L6u2KAclm2Xh793goElKpeao= - -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha1-5mTvMRYRZsl1HNvo28+GtftY93Q= - dependencies: - pify "^2.3.0" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6: - version "3.1.1" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.1.1.tgz#ed6bbc6c5ba58b090039ff18ce670515795aeb06" - integrity sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -reflect-metadata@^0.1.2: - version "0.1.13" - resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" - integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== - -regenerate@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== - dependencies: - is-equal-shallow "^0.1.3" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= - dependencies: - jsesc "~0.5.0" - -remedial@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/remedial/-/remedial-1.0.8.tgz#a5e4fd52a0e4956adbaf62da63a5a46a78c578a0" - integrity sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -remove-trailing-spaces@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/remove-trailing-spaces/-/remove-trailing-spaces-1.0.7.tgz#491f04e11d98880714d12429b0d0938cbe030ae6" - integrity sha512-wjM17CJ2kk0SgoGyJ7ZMzRRCuTq+V8YhMwpZ5XEWX0uaked2OUq6utvHXGNBQrfkUzUUABFMyxlKn+85hMv4dg== - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.5.2, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - -request@2.88.0, request@^2.83.0, request@^2.87.0, request@^2.88.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@1.1.x: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2: - version "1.9.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06" - integrity sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ== - dependencies: - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -retry@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" - integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= - -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rxjs-compat@6.3.3: - version "6.3.3" - resolved "https://registry.yarnpkg.com/rxjs-compat/-/rxjs-compat-6.3.3.tgz#2ab3b9ac0dac0c073749d55fef9c03ea1df2045c" - integrity sha512-caGN7ixiabHpOofginKEquuHk7GgaCrC7UpUQ9ZqGp80tMc68msadOeP/2AKy2R4YJsT1+TX5GZCtxO82qWkyA== - -rxjs@6.3.3, rxjs@^6.1.0: - version "6.3.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" - integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw== - dependencies: - tslib "^1.9.0" - -rxjs@^5.0.1: - version "5.5.12" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" - integrity sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw== - dependencies: - symbol-observable "1.0.1" - -rxjs@^6.3.3: - version "6.4.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" - integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== - dependencies: - tslib "^1.9.0" - -safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sass-graph@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" - integrity sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k= - dependencies: - glob "^7.0.0" - lodash "^4.0.0" - scss-tokenizer "^0.2.3" - yargs "^7.0.0" - -sass-loader@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.1.0.tgz#16fd5138cb8b424bf8a759528a1972d72aad069d" - integrity sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w== - dependencies: - clone-deep "^2.0.1" - loader-utils "^1.0.1" - lodash.tail "^4.1.1" - neo-async "^2.5.0" - pify "^3.0.0" - semver "^5.5.0" - -sax@0.5.x: - version "0.5.8" - resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1" - integrity sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE= - -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -schema-utils@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" - integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8= - dependencies: - ajv "^5.0.0" - -schema-utils@^0.4.4: - version "0.4.7" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" - integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ== - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -scss-tokenizer@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" - integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= - dependencies: - js-base64 "^2.1.8" - source-map "^0.4.2" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.9.1: - version "1.10.4" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd" - integrity sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw== - dependencies: - node-forge "0.7.5" - -semver-dsl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/semver-dsl/-/semver-dsl-1.0.1.tgz#d3678de5555e8a61f629eed025366ae5f27340a0" - integrity sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA= - dependencies: - semver "^5.3.0" - -semver-intersect@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/semver-intersect/-/semver-intersect-1.4.0.tgz#bdd9c06bedcdd2fedb8cd352c3c43ee8c61321f3" - integrity sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ== - dependencies: - semver "^5.0.0" - -"semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" - integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== - -semver@5.5.1: - version "5.5.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477" - integrity sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw== - -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= - -send@0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" - integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.6.2" - mime "1.4.1" - ms "2.0.0" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.4.0" - -sentence-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4" - integrity sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ= - dependencies: - no-case "^2.2.0" - upper-case-first "^1.1.2" - -serialize-javascript@^1.4.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879" - integrity sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw== - -serve-index@^1.7.2: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.13.2: - version "1.13.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" - integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.16.2" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571" - integrity sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA== - dependencies: - is-extendable "^0.1.1" - kind-of "^5.0.0" - mixin-object "^2.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shelljs@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" - integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= - -smart-buffer@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.1.tgz#07ea1ca8d4db24eb4cac86537d7d18995221ace3" - integrity sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg== - -snake-case@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f" - integrity sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8= - dependencies: - no-case "^2.2.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sockjs-client@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" - integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg== - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - -sockjs@0.3.19: - version "0.3.19" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== - dependencies: - faye-websocket "^0.10.0" - uuid "^3.0.1" - -socks-proxy-agent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz#5936bf8b707a993079c6f37db2091821bffa6473" - integrity sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw== - dependencies: - agent-base "~4.2.0" - socks "~2.2.0" - -socks@~2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.2.2.tgz#f061219fc2d4d332afb4af93e865c84d3fa26e2b" - integrity sha512-g6wjBnnMOZpE0ym6e0uHSddz9p3a+WsBaaYQaBaSCJYvrC4IXykQR9MNGjLQf38e9iIIhp3b1/Zk8YZI3KGJ0Q== - dependencies: - ip "^1.1.5" - smart-buffer "^4.0.1" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-list-map@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" - integrity sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY= - -source-map-loader@0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-0.2.4.tgz#c18b0dc6e23bf66f6792437557c569a11e072271" - integrity sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ== - dependencies: - async "^2.5.0" - loader-utils "^1.1.0" - -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@0.5.9: - version "0.5.9" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" - integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@^0.5.9, source-map-support@~0.5.6: - version "0.5.10" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" - integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@0.1.x: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - integrity sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y= - dependencies: - amdefine ">=0.0.4" - -source-map@0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - integrity sha1-dc449SvwczxafwwRjYEzSiu19BI= - -source-map@0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -source-map@^0.4.2, source-map@~0.4.1: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - integrity sha1-66T12pwNyZneaAMti092FzZSA2s= - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" - integrity sha1-2rc/vPwrqBm03gO9b26qSBZLP50= - dependencies: - amdefine ">=0.0.4" - -sourcemap-codec@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz#c63ea927c029dd6bd9a2b7fa03b3fec02ad56e9f" - integrity sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg== - -spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" - integrity sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52" - integrity sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -speed-measure-webpack-plugin@1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.2.5.tgz#8179936eb8c5e891f7481bd5075a9ea9a0f74823" - integrity sha512-S/guYjC4Izn5wY2d0+M4zowED/F77Lxh9yjkTZ+XAr244pr9c1MYNcXcRe9lx2hmAj0GPbOrBXgOF2YIp/CZ8A== - dependencies: - chalk "^2.0.1" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" - integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.0.tgz#1d4963a2fbffe58050aa9084ca20be81741c07de" - integrity sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^5.2.4: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" - integrity sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ== - dependencies: - safe-buffer "^5.1.1" - -ssri@^6.0.0, ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - -stack-trace@0.0.x: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stats-webpack-plugin@0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/stats-webpack-plugin/-/stats-webpack-plugin-0.7.0.tgz#ccffe9b745de8bbb155571e063f8263fc0e2bc06" - integrity sha512-NT0YGhwuQ0EOX+uPhhUcI6/+1Sq/pMzNuSCBVT4GbFl/ac6I/JZefBcjlECNfAb1t3GOx5dEj1Z7x0cAxeeVLQ== - dependencies: - lodash "^4.17.4" - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -statuses@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" - integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== - -stdout-stream@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" - integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== - dependencies: - readable-stream "^2.0.1" - -stream-browserify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" - integrity sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds= - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" - integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== - dependencies: - safe-buffer "~5.1.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.0.0.tgz#f78f68b5d0866c20b2c9b8c61b5298508dc8756f" - integrity sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow== - dependencies: - ansi-regex "^4.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -style-loader@0.23.1: - version "0.23.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" - integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== - dependencies: - loader-utils "^1.1.0" - schema-utils "^1.0.0" - -stylus-loader@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-3.0.2.tgz#27a706420b05a38e038e7cacb153578d450513c6" - integrity sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA== - dependencies: - loader-utils "^1.0.2" - lodash.clonedeep "^4.5.0" - when "~3.6.x" - -stylus@0.54.5: - version "0.54.5" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.5.tgz#42b9560931ca7090ce8515a798ba9e6aa3d6dc79" - integrity sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk= - dependencies: - css-parse "1.7.x" - debug "*" - glob "7.0.x" - mkdirp "0.5.x" - sax "0.5.x" - source-map "0.1.x" - -subscriptions-transport-ws@0.9.15: - version "0.9.15" - resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.15.tgz#68a8b7ba0037d8c489fb2f5a102d1494db297d0d" - integrity sha512-f9eBfWdHsePQV67QIX+VRhf++dn1adyC/PZHP6XI5AfKnZ4n0FW+v5omxwdHVpd4xq2ZijaHEcmlQrhBY79ZWQ== - dependencies: - backo2 "^1.0.2" - eventemitter3 "^3.1.0" - iterall "^1.2.1" - symbol-observable "^1.0.4" - ws "^5.2.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^3.1.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= - dependencies: - has-flag "^1.0.0" - -supports-color@^5.1.0, supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -swap-case@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3" - integrity sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM= - dependencies: - lower-case "^1.1.1" - upper-case "^1.1.1" - -symbol-observable@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" - integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= - -symbol-observable@1.2.0, symbol-observable@^1.0.2, symbol-observable@^1.0.4, symbol-observable@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== - -tapable@^1.0.0, tapable@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e" - integrity sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA== - -tar@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - integrity sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE= - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - -tar@^4, tar@^4.4.6: - version "4.4.8" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" - integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.4" - minizlib "^1.1.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.2" - -terser-webpack-plugin@1.2.1, terser-webpack-plugin@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.1.tgz#7545da9ae5f4f9ae6a0ac961eb46f5e7c845cc26" - integrity sha512-GGSt+gbT0oKcMDmPx4SRSfJPE1XaN3kQRWG4ghxKQw9cn5G9x6aCKSsgYdvyM0na9NJ4Drv0RG6jbBByZ5CMjw== - dependencies: - cacache "^11.0.2" - find-cache-dir "^2.0.0" - schema-utils "^1.0.0" - serialize-javascript "^1.4.0" - source-map "^0.6.1" - terser "^3.8.1" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - -terser@^3.8.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.14.1.tgz#cc4764014af570bc79c79742358bd46926018a32" - integrity sha512-NSo3E99QDbYSMeJaEk9YW2lTg3qS9V0aKGlb+PlOrei1X02r1wSBHCNX/O+yeTRFSWPKPIGj6MqvvdqV4rnVGw== - dependencies: - commander "~2.17.1" - source-map "~0.6.1" - source-map-support "~0.5.6" - -text-hex@1.0.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" - integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -"through@>=2.2.7 <3", through@X.X.X, through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -thunky@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" - integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== - -timers-browserify@^2.0.4: - version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" - integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== - dependencies: - setimmediate "^1.0.4" - -title-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa" - integrity sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o= - dependencies: - no-case "^2.2.0" - upper-case "^1.0.3" - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - -tree-kill@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.0.tgz#5846786237b4239014f05db156b643212d4c6f36" - integrity sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg== - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - -triple-beam@^1.2.0, triple-beam@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" - integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== - -"true-case-path@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" - integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== - dependencies: - glob "^7.1.2" - -ts-log@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/ts-log/-/ts-log-2.1.4.tgz#063c5ad1cbab5d49d258d18015963489fb6fb59a" - integrity sha512-P1EJSoyV+N3bR/IWFeAqXzKPZwHpnLY6j7j58mAvewHRipo+BQM2Y1f9Y9BjEQznKwgqqZm7H8iuixmssU7tYQ== - -ts-node@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" - integrity sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw== - dependencies: - arrify "^1.0.0" - buffer-from "^1.1.0" - diff "^3.1.0" - make-error "^1.1.1" - minimist "^1.2.0" - mkdirp "^0.5.1" - source-map-support "^0.5.6" - yn "^2.0.0" - -tslib@1.9.3, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== - -tslint@5.12.1: - version "5.12.1" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.12.1.tgz#8cec9d454cf8a1de9b0a26d7bdbad6de362e52c1" - integrity sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw== - dependencies: - babel-code-frame "^6.22.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^3.2.0" - glob "^7.1.1" - js-yaml "^3.7.0" - minimatch "^3.0.4" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.8.0" - tsutils "^2.27.2" - -tsutils@^2.27.2: - version "2.29.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== - dependencies: - tslib "^1.8.1" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-is@~1.6.16: - version "1.6.16" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" - integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.18" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typescript@3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.2.tgz#fe8101c46aa123f8353523ebdcf5730c2ae493e5" - integrity sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg== - -typescript@3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.4.tgz#c585cb952912263d915b462726ce244ba510ef3d" - integrity sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg== - -typescript@^3.2.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3.tgz#f1657fc7daa27e1a8930758ace9ae8da31403221" - integrity sha512-Y21Xqe54TBVp+VDSNbuDYdGw0BpoR/Q6wo/+35M8PAU0vipahnyduJWirxxdxjsAkS7hue53x2zp8gz7F05u0A== - -uglify-js@^3.1.4: - version "3.4.9" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3" - integrity sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q== - dependencies: - commander "~2.17.1" - source-map "~0.6.1" - -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" - -unique-filename@^1.1.0, unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" - integrity sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg== - dependencies: - imurmurhash "^0.1.4" - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" - integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw== - -upper-case-first@^1.1.0, upper-case-first@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" - integrity sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU= - dependencies: - upper-case "^1.1.1" - -upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-parse@^1.4.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" - integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg== - dependencies: - querystringify "^2.0.0" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - -valid-url@1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" - integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA= - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -validate-npm-package-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" - integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= - dependencies: - builtins "^1.0.3" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= - dependencies: - indexof "0.0.1" - -watchpack@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== - dependencies: - chokidar "^2.0.2" - graceful-fs "^4.1.2" - neo-async "^2.5.0" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -webpack-core@^0.6.8: - version "0.6.9" - resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2" - integrity sha1-/FcViMhVjad76e+23r3Fo7FyvcI= - dependencies: - source-list-map "~0.1.7" - source-map "~0.4.1" - -webpack-dev-middleware@3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz#1132fecc9026fd90f0ecedac5cbff75d1fb45890" - integrity sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA== - dependencies: - memory-fs "~0.4.1" - mime "^2.3.1" - range-parser "^1.0.3" - webpack-log "^2.0.0" - -webpack-dev-server@3.1.14: - version "3.1.14" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz#60fb229b997fc5a0a1fc6237421030180959d469" - integrity sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ== - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.0.0" - compression "^1.5.2" - connect-history-api-fallback "^1.3.0" - debug "^3.1.0" - del "^3.0.0" - express "^4.16.2" - html-entities "^1.2.0" - http-proxy-middleware "~0.18.0" - import-local "^2.0.0" - internal-ip "^3.0.1" - ip "^1.1.5" - killable "^1.0.0" - loglevel "^1.4.1" - opn "^5.1.0" - portfinder "^1.0.9" - schema-utils "^1.0.0" - selfsigned "^1.9.1" - semver "^5.6.0" - serve-index "^1.7.2" - sockjs "0.3.19" - sockjs-client "1.3.0" - spdy "^4.0.0" - strip-ansi "^3.0.0" - supports-color "^5.1.0" - url "^0.11.0" - webpack-dev-middleware "3.4.0" - webpack-log "^2.0.0" - yargs "12.0.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-merge@4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.4.tgz#0fde38eabf2d5fd85251c24a5a8c48f8a3f4eb7b" - integrity sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ== - dependencies: - lodash "^4.17.5" - -webpack-sources@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.2.0.tgz#18181e0d013fce096faf6f8e6d41eeffffdceac2" - integrity sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@1.3.0, webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" - integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-subresource-integrity@1.1.0-rc.6: - version "1.1.0-rc.6" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.1.0-rc.6.tgz#37f6f1264e1eb378e41465a98da80fad76ab8886" - integrity sha512-Az7y8xTniNhaA0620AV1KPwWOqawurVVDzQSpPAeR5RwNbL91GoBSJAAo9cfd+GiFHwsS5bbHepBw1e6Hzxy4w== - dependencies: - webpack-core "^0.6.8" - -webpack@4.28.4: - version "4.28.4" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.28.4.tgz#1ddae6c89887d7efb752adf0c3cd32b9b07eacd0" - integrity sha512-NxjD61WsK/a3JIdwWjtIpimmvE6UrRi3yG54/74Hk9rwNj5FPkA4DJCf1z4ByDWLkvZhTZE+P3C/eh6UD5lDcw== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-module-context" "1.7.11" - "@webassemblyjs/wasm-edit" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - acorn "^5.6.2" - acorn-dynamic-import "^3.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" - json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" - schema-utils "^0.4.4" - tapable "^1.1.0" - terser-webpack-plugin "^1.1.0" - watchpack "^1.5.0" - webpack-sources "^1.3.0" - -websocket-driver@>=0.5.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" - integrity sha1-DK+dLXVdk67gSdS90NP+LMoqJOs= - dependencies: - http-parser-js ">=0.4.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" - integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== - -whatwg-fetch@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== - -when@~3.6.x: - version "3.6.4" - resolved "https://registry.yarnpkg.com/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e" - integrity sha1-RztRfsFZ4rhQBUl6E5g/CVQS404= - -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@1, which@^1.1.1, which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -winston-transport@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.3.0.tgz#df68c0c202482c448d9b47313c07304c2d7c2c66" - integrity sha512-B2wPuwUi3vhzn/51Uukcao4dIduEiPOcOt9HJ3QeaXgkJ5Z7UwpBzxS4ZGNHtrxrUvTwemsQiSys0ihOf8Mp1A== - dependencies: - readable-stream "^2.3.6" - triple-beam "^1.2.0" - -winston@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/winston/-/winston-3.1.0.tgz#80724376aef164e024f316100d5b178d78ac5331" - integrity sha512-FsQfEE+8YIEeuZEYhHDk5cILo1HOcWkGwvoidLrDgPog0r4bser1lEIOco2dN9zpDJ1M88hfDgZvxe5z4xNcwg== - dependencies: - async "^2.6.0" - diagnostics "^1.1.1" - is-stream "^1.1.0" - logform "^1.9.1" - one-time "0.0.4" - readable-stream "^2.3.6" - stack-trace "0.0.x" - triple-beam "^1.3.0" - winston-transport "^4.2.0" - -wordwrap@^1.0.0, wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - -worker-farm@^1.5.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" - integrity sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ== - dependencies: - errno "~0.1.7" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" - integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -ws@^5.2.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== - dependencies: - async-limiter "~1.0.0" - -xregexp@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" - integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= - -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= - -"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.0, yallist@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== - -yargs-parser@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== - dependencies: - camelcase "^4.1.0" - -yargs-parser@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" - integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo= - dependencies: - camelcase "^3.0.0" - -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= - dependencies: - camelcase "^4.1.0" - -yargs@12.0.2: - version "12.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" - integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== - dependencies: - cliui "^4.0.0" - decamelize "^2.0.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^10.1.0" - -yargs@9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c" - integrity sha1-UqzCP+7Kw0BCB47njAwAf1CF20w= - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - -yargs@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" - integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^5.0.0" - -yn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" - integrity sha1-5a2ryKz0CPY4X8dklWhMiOavaJo= - -zen-observable-ts@^0.8.13: - version "0.8.13" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.13.tgz#ae1fd77c84ef95510188b1f8bca579d7a5448fc2" - integrity sha512-WDb8SM0tHCb6c0l1k60qXWlm1ok3zN9U4VkLdnBKQwIYwUoB9psH7LIFgR+JVCCMmBxUgOjskIid8/N02k/2Bg== - dependencies: - zen-observable "^0.8.0" - -zen-observable-ts@^0.8.15: - version "0.8.15" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.15.tgz#6cf7df6aa619076e4af2f707ccf8a6290d26699b" - integrity sha512-sXKPWiw6JszNEkRv5dQ+lQCttyjHM2Iks74QU5NP8mMPS/NrzTlHDr780gf/wOBqmHkPO6NCLMlsa+fAQ8VE8w== - dependencies: - zen-observable "^0.8.0" - -zen-observable@^0.8.0: - version "0.8.11" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.11.tgz#d3415885eeeb42ee5abb9821c95bb518fcd6d199" - integrity sha512-N3xXQVr4L61rZvGMpWe8XoCGX8vhU35dPyQ4fm5CY/KDlG0F75un14hjbckPXTDuKUY6V0dqR2giT6xN8Y4GEQ== - -zone.js@0.8.28: - version "0.8.28" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.28.tgz#fd55df8743514b233613f8e4f5bb8e27207a48c3" - integrity sha512-MjwlvV0wr65IQiT0WSHedo/zUhAqtypMdTUjqroV81RohGj1XANwHuC37dwYxphTRbZBYidk0gNS0dQrU2Q3Pw== From e6bcff07670881c31f82b33bdcad4df5b8b0965d Mon Sep 17 00:00:00 2001 From: Friendly C <52448715+friendlycrab@users.noreply.github.com> Date: Tue, 2 Jul 2019 13:17:18 +0200 Subject: [PATCH 25/31] Remove generated GraphQL files --- .gitignore | 4 + .travis.yml | 1 + pkg/models/generated_exec.go | 12700 ------------------------- pkg/models/generated_models.go | 453 - ui/v2/src/core/generated-graphql.tsx | 2524 ----- 5 files changed, 5 insertions(+), 15677 deletions(-) delete mode 100644 pkg/models/generated_exec.go delete mode 100644 pkg/models/generated_models.go delete mode 100644 ui/v2/src/core/generated-graphql.tsx diff --git a/.gitignore b/.gitignore index 43b3b8e7d..5733d06a3 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,10 @@ # Packr2 artifacts **/*-packr.go +# GraphQL generated output +pkg/models/generated_*.go +ui/v2/src/core/generated-*.tsx + #### # Jetbrains #### diff --git a/.travis.yml b/.travis.yml index 8ee2d9695..5a2824fc4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,7 @@ before_install: script: #- make lint #- make vet +- make gqlgen - go test before_deploy: - docker pull stashappdev/compiler diff --git a/pkg/models/generated_exec.go b/pkg/models/generated_exec.go deleted file mode 100644 index 41d0c4dc2..000000000 --- a/pkg/models/generated_exec.go +++ /dev/null @@ -1,12700 +0,0 @@ -// Code generated by github.com/99designs/gqlgen, DO NOT EDIT. - -package models - -import ( - "bytes" - "context" - "errors" - "io" - "strconv" - "sync" - "sync/atomic" - - "github.com/99designs/gqlgen/graphql" - "github.com/99designs/gqlgen/graphql/introspection" - "github.com/vektah/gqlparser" - "github.com/vektah/gqlparser/ast" -) - -// region ************************** generated!.gotpl ************************** - -// NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface. -func NewExecutableSchema(cfg Config) graphql.ExecutableSchema { - return &executableSchema{ - resolvers: cfg.Resolvers, - directives: cfg.Directives, - complexity: cfg.Complexity, - } -} - -type Config struct { - Resolvers ResolverRoot - Directives DirectiveRoot - Complexity ComplexityRoot -} - -type ResolverRoot interface { - Gallery() GalleryResolver - Mutation() MutationResolver - Performer() PerformerResolver - Query() QueryResolver - Scene() SceneResolver - SceneMarker() SceneMarkerResolver - Studio() StudioResolver - Subscription() SubscriptionResolver - Tag() TagResolver -} - -type DirectiveRoot struct { -} - -type ComplexityRoot struct { - ConfigGeneralResult struct { - DatabasePath func(childComplexity int) int - GeneratedPath func(childComplexity int) int - Stashes func(childComplexity int) int - } - - ConfigInterfaceResult struct { - CSS func(childComplexity int) int - CSSEnabled func(childComplexity int) int - } - - ConfigResult struct { - General func(childComplexity int) int - Interface func(childComplexity int) int - } - - FindGalleriesResultType struct { - Count func(childComplexity int) int - Galleries func(childComplexity int) int - } - - FindPerformersResultType struct { - Count func(childComplexity int) int - Performers func(childComplexity int) int - } - - FindSceneMarkersResultType struct { - Count func(childComplexity int) int - SceneMarkers func(childComplexity int) int - } - - FindScenesResultType struct { - Count func(childComplexity int) int - Scenes func(childComplexity int) int - } - - FindStudiosResultType struct { - Count func(childComplexity int) int - Studios func(childComplexity int) int - } - - Gallery struct { - Checksum func(childComplexity int) int - Files func(childComplexity int) int - ID func(childComplexity int) int - Path func(childComplexity int) int - Title func(childComplexity int) int - } - - GalleryFilesType struct { - Index func(childComplexity int) int - Name func(childComplexity int) int - Path func(childComplexity int) int - } - - MarkerStringsResultType struct { - Count func(childComplexity int) int - ID func(childComplexity int) int - Title func(childComplexity int) int - } - - Mutation struct { - ConfigureGeneral func(childComplexity int, input ConfigGeneralInput) int - ConfigureInterface func(childComplexity int, input ConfigInterfaceInput) int - PerformerCreate func(childComplexity int, input PerformerCreateInput) int - PerformerDestroy func(childComplexity int, input PerformerDestroyInput) int - PerformerUpdate func(childComplexity int, input PerformerUpdateInput) int - SceneMarkerCreate func(childComplexity int, input SceneMarkerCreateInput) int - SceneMarkerDestroy func(childComplexity int, id string) int - SceneMarkerUpdate func(childComplexity int, input SceneMarkerUpdateInput) int - SceneUpdate func(childComplexity int, input SceneUpdateInput) int - StudioCreate func(childComplexity int, input StudioCreateInput) int - StudioDestroy func(childComplexity int, input StudioDestroyInput) int - StudioUpdate func(childComplexity int, input StudioUpdateInput) int - TagCreate func(childComplexity int, input TagCreateInput) int - TagDestroy func(childComplexity int, input TagDestroyInput) int - TagUpdate func(childComplexity int, input TagUpdateInput) int - } - - Performer struct { - Aliases func(childComplexity int) int - Birthdate func(childComplexity int) int - CareerLength func(childComplexity int) int - Checksum func(childComplexity int) int - Country func(childComplexity int) int - Ethnicity func(childComplexity int) int - EyeColor func(childComplexity int) int - FakeTits func(childComplexity int) int - Favorite func(childComplexity int) int - Height func(childComplexity int) int - ID func(childComplexity int) int - ImagePath func(childComplexity int) int - Instagram func(childComplexity int) int - Measurements func(childComplexity int) int - Name func(childComplexity int) int - Piercings func(childComplexity int) int - SceneCount func(childComplexity int) int - Scenes func(childComplexity int) int - Tattoos func(childComplexity int) int - Twitter func(childComplexity int) int - URL func(childComplexity int) int - } - - Query struct { - AllPerformers func(childComplexity int) int - AllStudios func(childComplexity int) int - AllTags func(childComplexity int) int - Configuration func(childComplexity int) int - Directories func(childComplexity int, path *string) int - FindGalleries func(childComplexity int, filter *FindFilterType) int - FindGallery func(childComplexity int, id string) int - FindPerformer func(childComplexity int, id string) int - FindPerformers func(childComplexity int, performerFilter *PerformerFilterType, filter *FindFilterType) int - FindScene func(childComplexity int, id *string, checksum *string) int - FindSceneMarkers func(childComplexity int, sceneMarkerFilter *SceneMarkerFilterType, filter *FindFilterType) int - FindScenes func(childComplexity int, sceneFilter *SceneFilterType, sceneIds []int, filter *FindFilterType) int - FindStudio func(childComplexity int, id string) int - FindStudios func(childComplexity int, filter *FindFilterType) int - FindTag func(childComplexity int, id string) int - MarkerStrings func(childComplexity int, q *string, sort *string) int - MarkerWall func(childComplexity int, q *string) int - MetadataClean func(childComplexity int) int - MetadataExport func(childComplexity int) int - MetadataGenerate func(childComplexity int, input GenerateMetadataInput) int - MetadataImport func(childComplexity int) int - MetadataScan func(childComplexity int, input ScanMetadataInput) int - SceneMarkerTags func(childComplexity int, sceneID string) int - SceneWall func(childComplexity int, q *string) int - ScrapeFreeones func(childComplexity int, performerName string) int - ScrapeFreeonesPerformerList func(childComplexity int, query string) int - Stats func(childComplexity int) int - ValidGalleriesForScene func(childComplexity int, sceneID *string) int - } - - Scene struct { - Checksum func(childComplexity int) int - Date func(childComplexity int) int - Details func(childComplexity int) int - File func(childComplexity int) int - Gallery func(childComplexity int) int - ID func(childComplexity int) int - IsStreamable func(childComplexity int) int - Path func(childComplexity int) int - Paths func(childComplexity int) int - Performers func(childComplexity int) int - Rating func(childComplexity int) int - SceneMarkers func(childComplexity int) int - Studio func(childComplexity int) int - Tags func(childComplexity int) int - Title func(childComplexity int) int - URL func(childComplexity int) int - } - - SceneFileType struct { - AudioCodec func(childComplexity int) int - Bitrate func(childComplexity int) int - Duration func(childComplexity int) int - Framerate func(childComplexity int) int - Height func(childComplexity int) int - Size func(childComplexity int) int - VideoCodec func(childComplexity int) int - Width func(childComplexity int) int - } - - SceneMarker struct { - ID func(childComplexity int) int - Preview func(childComplexity int) int - PrimaryTag func(childComplexity int) int - Scene func(childComplexity int) int - Seconds func(childComplexity int) int - Stream func(childComplexity int) int - Tags func(childComplexity int) int - Title func(childComplexity int) int - } - - SceneMarkerTag struct { - SceneMarkers func(childComplexity int) int - Tag func(childComplexity int) int - } - - ScenePathsType struct { - ChaptersVtt func(childComplexity int) int - Preview func(childComplexity int) int - Screenshot func(childComplexity int) int - Stream func(childComplexity int) int - Vtt func(childComplexity int) int - Webp func(childComplexity int) int - } - - ScrapedPerformer struct { - Aliases func(childComplexity int) int - Birthdate func(childComplexity int) int - CareerLength func(childComplexity int) int - Country func(childComplexity int) int - Ethnicity func(childComplexity int) int - EyeColor func(childComplexity int) int - FakeTits func(childComplexity int) int - Height func(childComplexity int) int - Instagram func(childComplexity int) int - Measurements func(childComplexity int) int - Name func(childComplexity int) int - Piercings func(childComplexity int) int - Tattoos func(childComplexity int) int - Twitter func(childComplexity int) int - URL func(childComplexity int) int - } - - StatsResultType struct { - GalleryCount func(childComplexity int) int - PerformerCount func(childComplexity int) int - SceneCount func(childComplexity int) int - StudioCount func(childComplexity int) int - TagCount func(childComplexity int) int - } - - Studio struct { - Checksum func(childComplexity int) int - ID func(childComplexity int) int - ImagePath func(childComplexity int) int - Name func(childComplexity int) int - SceneCount func(childComplexity int) int - URL func(childComplexity int) int - } - - Subscription struct { - MetadataUpdate func(childComplexity int) int - } - - Tag struct { - ID func(childComplexity int) int - Name func(childComplexity int) int - SceneCount func(childComplexity int) int - SceneMarkerCount func(childComplexity int) int - } -} - -type GalleryResolver interface { - Title(ctx context.Context, obj *Gallery) (*string, error) - Files(ctx context.Context, obj *Gallery) ([]*GalleryFilesType, error) -} -type MutationResolver interface { - SceneUpdate(ctx context.Context, input SceneUpdateInput) (*Scene, error) - SceneMarkerCreate(ctx context.Context, input SceneMarkerCreateInput) (*SceneMarker, error) - SceneMarkerUpdate(ctx context.Context, input SceneMarkerUpdateInput) (*SceneMarker, error) - SceneMarkerDestroy(ctx context.Context, id string) (bool, error) - PerformerCreate(ctx context.Context, input PerformerCreateInput) (*Performer, error) - PerformerUpdate(ctx context.Context, input PerformerUpdateInput) (*Performer, error) - PerformerDestroy(ctx context.Context, input PerformerDestroyInput) (bool, error) - StudioCreate(ctx context.Context, input StudioCreateInput) (*Studio, error) - StudioUpdate(ctx context.Context, input StudioUpdateInput) (*Studio, error) - StudioDestroy(ctx context.Context, input StudioDestroyInput) (bool, error) - TagCreate(ctx context.Context, input TagCreateInput) (*Tag, error) - TagUpdate(ctx context.Context, input TagUpdateInput) (*Tag, error) - TagDestroy(ctx context.Context, input TagDestroyInput) (bool, error) - ConfigureGeneral(ctx context.Context, input ConfigGeneralInput) (*ConfigGeneralResult, error) - ConfigureInterface(ctx context.Context, input ConfigInterfaceInput) (*ConfigInterfaceResult, error) -} -type PerformerResolver interface { - Name(ctx context.Context, obj *Performer) (*string, error) - URL(ctx context.Context, obj *Performer) (*string, error) - Twitter(ctx context.Context, obj *Performer) (*string, error) - Instagram(ctx context.Context, obj *Performer) (*string, error) - Birthdate(ctx context.Context, obj *Performer) (*string, error) - Ethnicity(ctx context.Context, obj *Performer) (*string, error) - Country(ctx context.Context, obj *Performer) (*string, error) - EyeColor(ctx context.Context, obj *Performer) (*string, error) - Height(ctx context.Context, obj *Performer) (*string, error) - Measurements(ctx context.Context, obj *Performer) (*string, error) - FakeTits(ctx context.Context, obj *Performer) (*string, error) - CareerLength(ctx context.Context, obj *Performer) (*string, error) - Tattoos(ctx context.Context, obj *Performer) (*string, error) - Piercings(ctx context.Context, obj *Performer) (*string, error) - Aliases(ctx context.Context, obj *Performer) (*string, error) - Favorite(ctx context.Context, obj *Performer) (bool, error) - ImagePath(ctx context.Context, obj *Performer) (*string, error) - SceneCount(ctx context.Context, obj *Performer) (*int, error) - Scenes(ctx context.Context, obj *Performer) ([]*Scene, error) -} -type QueryResolver interface { - FindScene(ctx context.Context, id *string, checksum *string) (*Scene, error) - FindScenes(ctx context.Context, sceneFilter *SceneFilterType, sceneIds []int, filter *FindFilterType) (*FindScenesResultType, error) - FindSceneMarkers(ctx context.Context, sceneMarkerFilter *SceneMarkerFilterType, filter *FindFilterType) (*FindSceneMarkersResultType, error) - FindPerformer(ctx context.Context, id string) (*Performer, error) - FindPerformers(ctx context.Context, performerFilter *PerformerFilterType, filter *FindFilterType) (*FindPerformersResultType, error) - FindStudio(ctx context.Context, id string) (*Studio, error) - FindStudios(ctx context.Context, filter *FindFilterType) (*FindStudiosResultType, error) - FindGallery(ctx context.Context, id string) (*Gallery, error) - FindGalleries(ctx context.Context, filter *FindFilterType) (*FindGalleriesResultType, error) - FindTag(ctx context.Context, id string) (*Tag, error) - MarkerWall(ctx context.Context, q *string) ([]*SceneMarker, error) - SceneWall(ctx context.Context, q *string) ([]*Scene, error) - MarkerStrings(ctx context.Context, q *string, sort *string) ([]*MarkerStringsResultType, error) - ValidGalleriesForScene(ctx context.Context, sceneID *string) ([]*Gallery, error) - Stats(ctx context.Context) (*StatsResultType, error) - SceneMarkerTags(ctx context.Context, sceneID string) ([]*SceneMarkerTag, error) - ScrapeFreeones(ctx context.Context, performerName string) (*ScrapedPerformer, error) - ScrapeFreeonesPerformerList(ctx context.Context, query string) ([]string, error) - Configuration(ctx context.Context) (*ConfigResult, error) - Directories(ctx context.Context, path *string) ([]string, error) - MetadataImport(ctx context.Context) (string, error) - MetadataExport(ctx context.Context) (string, error) - MetadataScan(ctx context.Context, input ScanMetadataInput) (string, error) - MetadataGenerate(ctx context.Context, input GenerateMetadataInput) (string, error) - MetadataClean(ctx context.Context) (string, error) - AllPerformers(ctx context.Context) ([]*Performer, error) - AllStudios(ctx context.Context) ([]*Studio, error) - AllTags(ctx context.Context) ([]*Tag, error) -} -type SceneResolver interface { - Title(ctx context.Context, obj *Scene) (*string, error) - Details(ctx context.Context, obj *Scene) (*string, error) - URL(ctx context.Context, obj *Scene) (*string, error) - Date(ctx context.Context, obj *Scene) (*string, error) - Rating(ctx context.Context, obj *Scene) (*int, error) - - File(ctx context.Context, obj *Scene) (*SceneFileType, error) - Paths(ctx context.Context, obj *Scene) (*ScenePathsType, error) - IsStreamable(ctx context.Context, obj *Scene) (bool, error) - SceneMarkers(ctx context.Context, obj *Scene) ([]*SceneMarker, error) - Gallery(ctx context.Context, obj *Scene) (*Gallery, error) - Studio(ctx context.Context, obj *Scene) (*Studio, error) - Tags(ctx context.Context, obj *Scene) ([]*Tag, error) - Performers(ctx context.Context, obj *Scene) ([]*Performer, error) -} -type SceneMarkerResolver interface { - Scene(ctx context.Context, obj *SceneMarker) (*Scene, error) - - PrimaryTag(ctx context.Context, obj *SceneMarker) (*Tag, error) - Tags(ctx context.Context, obj *SceneMarker) ([]*Tag, error) - Stream(ctx context.Context, obj *SceneMarker) (string, error) - Preview(ctx context.Context, obj *SceneMarker) (string, error) -} -type StudioResolver interface { - Name(ctx context.Context, obj *Studio) (string, error) - URL(ctx context.Context, obj *Studio) (*string, error) - ImagePath(ctx context.Context, obj *Studio) (*string, error) - SceneCount(ctx context.Context, obj *Studio) (*int, error) -} -type SubscriptionResolver interface { - MetadataUpdate(ctx context.Context) (<-chan string, error) -} -type TagResolver interface { - SceneCount(ctx context.Context, obj *Tag) (*int, error) - SceneMarkerCount(ctx context.Context, obj *Tag) (*int, error) -} - -type executableSchema struct { - resolvers ResolverRoot - directives DirectiveRoot - complexity ComplexityRoot -} - -func (e *executableSchema) Schema() *ast.Schema { - return parsedSchema -} - -func (e *executableSchema) Complexity(typeName, field string, childComplexity int, rawArgs map[string]interface{}) (int, bool) { - ec := executionContext{nil, e} - _ = ec - switch typeName + "." + field { - - case "ConfigGeneralResult.databasePath": - if e.complexity.ConfigGeneralResult.DatabasePath == nil { - break - } - - return e.complexity.ConfigGeneralResult.DatabasePath(childComplexity), true - - case "ConfigGeneralResult.generatedPath": - if e.complexity.ConfigGeneralResult.GeneratedPath == nil { - break - } - - return e.complexity.ConfigGeneralResult.GeneratedPath(childComplexity), true - - case "ConfigGeneralResult.stashes": - if e.complexity.ConfigGeneralResult.Stashes == nil { - break - } - - return e.complexity.ConfigGeneralResult.Stashes(childComplexity), true - - case "ConfigInterfaceResult.css": - if e.complexity.ConfigInterfaceResult.CSS == nil { - break - } - - return e.complexity.ConfigInterfaceResult.CSS(childComplexity), true - - case "ConfigInterfaceResult.cssEnabled": - if e.complexity.ConfigInterfaceResult.CSSEnabled == nil { - break - } - - return e.complexity.ConfigInterfaceResult.CSSEnabled(childComplexity), true - - case "ConfigResult.general": - if e.complexity.ConfigResult.General == nil { - break - } - - return e.complexity.ConfigResult.General(childComplexity), true - - case "ConfigResult.interface": - if e.complexity.ConfigResult.Interface == nil { - break - } - - return e.complexity.ConfigResult.Interface(childComplexity), true - - case "FindGalleriesResultType.count": - if e.complexity.FindGalleriesResultType.Count == nil { - break - } - - return e.complexity.FindGalleriesResultType.Count(childComplexity), true - - case "FindGalleriesResultType.galleries": - if e.complexity.FindGalleriesResultType.Galleries == nil { - break - } - - return e.complexity.FindGalleriesResultType.Galleries(childComplexity), true - - case "FindPerformersResultType.count": - if e.complexity.FindPerformersResultType.Count == nil { - break - } - - return e.complexity.FindPerformersResultType.Count(childComplexity), true - - case "FindPerformersResultType.performers": - if e.complexity.FindPerformersResultType.Performers == nil { - break - } - - return e.complexity.FindPerformersResultType.Performers(childComplexity), true - - case "FindSceneMarkersResultType.count": - if e.complexity.FindSceneMarkersResultType.Count == nil { - break - } - - return e.complexity.FindSceneMarkersResultType.Count(childComplexity), true - - case "FindSceneMarkersResultType.scene_markers": - if e.complexity.FindSceneMarkersResultType.SceneMarkers == nil { - break - } - - return e.complexity.FindSceneMarkersResultType.SceneMarkers(childComplexity), true - - case "FindScenesResultType.count": - if e.complexity.FindScenesResultType.Count == nil { - break - } - - return e.complexity.FindScenesResultType.Count(childComplexity), true - - case "FindScenesResultType.scenes": - if e.complexity.FindScenesResultType.Scenes == nil { - break - } - - return e.complexity.FindScenesResultType.Scenes(childComplexity), true - - case "FindStudiosResultType.count": - if e.complexity.FindStudiosResultType.Count == nil { - break - } - - return e.complexity.FindStudiosResultType.Count(childComplexity), true - - case "FindStudiosResultType.studios": - if e.complexity.FindStudiosResultType.Studios == nil { - break - } - - return e.complexity.FindStudiosResultType.Studios(childComplexity), true - - case "Gallery.checksum": - if e.complexity.Gallery.Checksum == nil { - break - } - - return e.complexity.Gallery.Checksum(childComplexity), true - - case "Gallery.files": - if e.complexity.Gallery.Files == nil { - break - } - - return e.complexity.Gallery.Files(childComplexity), true - - case "Gallery.id": - if e.complexity.Gallery.ID == nil { - break - } - - return e.complexity.Gallery.ID(childComplexity), true - - case "Gallery.path": - if e.complexity.Gallery.Path == nil { - break - } - - return e.complexity.Gallery.Path(childComplexity), true - - case "Gallery.title": - if e.complexity.Gallery.Title == nil { - break - } - - return e.complexity.Gallery.Title(childComplexity), true - - case "GalleryFilesType.index": - if e.complexity.GalleryFilesType.Index == nil { - break - } - - return e.complexity.GalleryFilesType.Index(childComplexity), true - - case "GalleryFilesType.name": - if e.complexity.GalleryFilesType.Name == nil { - break - } - - return e.complexity.GalleryFilesType.Name(childComplexity), true - - case "GalleryFilesType.path": - if e.complexity.GalleryFilesType.Path == nil { - break - } - - return e.complexity.GalleryFilesType.Path(childComplexity), true - - case "MarkerStringsResultType.count": - if e.complexity.MarkerStringsResultType.Count == nil { - break - } - - return e.complexity.MarkerStringsResultType.Count(childComplexity), true - - case "MarkerStringsResultType.id": - if e.complexity.MarkerStringsResultType.ID == nil { - break - } - - return e.complexity.MarkerStringsResultType.ID(childComplexity), true - - case "MarkerStringsResultType.title": - if e.complexity.MarkerStringsResultType.Title == nil { - break - } - - return e.complexity.MarkerStringsResultType.Title(childComplexity), true - - case "Mutation.configureGeneral": - if e.complexity.Mutation.ConfigureGeneral == nil { - break - } - - args, err := ec.field_Mutation_configureGeneral_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.ConfigureGeneral(childComplexity, args["input"].(ConfigGeneralInput)), true - - case "Mutation.configureInterface": - if e.complexity.Mutation.ConfigureInterface == nil { - break - } - - args, err := ec.field_Mutation_configureInterface_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.ConfigureInterface(childComplexity, args["input"].(ConfigInterfaceInput)), true - - case "Mutation.performerCreate": - if e.complexity.Mutation.PerformerCreate == nil { - break - } - - args, err := ec.field_Mutation_performerCreate_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.PerformerCreate(childComplexity, args["input"].(PerformerCreateInput)), true - - case "Mutation.performerDestroy": - if e.complexity.Mutation.PerformerDestroy == nil { - break - } - - args, err := ec.field_Mutation_performerDestroy_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.PerformerDestroy(childComplexity, args["input"].(PerformerDestroyInput)), true - - case "Mutation.performerUpdate": - if e.complexity.Mutation.PerformerUpdate == nil { - break - } - - args, err := ec.field_Mutation_performerUpdate_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.PerformerUpdate(childComplexity, args["input"].(PerformerUpdateInput)), true - - case "Mutation.sceneMarkerCreate": - if e.complexity.Mutation.SceneMarkerCreate == nil { - break - } - - args, err := ec.field_Mutation_sceneMarkerCreate_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.SceneMarkerCreate(childComplexity, args["input"].(SceneMarkerCreateInput)), true - - case "Mutation.sceneMarkerDestroy": - if e.complexity.Mutation.SceneMarkerDestroy == nil { - break - } - - args, err := ec.field_Mutation_sceneMarkerDestroy_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.SceneMarkerDestroy(childComplexity, args["id"].(string)), true - - case "Mutation.sceneMarkerUpdate": - if e.complexity.Mutation.SceneMarkerUpdate == nil { - break - } - - args, err := ec.field_Mutation_sceneMarkerUpdate_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.SceneMarkerUpdate(childComplexity, args["input"].(SceneMarkerUpdateInput)), true - - case "Mutation.sceneUpdate": - if e.complexity.Mutation.SceneUpdate == nil { - break - } - - args, err := ec.field_Mutation_sceneUpdate_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.SceneUpdate(childComplexity, args["input"].(SceneUpdateInput)), true - - case "Mutation.studioCreate": - if e.complexity.Mutation.StudioCreate == nil { - break - } - - args, err := ec.field_Mutation_studioCreate_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.StudioCreate(childComplexity, args["input"].(StudioCreateInput)), true - - case "Mutation.studioDestroy": - if e.complexity.Mutation.StudioDestroy == nil { - break - } - - args, err := ec.field_Mutation_studioDestroy_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.StudioDestroy(childComplexity, args["input"].(StudioDestroyInput)), true - - case "Mutation.studioUpdate": - if e.complexity.Mutation.StudioUpdate == nil { - break - } - - args, err := ec.field_Mutation_studioUpdate_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.StudioUpdate(childComplexity, args["input"].(StudioUpdateInput)), true - - case "Mutation.tagCreate": - if e.complexity.Mutation.TagCreate == nil { - break - } - - args, err := ec.field_Mutation_tagCreate_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.TagCreate(childComplexity, args["input"].(TagCreateInput)), true - - case "Mutation.tagDestroy": - if e.complexity.Mutation.TagDestroy == nil { - break - } - - args, err := ec.field_Mutation_tagDestroy_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.TagDestroy(childComplexity, args["input"].(TagDestroyInput)), true - - case "Mutation.tagUpdate": - if e.complexity.Mutation.TagUpdate == nil { - break - } - - args, err := ec.field_Mutation_tagUpdate_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.TagUpdate(childComplexity, args["input"].(TagUpdateInput)), true - - case "Performer.aliases": - if e.complexity.Performer.Aliases == nil { - break - } - - return e.complexity.Performer.Aliases(childComplexity), true - - case "Performer.birthdate": - if e.complexity.Performer.Birthdate == nil { - break - } - - return e.complexity.Performer.Birthdate(childComplexity), true - - case "Performer.career_length": - if e.complexity.Performer.CareerLength == nil { - break - } - - return e.complexity.Performer.CareerLength(childComplexity), true - - case "Performer.checksum": - if e.complexity.Performer.Checksum == nil { - break - } - - return e.complexity.Performer.Checksum(childComplexity), true - - case "Performer.country": - if e.complexity.Performer.Country == nil { - break - } - - return e.complexity.Performer.Country(childComplexity), true - - case "Performer.ethnicity": - if e.complexity.Performer.Ethnicity == nil { - break - } - - return e.complexity.Performer.Ethnicity(childComplexity), true - - case "Performer.eye_color": - if e.complexity.Performer.EyeColor == nil { - break - } - - return e.complexity.Performer.EyeColor(childComplexity), true - - case "Performer.fake_tits": - if e.complexity.Performer.FakeTits == nil { - break - } - - return e.complexity.Performer.FakeTits(childComplexity), true - - case "Performer.favorite": - if e.complexity.Performer.Favorite == nil { - break - } - - return e.complexity.Performer.Favorite(childComplexity), true - - case "Performer.height": - if e.complexity.Performer.Height == nil { - break - } - - return e.complexity.Performer.Height(childComplexity), true - - case "Performer.id": - if e.complexity.Performer.ID == nil { - break - } - - return e.complexity.Performer.ID(childComplexity), true - - case "Performer.image_path": - if e.complexity.Performer.ImagePath == nil { - break - } - - return e.complexity.Performer.ImagePath(childComplexity), true - - case "Performer.instagram": - if e.complexity.Performer.Instagram == nil { - break - } - - return e.complexity.Performer.Instagram(childComplexity), true - - case "Performer.measurements": - if e.complexity.Performer.Measurements == nil { - break - } - - return e.complexity.Performer.Measurements(childComplexity), true - - case "Performer.name": - if e.complexity.Performer.Name == nil { - break - } - - return e.complexity.Performer.Name(childComplexity), true - - case "Performer.piercings": - if e.complexity.Performer.Piercings == nil { - break - } - - return e.complexity.Performer.Piercings(childComplexity), true - - case "Performer.scene_count": - if e.complexity.Performer.SceneCount == nil { - break - } - - return e.complexity.Performer.SceneCount(childComplexity), true - - case "Performer.scenes": - if e.complexity.Performer.Scenes == nil { - break - } - - return e.complexity.Performer.Scenes(childComplexity), true - - case "Performer.tattoos": - if e.complexity.Performer.Tattoos == nil { - break - } - - return e.complexity.Performer.Tattoos(childComplexity), true - - case "Performer.twitter": - if e.complexity.Performer.Twitter == nil { - break - } - - return e.complexity.Performer.Twitter(childComplexity), true - - case "Performer.url": - if e.complexity.Performer.URL == nil { - break - } - - return e.complexity.Performer.URL(childComplexity), true - - case "Query.allPerformers": - if e.complexity.Query.AllPerformers == nil { - break - } - - return e.complexity.Query.AllPerformers(childComplexity), true - - case "Query.allStudios": - if e.complexity.Query.AllStudios == nil { - break - } - - return e.complexity.Query.AllStudios(childComplexity), true - - case "Query.allTags": - if e.complexity.Query.AllTags == nil { - break - } - - return e.complexity.Query.AllTags(childComplexity), true - - case "Query.configuration": - if e.complexity.Query.Configuration == nil { - break - } - - return e.complexity.Query.Configuration(childComplexity), true - - case "Query.directories": - if e.complexity.Query.Directories == nil { - break - } - - args, err := ec.field_Query_directories_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.Directories(childComplexity, args["path"].(*string)), true - - case "Query.findGalleries": - if e.complexity.Query.FindGalleries == nil { - break - } - - args, err := ec.field_Query_findGalleries_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.FindGalleries(childComplexity, args["filter"].(*FindFilterType)), true - - case "Query.findGallery": - if e.complexity.Query.FindGallery == nil { - break - } - - args, err := ec.field_Query_findGallery_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.FindGallery(childComplexity, args["id"].(string)), true - - case "Query.findPerformer": - if e.complexity.Query.FindPerformer == nil { - break - } - - args, err := ec.field_Query_findPerformer_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.FindPerformer(childComplexity, args["id"].(string)), true - - case "Query.findPerformers": - if e.complexity.Query.FindPerformers == nil { - break - } - - args, err := ec.field_Query_findPerformers_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.FindPerformers(childComplexity, args["performer_filter"].(*PerformerFilterType), args["filter"].(*FindFilterType)), true - - case "Query.findScene": - if e.complexity.Query.FindScene == nil { - break - } - - args, err := ec.field_Query_findScene_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.FindScene(childComplexity, args["id"].(*string), args["checksum"].(*string)), true - - case "Query.findSceneMarkers": - if e.complexity.Query.FindSceneMarkers == nil { - break - } - - args, err := ec.field_Query_findSceneMarkers_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.FindSceneMarkers(childComplexity, args["scene_marker_filter"].(*SceneMarkerFilterType), args["filter"].(*FindFilterType)), true - - case "Query.findScenes": - if e.complexity.Query.FindScenes == nil { - break - } - - args, err := ec.field_Query_findScenes_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.FindScenes(childComplexity, args["scene_filter"].(*SceneFilterType), args["scene_ids"].([]int), args["filter"].(*FindFilterType)), true - - case "Query.findStudio": - if e.complexity.Query.FindStudio == nil { - break - } - - args, err := ec.field_Query_findStudio_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.FindStudio(childComplexity, args["id"].(string)), true - - case "Query.findStudios": - if e.complexity.Query.FindStudios == nil { - break - } - - args, err := ec.field_Query_findStudios_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.FindStudios(childComplexity, args["filter"].(*FindFilterType)), true - - case "Query.findTag": - if e.complexity.Query.FindTag == nil { - break - } - - args, err := ec.field_Query_findTag_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.FindTag(childComplexity, args["id"].(string)), true - - case "Query.markerStrings": - if e.complexity.Query.MarkerStrings == nil { - break - } - - args, err := ec.field_Query_markerStrings_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.MarkerStrings(childComplexity, args["q"].(*string), args["sort"].(*string)), true - - case "Query.markerWall": - if e.complexity.Query.MarkerWall == nil { - break - } - - args, err := ec.field_Query_markerWall_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.MarkerWall(childComplexity, args["q"].(*string)), true - - case "Query.metadataClean": - if e.complexity.Query.MetadataClean == nil { - break - } - - return e.complexity.Query.MetadataClean(childComplexity), true - - case "Query.metadataExport": - if e.complexity.Query.MetadataExport == nil { - break - } - - return e.complexity.Query.MetadataExport(childComplexity), true - - case "Query.metadataGenerate": - if e.complexity.Query.MetadataGenerate == nil { - break - } - - args, err := ec.field_Query_metadataGenerate_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.MetadataGenerate(childComplexity, args["input"].(GenerateMetadataInput)), true - - case "Query.metadataImport": - if e.complexity.Query.MetadataImport == nil { - break - } - - return e.complexity.Query.MetadataImport(childComplexity), true - - case "Query.metadataScan": - if e.complexity.Query.MetadataScan == nil { - break - } - - args, err := ec.field_Query_metadataScan_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.MetadataScan(childComplexity, args["input"].(ScanMetadataInput)), true - - case "Query.sceneMarkerTags": - if e.complexity.Query.SceneMarkerTags == nil { - break - } - - args, err := ec.field_Query_sceneMarkerTags_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.SceneMarkerTags(childComplexity, args["scene_id"].(string)), true - - case "Query.sceneWall": - if e.complexity.Query.SceneWall == nil { - break - } - - args, err := ec.field_Query_sceneWall_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.SceneWall(childComplexity, args["q"].(*string)), true - - case "Query.scrapeFreeones": - if e.complexity.Query.ScrapeFreeones == nil { - break - } - - args, err := ec.field_Query_scrapeFreeones_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.ScrapeFreeones(childComplexity, args["performer_name"].(string)), true - - case "Query.scrapeFreeonesPerformerList": - if e.complexity.Query.ScrapeFreeonesPerformerList == nil { - break - } - - args, err := ec.field_Query_scrapeFreeonesPerformerList_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.ScrapeFreeonesPerformerList(childComplexity, args["query"].(string)), true - - case "Query.stats": - if e.complexity.Query.Stats == nil { - break - } - - return e.complexity.Query.Stats(childComplexity), true - - case "Query.validGalleriesForScene": - if e.complexity.Query.ValidGalleriesForScene == nil { - break - } - - args, err := ec.field_Query_validGalleriesForScene_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.ValidGalleriesForScene(childComplexity, args["scene_id"].(*string)), true - - case "Scene.checksum": - if e.complexity.Scene.Checksum == nil { - break - } - - return e.complexity.Scene.Checksum(childComplexity), true - - case "Scene.date": - if e.complexity.Scene.Date == nil { - break - } - - return e.complexity.Scene.Date(childComplexity), true - - case "Scene.details": - if e.complexity.Scene.Details == nil { - break - } - - return e.complexity.Scene.Details(childComplexity), true - - case "Scene.file": - if e.complexity.Scene.File == nil { - break - } - - return e.complexity.Scene.File(childComplexity), true - - case "Scene.gallery": - if e.complexity.Scene.Gallery == nil { - break - } - - return e.complexity.Scene.Gallery(childComplexity), true - - case "Scene.id": - if e.complexity.Scene.ID == nil { - break - } - - return e.complexity.Scene.ID(childComplexity), true - - case "Scene.is_streamable": - if e.complexity.Scene.IsStreamable == nil { - break - } - - return e.complexity.Scene.IsStreamable(childComplexity), true - - case "Scene.path": - if e.complexity.Scene.Path == nil { - break - } - - return e.complexity.Scene.Path(childComplexity), true - - case "Scene.paths": - if e.complexity.Scene.Paths == nil { - break - } - - return e.complexity.Scene.Paths(childComplexity), true - - case "Scene.performers": - if e.complexity.Scene.Performers == nil { - break - } - - return e.complexity.Scene.Performers(childComplexity), true - - case "Scene.rating": - if e.complexity.Scene.Rating == nil { - break - } - - return e.complexity.Scene.Rating(childComplexity), true - - case "Scene.scene_markers": - if e.complexity.Scene.SceneMarkers == nil { - break - } - - return e.complexity.Scene.SceneMarkers(childComplexity), true - - case "Scene.studio": - if e.complexity.Scene.Studio == nil { - break - } - - return e.complexity.Scene.Studio(childComplexity), true - - case "Scene.tags": - if e.complexity.Scene.Tags == nil { - break - } - - return e.complexity.Scene.Tags(childComplexity), true - - case "Scene.title": - if e.complexity.Scene.Title == nil { - break - } - - return e.complexity.Scene.Title(childComplexity), true - - case "Scene.url": - if e.complexity.Scene.URL == nil { - break - } - - return e.complexity.Scene.URL(childComplexity), true - - case "SceneFileType.audio_codec": - if e.complexity.SceneFileType.AudioCodec == nil { - break - } - - return e.complexity.SceneFileType.AudioCodec(childComplexity), true - - case "SceneFileType.bitrate": - if e.complexity.SceneFileType.Bitrate == nil { - break - } - - return e.complexity.SceneFileType.Bitrate(childComplexity), true - - case "SceneFileType.duration": - if e.complexity.SceneFileType.Duration == nil { - break - } - - return e.complexity.SceneFileType.Duration(childComplexity), true - - case "SceneFileType.framerate": - if e.complexity.SceneFileType.Framerate == nil { - break - } - - return e.complexity.SceneFileType.Framerate(childComplexity), true - - case "SceneFileType.height": - if e.complexity.SceneFileType.Height == nil { - break - } - - return e.complexity.SceneFileType.Height(childComplexity), true - - case "SceneFileType.size": - if e.complexity.SceneFileType.Size == nil { - break - } - - return e.complexity.SceneFileType.Size(childComplexity), true - - case "SceneFileType.video_codec": - if e.complexity.SceneFileType.VideoCodec == nil { - break - } - - return e.complexity.SceneFileType.VideoCodec(childComplexity), true - - case "SceneFileType.width": - if e.complexity.SceneFileType.Width == nil { - break - } - - return e.complexity.SceneFileType.Width(childComplexity), true - - case "SceneMarker.id": - if e.complexity.SceneMarker.ID == nil { - break - } - - return e.complexity.SceneMarker.ID(childComplexity), true - - case "SceneMarker.preview": - if e.complexity.SceneMarker.Preview == nil { - break - } - - return e.complexity.SceneMarker.Preview(childComplexity), true - - case "SceneMarker.primary_tag": - if e.complexity.SceneMarker.PrimaryTag == nil { - break - } - - return e.complexity.SceneMarker.PrimaryTag(childComplexity), true - - case "SceneMarker.scene": - if e.complexity.SceneMarker.Scene == nil { - break - } - - return e.complexity.SceneMarker.Scene(childComplexity), true - - case "SceneMarker.seconds": - if e.complexity.SceneMarker.Seconds == nil { - break - } - - return e.complexity.SceneMarker.Seconds(childComplexity), true - - case "SceneMarker.stream": - if e.complexity.SceneMarker.Stream == nil { - break - } - - return e.complexity.SceneMarker.Stream(childComplexity), true - - case "SceneMarker.tags": - if e.complexity.SceneMarker.Tags == nil { - break - } - - return e.complexity.SceneMarker.Tags(childComplexity), true - - case "SceneMarker.title": - if e.complexity.SceneMarker.Title == nil { - break - } - - return e.complexity.SceneMarker.Title(childComplexity), true - - case "SceneMarkerTag.scene_markers": - if e.complexity.SceneMarkerTag.SceneMarkers == nil { - break - } - - return e.complexity.SceneMarkerTag.SceneMarkers(childComplexity), true - - case "SceneMarkerTag.tag": - if e.complexity.SceneMarkerTag.Tag == nil { - break - } - - return e.complexity.SceneMarkerTag.Tag(childComplexity), true - - case "ScenePathsType.chapters_vtt": - if e.complexity.ScenePathsType.ChaptersVtt == nil { - break - } - - return e.complexity.ScenePathsType.ChaptersVtt(childComplexity), true - - case "ScenePathsType.preview": - if e.complexity.ScenePathsType.Preview == nil { - break - } - - return e.complexity.ScenePathsType.Preview(childComplexity), true - - case "ScenePathsType.screenshot": - if e.complexity.ScenePathsType.Screenshot == nil { - break - } - - return e.complexity.ScenePathsType.Screenshot(childComplexity), true - - case "ScenePathsType.stream": - if e.complexity.ScenePathsType.Stream == nil { - break - } - - return e.complexity.ScenePathsType.Stream(childComplexity), true - - case "ScenePathsType.vtt": - if e.complexity.ScenePathsType.Vtt == nil { - break - } - - return e.complexity.ScenePathsType.Vtt(childComplexity), true - - case "ScenePathsType.webp": - if e.complexity.ScenePathsType.Webp == nil { - break - } - - return e.complexity.ScenePathsType.Webp(childComplexity), true - - case "ScrapedPerformer.aliases": - if e.complexity.ScrapedPerformer.Aliases == nil { - break - } - - return e.complexity.ScrapedPerformer.Aliases(childComplexity), true - - case "ScrapedPerformer.birthdate": - if e.complexity.ScrapedPerformer.Birthdate == nil { - break - } - - return e.complexity.ScrapedPerformer.Birthdate(childComplexity), true - - case "ScrapedPerformer.career_length": - if e.complexity.ScrapedPerformer.CareerLength == nil { - break - } - - return e.complexity.ScrapedPerformer.CareerLength(childComplexity), true - - case "ScrapedPerformer.country": - if e.complexity.ScrapedPerformer.Country == nil { - break - } - - return e.complexity.ScrapedPerformer.Country(childComplexity), true - - case "ScrapedPerformer.ethnicity": - if e.complexity.ScrapedPerformer.Ethnicity == nil { - break - } - - return e.complexity.ScrapedPerformer.Ethnicity(childComplexity), true - - case "ScrapedPerformer.eye_color": - if e.complexity.ScrapedPerformer.EyeColor == nil { - break - } - - return e.complexity.ScrapedPerformer.EyeColor(childComplexity), true - - case "ScrapedPerformer.fake_tits": - if e.complexity.ScrapedPerformer.FakeTits == nil { - break - } - - return e.complexity.ScrapedPerformer.FakeTits(childComplexity), true - - case "ScrapedPerformer.height": - if e.complexity.ScrapedPerformer.Height == nil { - break - } - - return e.complexity.ScrapedPerformer.Height(childComplexity), true - - case "ScrapedPerformer.instagram": - if e.complexity.ScrapedPerformer.Instagram == nil { - break - } - - return e.complexity.ScrapedPerformer.Instagram(childComplexity), true - - case "ScrapedPerformer.measurements": - if e.complexity.ScrapedPerformer.Measurements == nil { - break - } - - return e.complexity.ScrapedPerformer.Measurements(childComplexity), true - - case "ScrapedPerformer.name": - if e.complexity.ScrapedPerformer.Name == nil { - break - } - - return e.complexity.ScrapedPerformer.Name(childComplexity), true - - case "ScrapedPerformer.piercings": - if e.complexity.ScrapedPerformer.Piercings == nil { - break - } - - return e.complexity.ScrapedPerformer.Piercings(childComplexity), true - - case "ScrapedPerformer.tattoos": - if e.complexity.ScrapedPerformer.Tattoos == nil { - break - } - - return e.complexity.ScrapedPerformer.Tattoos(childComplexity), true - - case "ScrapedPerformer.twitter": - if e.complexity.ScrapedPerformer.Twitter == nil { - break - } - - return e.complexity.ScrapedPerformer.Twitter(childComplexity), true - - case "ScrapedPerformer.url": - if e.complexity.ScrapedPerformer.URL == nil { - break - } - - return e.complexity.ScrapedPerformer.URL(childComplexity), true - - case "StatsResultType.gallery_count": - if e.complexity.StatsResultType.GalleryCount == nil { - break - } - - return e.complexity.StatsResultType.GalleryCount(childComplexity), true - - case "StatsResultType.performer_count": - if e.complexity.StatsResultType.PerformerCount == nil { - break - } - - return e.complexity.StatsResultType.PerformerCount(childComplexity), true - - case "StatsResultType.scene_count": - if e.complexity.StatsResultType.SceneCount == nil { - break - } - - return e.complexity.StatsResultType.SceneCount(childComplexity), true - - case "StatsResultType.studio_count": - if e.complexity.StatsResultType.StudioCount == nil { - break - } - - return e.complexity.StatsResultType.StudioCount(childComplexity), true - - case "StatsResultType.tag_count": - if e.complexity.StatsResultType.TagCount == nil { - break - } - - return e.complexity.StatsResultType.TagCount(childComplexity), true - - case "Studio.checksum": - if e.complexity.Studio.Checksum == nil { - break - } - - return e.complexity.Studio.Checksum(childComplexity), true - - case "Studio.id": - if e.complexity.Studio.ID == nil { - break - } - - return e.complexity.Studio.ID(childComplexity), true - - case "Studio.image_path": - if e.complexity.Studio.ImagePath == nil { - break - } - - return e.complexity.Studio.ImagePath(childComplexity), true - - case "Studio.name": - if e.complexity.Studio.Name == nil { - break - } - - return e.complexity.Studio.Name(childComplexity), true - - case "Studio.scene_count": - if e.complexity.Studio.SceneCount == nil { - break - } - - return e.complexity.Studio.SceneCount(childComplexity), true - - case "Studio.url": - if e.complexity.Studio.URL == nil { - break - } - - return e.complexity.Studio.URL(childComplexity), true - - case "Subscription.metadataUpdate": - if e.complexity.Subscription.MetadataUpdate == nil { - break - } - - return e.complexity.Subscription.MetadataUpdate(childComplexity), true - - case "Tag.id": - if e.complexity.Tag.ID == nil { - break - } - - return e.complexity.Tag.ID(childComplexity), true - - case "Tag.name": - if e.complexity.Tag.Name == nil { - break - } - - return e.complexity.Tag.Name(childComplexity), true - - case "Tag.scene_count": - if e.complexity.Tag.SceneCount == nil { - break - } - - return e.complexity.Tag.SceneCount(childComplexity), true - - case "Tag.scene_marker_count": - if e.complexity.Tag.SceneMarkerCount == nil { - break - } - - return e.complexity.Tag.SceneMarkerCount(childComplexity), true - - } - return 0, false -} - -func (e *executableSchema) Query(ctx context.Context, op *ast.OperationDefinition) *graphql.Response { - ec := executionContext{graphql.GetRequestContext(ctx), e} - - buf := ec.RequestMiddleware(ctx, func(ctx context.Context) []byte { - data := ec._Query(ctx, op.SelectionSet) - var buf bytes.Buffer - data.MarshalGQL(&buf) - return buf.Bytes() - }) - - return &graphql.Response{ - Data: buf, - Errors: ec.Errors, - Extensions: ec.Extensions, - } -} - -func (e *executableSchema) Mutation(ctx context.Context, op *ast.OperationDefinition) *graphql.Response { - ec := executionContext{graphql.GetRequestContext(ctx), e} - - buf := ec.RequestMiddleware(ctx, func(ctx context.Context) []byte { - data := ec._Mutation(ctx, op.SelectionSet) - var buf bytes.Buffer - data.MarshalGQL(&buf) - return buf.Bytes() - }) - - return &graphql.Response{ - Data: buf, - Errors: ec.Errors, - Extensions: ec.Extensions, - } -} - -func (e *executableSchema) Subscription(ctx context.Context, op *ast.OperationDefinition) func() *graphql.Response { - ec := executionContext{graphql.GetRequestContext(ctx), e} - - next := ec._Subscription(ctx, op.SelectionSet) - if ec.Errors != nil { - return graphql.OneShot(&graphql.Response{Data: []byte("null"), Errors: ec.Errors}) - } - - var buf bytes.Buffer - return func() *graphql.Response { - buf := ec.RequestMiddleware(ctx, func(ctx context.Context) []byte { - buf.Reset() - data := next() - - if data == nil { - return nil - } - data.MarshalGQL(&buf) - return buf.Bytes() - }) - - if buf == nil { - return nil - } - - return &graphql.Response{ - Data: buf, - Errors: ec.Errors, - Extensions: ec.Extensions, - } - } -} - -type executionContext struct { - *graphql.RequestContext - *executableSchema -} - -func (ec *executionContext) FieldMiddleware(ctx context.Context, obj interface{}, next graphql.Resolver) (ret interface{}) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - res, err := ec.ResolverMiddleware(ctx, next) - if err != nil { - ec.Error(ctx, err) - return nil - } - return res -} - -func (ec *executionContext) introspectSchema() (*introspection.Schema, error) { - if ec.DisableIntrospection { - return nil, errors.New("introspection disabled") - } - return introspection.WrapSchema(parsedSchema), nil -} - -func (ec *executionContext) introspectType(name string) (*introspection.Type, error) { - if ec.DisableIntrospection { - return nil, errors.New("introspection disabled") - } - return introspection.WrapTypeFromDef(parsedSchema, parsedSchema.Types[name]), nil -} - -var parsedSchema = gqlparser.MustLoadSchema( - &ast.Source{Name: "graphql/schema/schema.graphql", Input: `"""The query root for this schema""" -type Query { - """Find a scene by ID or Checksum""" - findScene(id: ID, checksum: String): Scene - """A function which queries Scene objects""" - findScenes(scene_filter: SceneFilterType, scene_ids: [Int!], filter: FindFilterType): FindScenesResultType! - - """A function which queries SceneMarker objects""" - findSceneMarkers(scene_marker_filter: SceneMarkerFilterType filter: FindFilterType): FindSceneMarkersResultType! - - """Find a performer by ID""" - findPerformer(id: ID!): Performer - """A function which queries Performer objects""" - findPerformers(performer_filter: PerformerFilterType, filter: FindFilterType): FindPerformersResultType! - - """Find a studio by ID""" - findStudio(id: ID!): Studio - """A function which queries Studio objects""" - findStudios(filter: FindFilterType): FindStudiosResultType! - - findGallery(id: ID!): Gallery - findGalleries(filter: FindFilterType): FindGalleriesResultType! - - findTag(id: ID!): Tag - - """Retrieve random scene markers for the wall""" - markerWall(q: String): [SceneMarker!]! - """Retrieve random scenes for the wall""" - sceneWall(q: String): [Scene!]! - - """Get marker strings""" - markerStrings(q: String, sort: String): [MarkerStringsResultType]! - """Get the list of valid galleries for a given scene ID""" - validGalleriesForScene(scene_id: ID): [Gallery!]! - """Get stats""" - stats: StatsResultType! - """Organize scene markers by tag for a given scene ID""" - sceneMarkerTags(scene_id: ID!): [SceneMarkerTag!]! - - # Scrapers - - """Scrape a performer using Freeones""" - scrapeFreeones(performer_name: String!): ScrapedPerformer - """Scrape a list of performers from a query""" - scrapeFreeonesPerformerList(query: String!): [String!]! - - # Config - """Returns the current, complete configuration""" - configuration: ConfigResult! - """Returns an array of paths for the given path""" - directories(path: String): [String!]! - - # Metadata - - """Start an import. Returns the job ID""" - metadataImport: String! - """Start an export. Returns the job ID""" - metadataExport: String! - """Start a scan. Returns the job ID""" - metadataScan(input: ScanMetadataInput!): String! - """Start generating content. Returns the job ID""" - metadataGenerate(input: GenerateMetadataInput!): String! - """Clean metadata. Returns the job ID""" - metadataClean: String! - - # Get everything - - allPerformers: [Performer!]! - allStudios: [Studio!]! - allTags: [Tag!]! -} - -type Mutation { - sceneUpdate(input: SceneUpdateInput!): Scene - - sceneMarkerCreate(input: SceneMarkerCreateInput!): SceneMarker - sceneMarkerUpdate(input: SceneMarkerUpdateInput!): SceneMarker - sceneMarkerDestroy(id: ID!): Boolean! - - performerCreate(input: PerformerCreateInput!): Performer - performerUpdate(input: PerformerUpdateInput!): Performer - performerDestroy(input: PerformerDestroyInput!): Boolean! - - studioCreate(input: StudioCreateInput!): Studio - studioUpdate(input: StudioUpdateInput!): Studio - studioDestroy(input: StudioDestroyInput!): Boolean! - - tagCreate(input: TagCreateInput!): Tag - tagUpdate(input: TagUpdateInput!): Tag - tagDestroy(input: TagDestroyInput!): Boolean! - - """Change general configuration options""" - configureGeneral(input: ConfigGeneralInput!): ConfigGeneralResult! - configureInterface(input: ConfigInterfaceInput!): ConfigInterfaceResult! -} - -type Subscription { - """Update from the metadata manager""" - metadataUpdate: String! -} - -schema { - query: Query - mutation: Mutation - subscription: Subscription -}`}, - &ast.Source{Name: "graphql/schema/types/config.graphql", Input: `input ConfigGeneralInput { - """Array of file paths to content""" - stashes: [String!] - """Path to the SQLite database""" - databasePath: String - """Path to generated files""" - generatedPath: String -} - -type ConfigGeneralResult { - """Array of file paths to content""" - stashes: [String!]! - """Path to the SQLite database""" - databasePath: String! - """Path to generated files""" - generatedPath: String! -} - -input ConfigInterfaceInput { - """Custom CSS""" - css: String - cssEnabled: Boolean -} - -type ConfigInterfaceResult { - """Custom CSS""" - css: String - cssEnabled: Boolean -} - -"""All configuration settings""" -type ConfigResult { - general: ConfigGeneralResult! - interface: ConfigInterfaceResult! -}`}, - &ast.Source{Name: "graphql/schema/types/filters.graphql", Input: `enum SortDirectionEnum { - ASC - DESC -} - -input FindFilterType { - q: String - page: Int - per_page: Int - sort: String - direction: SortDirectionEnum -} - -enum ResolutionEnum { - "240p", LOW - "480p", STANDARD - "720p", STANDARD_HD - "1080p", FULL_HD - "4k", FOUR_K -} - -input PerformerFilterType { - """Filter by favorite""" - filter_favorites: Boolean -} - -input SceneMarkerFilterType { - """Filter to only include scene markers with this tag""" - tag_id: ID - """Filter to only include scene markers with these tags""" - tags: [ID!] - """Filter to only include scene markers attached to a scene with these tags""" - scene_tags: [ID!] - """Filter to only include scene markers with these performers""" - performers: [ID!] -} - -input SceneFilterType { - """Filter by rating""" - rating: IntCriterionInput - """Filter by resolution""" - resolution: ResolutionEnum - """Filter to only include scenes which have markers. ` + "`" + `true` + "`" + ` or ` + "`" + `false` + "`" + `""" - has_markers: String - """Filter to only include scenes missing this property""" - is_missing: String - """Filter to only include scenes with this studio""" - studio_id: ID - """Filter to only include scenes with these tags""" - tags: [ID!] - """Filter to only include scenes with this performer""" - performer_id: ID -} - -enum CriterionModifier { - """=""" - EQUALS, - """!=""" - NOT_EQUALS, - """>""" - GREATER_THAN, - """<""" - LESS_THAN, - """IS NULL""" - IS_NULL, - """IS NOT NULL""" - NOT_NULL, - INCLUDES, - EXCLUDES, -} - -input IntCriterionInput { - value: Int! - modifier: CriterionModifier! -}`}, - &ast.Source{Name: "graphql/schema/types/gallery.graphql", Input: `"""Gallery type""" -type Gallery { - id: ID! - checksum: String! - path: String! - title: String - - """The files in the gallery""" - files: [GalleryFilesType!]! # Resolver -} - -type GalleryFilesType { - index: Int! - name: String - path: String -} - -type FindGalleriesResultType { - count: Int! - galleries: [Gallery!]! -}`}, - &ast.Source{Name: "graphql/schema/types/metadata.graphql", Input: `input GenerateMetadataInput { - sprites: Boolean! - previews: Boolean! - markers: Boolean! - transcodes: Boolean! -} - -input ScanMetadataInput { - nameFromMetadata: Boolean! -}`}, - &ast.Source{Name: "graphql/schema/types/performer.graphql", Input: `type Performer { - id: ID! - checksum: String! - name: String - url: String - twitter: String - instagram: String - birthdate: String - ethnicity: String - country: String - eye_color: String - height: String - measurements: String - fake_tits: String - career_length: String - tattoos: String - piercings: String - aliases: String - favorite: Boolean! - - image_path: String # Resolver - scene_count: Int # Resolver - scenes: [Scene!]! -} - -input PerformerCreateInput { - name: String - url: String - birthdate: String - ethnicity: String - country: String - eye_color: String - height: String - measurements: String - fake_tits: String - career_length: String - tattoos: String - piercings: String - aliases: String - twitter: String - instagram: String - favorite: Boolean - """This should be base64 encoded""" - image: String! -} - -input PerformerUpdateInput { - id: ID! - name: String - url: String - birthdate: String - ethnicity: String - country: String - eye_color: String - height: String - measurements: String - fake_tits: String - career_length: String - tattoos: String - piercings: String - aliases: String - twitter: String - instagram: String - favorite: Boolean - """This should be base64 encoded""" - image: String -} - -input PerformerDestroyInput { - id: ID! -} - -type FindPerformersResultType { - count: Int! - performers: [Performer!]! -}`}, - &ast.Source{Name: "graphql/schema/types/scene-marker-tag.graphql", Input: `type SceneMarkerTag { - tag: Tag! - scene_markers: [SceneMarker!]! -}`}, - &ast.Source{Name: "graphql/schema/types/scene-marker.graphql", Input: `type SceneMarker { - id: ID! - scene: Scene! - title: String! - seconds: Float! - primary_tag: Tag! - tags: [Tag!]! - - """The path to stream this marker""" - stream: String! # Resolver - """The path to the preview image for this marker""" - preview: String! # Resolver -} - -input SceneMarkerCreateInput { - title: String! - seconds: Float! - scene_id: ID! - primary_tag_id: ID! - tag_ids: [ID!] -} - -input SceneMarkerUpdateInput { - id: ID! - title: String! - seconds: Float! - scene_id: ID! - primary_tag_id: ID! - tag_ids: [ID!] -} - -type FindSceneMarkersResultType { - count: Int! - scene_markers: [SceneMarker!]! -} - -type MarkerStringsResultType { - count: Int! - id: ID! - title: String! -}`}, - &ast.Source{Name: "graphql/schema/types/scene.graphql", Input: `type SceneFileType { - size: String - duration: Float - video_codec: String - audio_codec: String - width: Int - height: Int - framerate: Float - bitrate: Int -} - -type ScenePathsType { - screenshot: String # Resolver - preview: String # Resolver - stream: String # Resolver - webp: String # Resolver - vtt: String # Resolver - chapters_vtt: String # Resolver -} - -type Scene { - id: ID! - checksum: String! - title: String - details: String - url: String - date: String - rating: Int - path: String! - - file: SceneFileType! # Resolver - paths: ScenePathsType! # Resolver - is_streamable: Boolean! # Resolver - - scene_markers: [SceneMarker!]! - gallery: Gallery - studio: Studio - tags: [Tag!]! - performers: [Performer!]! -} - -input SceneUpdateInput { - clientMutationId: String - id: ID! - title: String - details: String - url: String - date: String - rating: Int - studio_id: ID - gallery_id: ID - performer_ids: [ID!] - tag_ids: [ID!] -} - -type FindScenesResultType { - count: Int! - scenes: [Scene!]! -}`}, - &ast.Source{Name: "graphql/schema/types/scraped-performer.graphql", Input: `"""A performer from a scraping operation...""" -type ScrapedPerformer { - name: String - url: String - twitter: String - instagram: String - birthdate: String - ethnicity: String - country: String - eye_color: String - height: String - measurements: String - fake_tits: String - career_length: String - tattoos: String - piercings: String - aliases: String -}`}, - &ast.Source{Name: "graphql/schema/types/stats.graphql", Input: `type StatsResultType { - scene_count: Int! - gallery_count: Int! - performer_count: Int! - studio_count: Int! - tag_count: Int! -}`}, - &ast.Source{Name: "graphql/schema/types/studio.graphql", Input: `type Studio { - id: ID! - checksum: String! - name: String! - url: String - - image_path: String # Resolver - scene_count: Int # Resolver -} - -input StudioCreateInput { - name: String! - url: String - """This should be base64 encoded""" - image: String! -} - -input StudioUpdateInput { - id: ID! - name: String - url: String - """This should be base64 encoded""" - image: String -} - -input StudioDestroyInput { - id: ID! -} - -type FindStudiosResultType { - count: Int! - studios: [Studio!]! -}`}, - &ast.Source{Name: "graphql/schema/types/tag.graphql", Input: `type Tag { - id: ID! - name: String! - - scene_count: Int # Resolver - scene_marker_count: Int # Resolver -} - -input TagCreateInput { - name: String! -} - -input TagUpdateInput { - id: ID! - name: String! -} - -input TagDestroyInput { - id: ID! -}`}, -) - -// endregion ************************** generated!.gotpl ************************** - -// region ***************************** args.gotpl ***************************** - -func (ec *executionContext) field_Mutation_configureGeneral_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 ConfigGeneralInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNConfigGeneralInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigGeneralInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_configureInterface_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 ConfigInterfaceInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNConfigInterfaceInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigInterfaceInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_performerCreate_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 PerformerCreateInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNPerformerCreateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformerCreateInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_performerDestroy_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 PerformerDestroyInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNPerformerDestroyInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformerDestroyInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_performerUpdate_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 PerformerUpdateInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNPerformerUpdateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformerUpdateInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_sceneMarkerCreate_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 SceneMarkerCreateInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNSceneMarkerCreateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerCreateInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_sceneMarkerDestroy_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["id"]; ok { - arg0, err = ec.unmarshalNID2string(ctx, tmp) - if err != nil { - return nil, err - } - } - args["id"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_sceneMarkerUpdate_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 SceneMarkerUpdateInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNSceneMarkerUpdateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerUpdateInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_sceneUpdate_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 SceneUpdateInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNSceneUpdateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneUpdateInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_studioCreate_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 StudioCreateInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNStudioCreateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudioCreateInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_studioDestroy_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 StudioDestroyInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNStudioDestroyInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudioDestroyInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_studioUpdate_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 StudioUpdateInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNStudioUpdateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudioUpdateInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_tagCreate_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 TagCreateInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNTagCreateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTagCreateInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_tagDestroy_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 TagDestroyInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNTagDestroyInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTagDestroyInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Mutation_tagUpdate_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 TagUpdateInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNTagUpdateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTagUpdateInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query___type_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["name"]; ok { - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } - } - args["name"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_directories_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 *string - if tmp, ok := rawArgs["path"]; ok { - arg0, err = ec.unmarshalOString2ᚖstring(ctx, tmp) - if err != nil { - return nil, err - } - } - args["path"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_findGalleries_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 *FindFilterType - if tmp, ok := rawArgs["filter"]; ok { - arg0, err = ec.unmarshalOFindFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindFilterType(ctx, tmp) - if err != nil { - return nil, err - } - } - args["filter"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_findGallery_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["id"]; ok { - arg0, err = ec.unmarshalNID2string(ctx, tmp) - if err != nil { - return nil, err - } - } - args["id"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_findPerformer_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["id"]; ok { - arg0, err = ec.unmarshalNID2string(ctx, tmp) - if err != nil { - return nil, err - } - } - args["id"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_findPerformers_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 *PerformerFilterType - if tmp, ok := rawArgs["performer_filter"]; ok { - arg0, err = ec.unmarshalOPerformerFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformerFilterType(ctx, tmp) - if err != nil { - return nil, err - } - } - args["performer_filter"] = arg0 - var arg1 *FindFilterType - if tmp, ok := rawArgs["filter"]; ok { - arg1, err = ec.unmarshalOFindFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindFilterType(ctx, tmp) - if err != nil { - return nil, err - } - } - args["filter"] = arg1 - return args, nil -} - -func (ec *executionContext) field_Query_findSceneMarkers_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 *SceneMarkerFilterType - if tmp, ok := rawArgs["scene_marker_filter"]; ok { - arg0, err = ec.unmarshalOSceneMarkerFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerFilterType(ctx, tmp) - if err != nil { - return nil, err - } - } - args["scene_marker_filter"] = arg0 - var arg1 *FindFilterType - if tmp, ok := rawArgs["filter"]; ok { - arg1, err = ec.unmarshalOFindFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindFilterType(ctx, tmp) - if err != nil { - return nil, err - } - } - args["filter"] = arg1 - return args, nil -} - -func (ec *executionContext) field_Query_findScene_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 *string - if tmp, ok := rawArgs["id"]; ok { - arg0, err = ec.unmarshalOID2ᚖstring(ctx, tmp) - if err != nil { - return nil, err - } - } - args["id"] = arg0 - var arg1 *string - if tmp, ok := rawArgs["checksum"]; ok { - arg1, err = ec.unmarshalOString2ᚖstring(ctx, tmp) - if err != nil { - return nil, err - } - } - args["checksum"] = arg1 - return args, nil -} - -func (ec *executionContext) field_Query_findScenes_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 *SceneFilterType - if tmp, ok := rawArgs["scene_filter"]; ok { - arg0, err = ec.unmarshalOSceneFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneFilterType(ctx, tmp) - if err != nil { - return nil, err - } - } - args["scene_filter"] = arg0 - var arg1 []int - if tmp, ok := rawArgs["scene_ids"]; ok { - arg1, err = ec.unmarshalOInt2ᚕint(ctx, tmp) - if err != nil { - return nil, err - } - } - args["scene_ids"] = arg1 - var arg2 *FindFilterType - if tmp, ok := rawArgs["filter"]; ok { - arg2, err = ec.unmarshalOFindFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindFilterType(ctx, tmp) - if err != nil { - return nil, err - } - } - args["filter"] = arg2 - return args, nil -} - -func (ec *executionContext) field_Query_findStudio_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["id"]; ok { - arg0, err = ec.unmarshalNID2string(ctx, tmp) - if err != nil { - return nil, err - } - } - args["id"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_findStudios_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 *FindFilterType - if tmp, ok := rawArgs["filter"]; ok { - arg0, err = ec.unmarshalOFindFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindFilterType(ctx, tmp) - if err != nil { - return nil, err - } - } - args["filter"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_findTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["id"]; ok { - arg0, err = ec.unmarshalNID2string(ctx, tmp) - if err != nil { - return nil, err - } - } - args["id"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_markerStrings_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 *string - if tmp, ok := rawArgs["q"]; ok { - arg0, err = ec.unmarshalOString2ᚖstring(ctx, tmp) - if err != nil { - return nil, err - } - } - args["q"] = arg0 - var arg1 *string - if tmp, ok := rawArgs["sort"]; ok { - arg1, err = ec.unmarshalOString2ᚖstring(ctx, tmp) - if err != nil { - return nil, err - } - } - args["sort"] = arg1 - return args, nil -} - -func (ec *executionContext) field_Query_markerWall_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 *string - if tmp, ok := rawArgs["q"]; ok { - arg0, err = ec.unmarshalOString2ᚖstring(ctx, tmp) - if err != nil { - return nil, err - } - } - args["q"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_metadataGenerate_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 GenerateMetadataInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNGenerateMetadataInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGenerateMetadataInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_metadataScan_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 ScanMetadataInput - if tmp, ok := rawArgs["input"]; ok { - arg0, err = ec.unmarshalNScanMetadataInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScanMetadataInput(ctx, tmp) - if err != nil { - return nil, err - } - } - args["input"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_sceneMarkerTags_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["scene_id"]; ok { - arg0, err = ec.unmarshalNID2string(ctx, tmp) - if err != nil { - return nil, err - } - } - args["scene_id"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_sceneWall_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 *string - if tmp, ok := rawArgs["q"]; ok { - arg0, err = ec.unmarshalOString2ᚖstring(ctx, tmp) - if err != nil { - return nil, err - } - } - args["q"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_scrapeFreeonesPerformerList_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["query"]; ok { - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } - } - args["query"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_scrapeFreeones_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["performer_name"]; ok { - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } - } - args["performer_name"] = arg0 - return args, nil -} - -func (ec *executionContext) field_Query_validGalleriesForScene_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 *string - if tmp, ok := rawArgs["scene_id"]; ok { - arg0, err = ec.unmarshalOID2ᚖstring(ctx, tmp) - if err != nil { - return nil, err - } - } - args["scene_id"] = arg0 - return args, nil -} - -func (ec *executionContext) field___Type_enumValues_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 bool - if tmp, ok := rawArgs["includeDeprecated"]; ok { - arg0, err = ec.unmarshalOBoolean2bool(ctx, tmp) - if err != nil { - return nil, err - } - } - args["includeDeprecated"] = arg0 - return args, nil -} - -func (ec *executionContext) field___Type_fields_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 bool - if tmp, ok := rawArgs["includeDeprecated"]; ok { - arg0, err = ec.unmarshalOBoolean2bool(ctx, tmp) - if err != nil { - return nil, err - } - } - args["includeDeprecated"] = arg0 - return args, nil -} - -// endregion ***************************** args.gotpl ***************************** - -// region **************************** field.gotpl ***************************** - -func (ec *executionContext) _ConfigGeneralResult_stashes(ctx context.Context, field graphql.CollectedField, obj *ConfigGeneralResult) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ConfigGeneralResult", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Stashes, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2ᚕstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ConfigGeneralResult_databasePath(ctx context.Context, field graphql.CollectedField, obj *ConfigGeneralResult) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ConfigGeneralResult", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.DatabasePath, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _ConfigGeneralResult_generatedPath(ctx context.Context, field graphql.CollectedField, obj *ConfigGeneralResult) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ConfigGeneralResult", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.GeneratedPath, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _ConfigInterfaceResult_css(ctx context.Context, field graphql.CollectedField, obj *ConfigInterfaceResult) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ConfigInterfaceResult", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.CSS, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ConfigInterfaceResult_cssEnabled(ctx context.Context, field graphql.CollectedField, obj *ConfigInterfaceResult) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ConfigInterfaceResult", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.CSSEnabled, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*bool) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOBoolean2ᚖbool(ctx, field.Selections, res) -} - -func (ec *executionContext) _ConfigResult_general(ctx context.Context, field graphql.CollectedField, obj *ConfigResult) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ConfigResult", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.General, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*ConfigGeneralResult) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNConfigGeneralResult2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigGeneralResult(ctx, field.Selections, res) -} - -func (ec *executionContext) _ConfigResult_interface(ctx context.Context, field graphql.CollectedField, obj *ConfigResult) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ConfigResult", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Interface, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*ConfigInterfaceResult) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNConfigInterfaceResult2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigInterfaceResult(ctx, field.Selections, res) -} - -func (ec *executionContext) _FindGalleriesResultType_count(ctx context.Context, field graphql.CollectedField, obj *FindGalleriesResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "FindGalleriesResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Count, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _FindGalleriesResultType_galleries(ctx context.Context, field graphql.CollectedField, obj *FindGalleriesResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "FindGalleriesResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Galleries, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Gallery) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNGallery2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGallery(ctx, field.Selections, res) -} - -func (ec *executionContext) _FindPerformersResultType_count(ctx context.Context, field graphql.CollectedField, obj *FindPerformersResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "FindPerformersResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Count, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _FindPerformersResultType_performers(ctx context.Context, field graphql.CollectedField, obj *FindPerformersResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "FindPerformersResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Performers, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Performer) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNPerformer2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx, field.Selections, res) -} - -func (ec *executionContext) _FindSceneMarkersResultType_count(ctx context.Context, field graphql.CollectedField, obj *FindSceneMarkersResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "FindSceneMarkersResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Count, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _FindSceneMarkersResultType_scene_markers(ctx context.Context, field graphql.CollectedField, obj *FindSceneMarkersResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "FindSceneMarkersResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.SceneMarkers, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*SceneMarker) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNSceneMarker2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx, field.Selections, res) -} - -func (ec *executionContext) _FindScenesResultType_count(ctx context.Context, field graphql.CollectedField, obj *FindScenesResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "FindScenesResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Count, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _FindScenesResultType_scenes(ctx context.Context, field graphql.CollectedField, obj *FindScenesResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "FindScenesResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Scenes, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Scene) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNScene2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx, field.Selections, res) -} - -func (ec *executionContext) _FindStudiosResultType_count(ctx context.Context, field graphql.CollectedField, obj *FindStudiosResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "FindStudiosResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Count, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _FindStudiosResultType_studios(ctx context.Context, field graphql.CollectedField, obj *FindStudiosResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "FindStudiosResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Studios, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Studio) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNStudio2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx, field.Selections, res) -} - -func (ec *executionContext) _Gallery_id(ctx context.Context, field graphql.CollectedField, obj *Gallery) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Gallery", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNID2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _Gallery_checksum(ctx context.Context, field graphql.CollectedField, obj *Gallery) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Gallery", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Checksum, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Gallery_path(ctx context.Context, field graphql.CollectedField, obj *Gallery) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Gallery", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Path, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Gallery_title(ctx context.Context, field graphql.CollectedField, obj *Gallery) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Gallery", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Gallery().Title(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Gallery_files(ctx context.Context, field graphql.CollectedField, obj *Gallery) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Gallery", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Gallery().Files(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*GalleryFilesType) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNGalleryFilesType2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGalleryFilesType(ctx, field.Selections, res) -} - -func (ec *executionContext) _GalleryFilesType_index(ctx context.Context, field graphql.CollectedField, obj *GalleryFilesType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "GalleryFilesType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Index, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _GalleryFilesType_name(ctx context.Context, field graphql.CollectedField, obj *GalleryFilesType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "GalleryFilesType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _GalleryFilesType_path(ctx context.Context, field graphql.CollectedField, obj *GalleryFilesType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "GalleryFilesType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Path, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _MarkerStringsResultType_count(ctx context.Context, field graphql.CollectedField, obj *MarkerStringsResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "MarkerStringsResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Count, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _MarkerStringsResultType_id(ctx context.Context, field graphql.CollectedField, obj *MarkerStringsResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "MarkerStringsResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _MarkerStringsResultType_title(ctx context.Context, field graphql.CollectedField, obj *MarkerStringsResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "MarkerStringsResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Title, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_sceneUpdate(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_sceneUpdate_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().SceneUpdate(rctx, args["input"].(SceneUpdateInput)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Scene) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOScene2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_sceneMarkerCreate(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_sceneMarkerCreate_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().SceneMarkerCreate(rctx, args["input"].(SceneMarkerCreateInput)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*SceneMarker) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOSceneMarker2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_sceneMarkerUpdate(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_sceneMarkerUpdate_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().SceneMarkerUpdate(rctx, args["input"].(SceneMarkerUpdateInput)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*SceneMarker) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOSceneMarker2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_sceneMarkerDestroy(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_sceneMarkerDestroy_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().SceneMarkerDestroy(rctx, args["id"].(string)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_performerCreate(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_performerCreate_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().PerformerCreate(rctx, args["input"].(PerformerCreateInput)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Performer) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOPerformer2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_performerUpdate(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_performerUpdate_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().PerformerUpdate(rctx, args["input"].(PerformerUpdateInput)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Performer) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOPerformer2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_performerDestroy(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_performerDestroy_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().PerformerDestroy(rctx, args["input"].(PerformerDestroyInput)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_studioCreate(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_studioCreate_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().StudioCreate(rctx, args["input"].(StudioCreateInput)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Studio) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOStudio2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_studioUpdate(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_studioUpdate_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().StudioUpdate(rctx, args["input"].(StudioUpdateInput)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Studio) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOStudio2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_studioDestroy(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_studioDestroy_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().StudioDestroy(rctx, args["input"].(StudioDestroyInput)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_tagCreate(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_tagCreate_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().TagCreate(rctx, args["input"].(TagCreateInput)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Tag) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOTag2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_tagUpdate(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_tagUpdate_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().TagUpdate(rctx, args["input"].(TagUpdateInput)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Tag) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOTag2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_tagDestroy(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_tagDestroy_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().TagDestroy(rctx, args["input"].(TagDestroyInput)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_configureGeneral(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_configureGeneral_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().ConfigureGeneral(rctx, args["input"].(ConfigGeneralInput)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*ConfigGeneralResult) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNConfigGeneralResult2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigGeneralResult(ctx, field.Selections, res) -} - -func (ec *executionContext) _Mutation_configureInterface(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Mutation", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Mutation_configureInterface_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().ConfigureInterface(rctx, args["input"].(ConfigInterfaceInput)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*ConfigInterfaceResult) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNConfigInterfaceResult2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigInterfaceResult(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_id(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNID2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_checksum(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Checksum, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_name(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Name(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_url(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().URL(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_twitter(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Twitter(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_instagram(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Instagram(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_birthdate(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Birthdate(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_ethnicity(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Ethnicity(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_country(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Country(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_eye_color(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().EyeColor(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_height(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Height(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_measurements(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Measurements(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_fake_tits(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().FakeTits(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_career_length(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().CareerLength(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_tattoos(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Tattoos(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_piercings(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Piercings(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_aliases(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Aliases(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_favorite(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Favorite(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_image_path(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().ImagePath(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_scene_count(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().SceneCount(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) _Performer_scenes(ctx context.Context, field graphql.CollectedField, obj *Performer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Performer", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Performer().Scenes(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Scene) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNScene2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_findScene(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_findScene_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().FindScene(rctx, args["id"].(*string), args["checksum"].(*string)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Scene) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOScene2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_findScenes(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_findScenes_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().FindScenes(rctx, args["scene_filter"].(*SceneFilterType), args["scene_ids"].([]int), args["filter"].(*FindFilterType)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*FindScenesResultType) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNFindScenesResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindScenesResultType(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_findSceneMarkers(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_findSceneMarkers_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().FindSceneMarkers(rctx, args["scene_marker_filter"].(*SceneMarkerFilterType), args["filter"].(*FindFilterType)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*FindSceneMarkersResultType) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNFindSceneMarkersResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindSceneMarkersResultType(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_findPerformer(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_findPerformer_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().FindPerformer(rctx, args["id"].(string)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Performer) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOPerformer2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_findPerformers(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_findPerformers_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().FindPerformers(rctx, args["performer_filter"].(*PerformerFilterType), args["filter"].(*FindFilterType)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*FindPerformersResultType) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNFindPerformersResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindPerformersResultType(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_findStudio(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_findStudio_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().FindStudio(rctx, args["id"].(string)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Studio) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOStudio2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_findStudios(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_findStudios_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().FindStudios(rctx, args["filter"].(*FindFilterType)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*FindStudiosResultType) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNFindStudiosResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindStudiosResultType(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_findGallery(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_findGallery_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().FindGallery(rctx, args["id"].(string)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Gallery) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOGallery2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGallery(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_findGalleries(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_findGalleries_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().FindGalleries(rctx, args["filter"].(*FindFilterType)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*FindGalleriesResultType) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNFindGalleriesResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindGalleriesResultType(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_findTag(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_findTag_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().FindTag(rctx, args["id"].(string)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Tag) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOTag2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_markerWall(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_markerWall_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().MarkerWall(rctx, args["q"].(*string)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*SceneMarker) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNSceneMarker2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_sceneWall(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_sceneWall_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().SceneWall(rctx, args["q"].(*string)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Scene) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNScene2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_markerStrings(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_markerStrings_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().MarkerStrings(rctx, args["q"].(*string), args["sort"].(*string)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*MarkerStringsResultType) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNMarkerStringsResultType2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐMarkerStringsResultType(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_validGalleriesForScene(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_validGalleriesForScene_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().ValidGalleriesForScene(rctx, args["scene_id"].(*string)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Gallery) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNGallery2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGallery(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_stats(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().Stats(rctx) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*StatsResultType) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNStatsResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStatsResultType(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_sceneMarkerTags(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_sceneMarkerTags_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().SceneMarkerTags(rctx, args["scene_id"].(string)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*SceneMarkerTag) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNSceneMarkerTag2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerTag(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_scrapeFreeones(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_scrapeFreeones_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().ScrapeFreeones(rctx, args["performer_name"].(string)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*ScrapedPerformer) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOScrapedPerformer2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScrapedPerformer(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_scrapeFreeonesPerformerList(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_scrapeFreeonesPerformerList_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().ScrapeFreeonesPerformerList(rctx, args["query"].(string)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2ᚕstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_configuration(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().Configuration(rctx) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*ConfigResult) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNConfigResult2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigResult(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_directories(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_directories_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().Directories(rctx, args["path"].(*string)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2ᚕstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_metadataImport(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().MetadataImport(rctx) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_metadataExport(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().MetadataExport(rctx) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_metadataScan(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_metadataScan_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().MetadataScan(rctx, args["input"].(ScanMetadataInput)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_metadataGenerate(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query_metadataGenerate_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().MetadataGenerate(rctx, args["input"].(GenerateMetadataInput)) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_metadataClean(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().MetadataClean(rctx) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_allPerformers(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().AllPerformers(rctx) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Performer) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNPerformer2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_allStudios(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().AllStudios(rctx) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Studio) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNStudio2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query_allTags(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().AllTags(rctx) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Tag) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNTag2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query___type(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field_Query___type_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.introspectType(args["name"].(string)) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) _Query___schema(ctx context.Context, field graphql.CollectedField) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Query", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.introspectSchema() - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Schema) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_id(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNID2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_checksum(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Checksum, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_title(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().Title(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_details(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().Details(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_url(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().URL(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_date(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().Date(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_rating(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().Rating(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_path(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Path, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_file(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().File(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*SceneFileType) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNSceneFileType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneFileType(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_paths(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().Paths(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*ScenePathsType) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNScenePathsType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScenePathsType(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_is_streamable(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().IsStreamable(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_scene_markers(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().SceneMarkers(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*SceneMarker) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNSceneMarker2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_gallery(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().Gallery(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Gallery) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOGallery2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGallery(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_studio(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().Studio(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Studio) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOStudio2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_tags(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().Tags(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Tag) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNTag2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) _Scene_performers(ctx context.Context, field graphql.CollectedField, obj *Scene) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Scene", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Scene().Performers(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Performer) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNPerformer2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneFileType_size(ctx context.Context, field graphql.CollectedField, obj *SceneFileType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneFileType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Size, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneFileType_duration(ctx context.Context, field graphql.CollectedField, obj *SceneFileType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneFileType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Duration, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*float64) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOFloat2ᚖfloat64(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneFileType_video_codec(ctx context.Context, field graphql.CollectedField, obj *SceneFileType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneFileType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.VideoCodec, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneFileType_audio_codec(ctx context.Context, field graphql.CollectedField, obj *SceneFileType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneFileType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.AudioCodec, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneFileType_width(ctx context.Context, field graphql.CollectedField, obj *SceneFileType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneFileType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Width, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneFileType_height(ctx context.Context, field graphql.CollectedField, obj *SceneFileType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneFileType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Height, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneFileType_framerate(ctx context.Context, field graphql.CollectedField, obj *SceneFileType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneFileType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Framerate, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*float64) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOFloat2ᚖfloat64(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneFileType_bitrate(ctx context.Context, field graphql.CollectedField, obj *SceneFileType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneFileType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Bitrate, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneMarker_id(ctx context.Context, field graphql.CollectedField, obj *SceneMarker) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneMarker", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNID2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneMarker_scene(ctx context.Context, field graphql.CollectedField, obj *SceneMarker) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneMarker", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SceneMarker().Scene(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Scene) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNScene2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneMarker_title(ctx context.Context, field graphql.CollectedField, obj *SceneMarker) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneMarker", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Title, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneMarker_seconds(ctx context.Context, field graphql.CollectedField, obj *SceneMarker) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneMarker", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Seconds, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(float64) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNFloat2float64(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneMarker_primary_tag(ctx context.Context, field graphql.CollectedField, obj *SceneMarker) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneMarker", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SceneMarker().PrimaryTag(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Tag) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNTag2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneMarker_tags(ctx context.Context, field graphql.CollectedField, obj *SceneMarker) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneMarker", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SceneMarker().Tags(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Tag) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNTag2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneMarker_stream(ctx context.Context, field graphql.CollectedField, obj *SceneMarker) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneMarker", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SceneMarker().Stream(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneMarker_preview(ctx context.Context, field graphql.CollectedField, obj *SceneMarker) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneMarker", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SceneMarker().Preview(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneMarkerTag_tag(ctx context.Context, field graphql.CollectedField, obj *SceneMarkerTag) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneMarkerTag", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Tag, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Tag) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNTag2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) _SceneMarkerTag_scene_markers(ctx context.Context, field graphql.CollectedField, obj *SceneMarkerTag) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "SceneMarkerTag", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.SceneMarkers, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*SceneMarker) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNSceneMarker2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScenePathsType_screenshot(ctx context.Context, field graphql.CollectedField, obj *ScenePathsType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScenePathsType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Screenshot, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScenePathsType_preview(ctx context.Context, field graphql.CollectedField, obj *ScenePathsType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScenePathsType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Preview, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScenePathsType_stream(ctx context.Context, field graphql.CollectedField, obj *ScenePathsType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScenePathsType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Stream, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScenePathsType_webp(ctx context.Context, field graphql.CollectedField, obj *ScenePathsType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScenePathsType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Webp, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScenePathsType_vtt(ctx context.Context, field graphql.CollectedField, obj *ScenePathsType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScenePathsType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Vtt, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScenePathsType_chapters_vtt(ctx context.Context, field graphql.CollectedField, obj *ScenePathsType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScenePathsType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.ChaptersVtt, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_name(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_url(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.URL, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_twitter(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Twitter, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_instagram(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Instagram, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_birthdate(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Birthdate, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_ethnicity(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Ethnicity, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_country(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Country, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_eye_color(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.EyeColor, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_height(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Height, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_measurements(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Measurements, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_fake_tits(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.FakeTits, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_career_length(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.CareerLength, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_tattoos(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Tattoos, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_piercings(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Piercings, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _ScrapedPerformer_aliases(ctx context.Context, field graphql.CollectedField, obj *ScrapedPerformer) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "ScrapedPerformer", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Aliases, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _StatsResultType_scene_count(ctx context.Context, field graphql.CollectedField, obj *StatsResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "StatsResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.SceneCount, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _StatsResultType_gallery_count(ctx context.Context, field graphql.CollectedField, obj *StatsResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "StatsResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.GalleryCount, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _StatsResultType_performer_count(ctx context.Context, field graphql.CollectedField, obj *StatsResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "StatsResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.PerformerCount, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _StatsResultType_studio_count(ctx context.Context, field graphql.CollectedField, obj *StatsResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "StatsResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.StudioCount, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _StatsResultType_tag_count(ctx context.Context, field graphql.CollectedField, obj *StatsResultType) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "StatsResultType", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.TagCount, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _Studio_id(ctx context.Context, field graphql.CollectedField, obj *Studio) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Studio", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNID2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _Studio_checksum(ctx context.Context, field graphql.CollectedField, obj *Studio) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Studio", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Checksum, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Studio_name(ctx context.Context, field graphql.CollectedField, obj *Studio) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Studio", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Studio().Name(rctx, obj) - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Studio_url(ctx context.Context, field graphql.CollectedField, obj *Studio) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Studio", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Studio().URL(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Studio_image_path(ctx context.Context, field graphql.CollectedField, obj *Studio) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Studio", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Studio().ImagePath(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) _Studio_scene_count(ctx context.Context, field graphql.CollectedField, obj *Studio) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Studio", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Studio().SceneCount(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) _Subscription_metadataUpdate(ctx context.Context, field graphql.CollectedField) func() graphql.Marshaler { - ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{ - Field: field, - Args: nil, - }) - // FIXME: subscriptions are missing request middleware stack https://github.com/99designs/gqlgen/issues/259 - // and Tracer stack - rctx := ctx - results, err := ec.resolvers.Subscription().MetadataUpdate(rctx) - if err != nil { - ec.Error(ctx, err) - return nil - } - return func() graphql.Marshaler { - res, ok := <-results - if !ok { - return nil - } - return graphql.WriterFunc(func(w io.Writer) { - w.Write([]byte{'{'}) - graphql.MarshalString(field.Alias).MarshalGQL(w) - w.Write([]byte{':'}) - ec.marshalNString2string(ctx, field.Selections, res).MarshalGQL(w) - w.Write([]byte{'}'}) - }) - } -} - -func (ec *executionContext) _Tag_id(ctx context.Context, field graphql.CollectedField, obj *Tag) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Tag", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNID2int(ctx, field.Selections, res) -} - -func (ec *executionContext) _Tag_name(ctx context.Context, field graphql.CollectedField, obj *Tag) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Tag", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) _Tag_scene_count(ctx context.Context, field graphql.CollectedField, obj *Tag) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Tag", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Tag().SceneCount(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) _Tag_scene_marker_count(ctx context.Context, field graphql.CollectedField, obj *Tag) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "Tag", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Tag().SceneMarkerCount(rctx, obj) - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Directive_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Directive", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Directive_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Directive", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Directive_locations(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Directive", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Locations, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalN__DirectiveLocation2ᚕstring(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Directive", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Args, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.InputValue) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, field.Selections, res) -} - -func (ec *executionContext) ___EnumValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__EnumValue", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) ___EnumValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__EnumValue", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) ___EnumValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__EnumValue", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsDeprecated(), nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) ___EnumValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__EnumValue", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.DeprecationReason(), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Field_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Field", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Field_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Field", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Field_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Field", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Args, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.InputValue) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Field_type(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Field", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Type, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*introspection.Type) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Field_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Field", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsDeprecated(), nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Field_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Field", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.DeprecationReason(), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) ___InputValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__InputValue", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) ___InputValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__InputValue", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) ___InputValue_type(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__InputValue", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Type, nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*introspection.Type) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) ___InputValue_defaultValue(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__InputValue", - Field: field, - Args: nil, - IsMethod: false, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.DefaultValue, nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Schema_types(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Schema", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Types(), nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.Type) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Schema_queryType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Schema", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.QueryType(), nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*introspection.Type) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Schema_mutationType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Schema", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.MutationType(), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Schema_subscriptionType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Schema", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.SubscriptionType(), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Schema_directives(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Schema", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Directives(), nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.Directive) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Type_kind(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Type", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Kind(), nil - }) - if resTmp == nil { - if !ec.HasError(rctx) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalN__TypeKind2string(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Type_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Type", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name(), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Type_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Type", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(string) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalOString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Type_fields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Type", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field___Type_fields_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Fields(args["includeDeprecated"].(bool)), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.Field) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Type_interfaces(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Type", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Interfaces(), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.Type) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Type_possibleTypes(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Type", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.PossibleTypes(), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.Type) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Type_enumValues(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Type", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - rawArgs := field.ArgumentMap(ec.Variables) - args, err := ec.field___Type_enumValues_args(ctx, rawArgs) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - rctx.Args = args - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.EnumValues(args["includeDeprecated"].(bool)), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.EnumValue) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Type_inputFields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Type", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.InputFields(), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.InputValue) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, field.Selections, res) -} - -func (ec *executionContext) ___Type_ofType(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler { - ctx = ec.Tracer.StartFieldExecution(ctx, field) - defer func() { ec.Tracer.EndFieldExecution(ctx) }() - rctx := &graphql.ResolverContext{ - Object: "__Type", - Field: field, - Args: nil, - IsMethod: true, - } - ctx = graphql.WithResolverContext(ctx, rctx) - ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx) - resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.OfType(), nil - }) - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - rctx.Result = res - ctx = ec.Tracer.StartFieldChildExecution(ctx) - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -// endregion **************************** field.gotpl ***************************** - -// region **************************** input.gotpl ***************************** - -func (ec *executionContext) unmarshalInputConfigGeneralInput(ctx context.Context, v interface{}) (ConfigGeneralInput, error) { - var it ConfigGeneralInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "stashes": - var err error - it.Stashes, err = ec.unmarshalOString2ᚕstring(ctx, v) - if err != nil { - return it, err - } - case "databasePath": - var err error - it.DatabasePath, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "generatedPath": - var err error - it.GeneratedPath, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputConfigInterfaceInput(ctx context.Context, v interface{}) (ConfigInterfaceInput, error) { - var it ConfigInterfaceInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "css": - var err error - it.CSS, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "cssEnabled": - var err error - it.CSSEnabled, err = ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputFindFilterType(ctx context.Context, v interface{}) (FindFilterType, error) { - var it FindFilterType - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "q": - var err error - it.Q, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "page": - var err error - it.Page, err = ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - case "per_page": - var err error - it.PerPage, err = ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - case "sort": - var err error - it.Sort, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "direction": - var err error - it.Direction, err = ec.unmarshalOSortDirectionEnum2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSortDirectionEnum(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputGenerateMetadataInput(ctx context.Context, v interface{}) (GenerateMetadataInput, error) { - var it GenerateMetadataInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "sprites": - var err error - it.Sprites, err = ec.unmarshalNBoolean2bool(ctx, v) - if err != nil { - return it, err - } - case "previews": - var err error - it.Previews, err = ec.unmarshalNBoolean2bool(ctx, v) - if err != nil { - return it, err - } - case "markers": - var err error - it.Markers, err = ec.unmarshalNBoolean2bool(ctx, v) - if err != nil { - return it, err - } - case "transcodes": - var err error - it.Transcodes, err = ec.unmarshalNBoolean2bool(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputIntCriterionInput(ctx context.Context, v interface{}) (IntCriterionInput, error) { - var it IntCriterionInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "value": - var err error - it.Value, err = ec.unmarshalNInt2int(ctx, v) - if err != nil { - return it, err - } - case "modifier": - var err error - it.Modifier, err = ec.unmarshalNCriterionModifier2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐCriterionModifier(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputPerformerCreateInput(ctx context.Context, v interface{}) (PerformerCreateInput, error) { - var it PerformerCreateInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "name": - var err error - it.Name, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "url": - var err error - it.URL, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "birthdate": - var err error - it.Birthdate, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "ethnicity": - var err error - it.Ethnicity, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "country": - var err error - it.Country, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "eye_color": - var err error - it.EyeColor, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "height": - var err error - it.Height, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "measurements": - var err error - it.Measurements, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "fake_tits": - var err error - it.FakeTits, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "career_length": - var err error - it.CareerLength, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "tattoos": - var err error - it.Tattoos, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "piercings": - var err error - it.Piercings, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "aliases": - var err error - it.Aliases, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "twitter": - var err error - it.Twitter, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "instagram": - var err error - it.Instagram, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "favorite": - var err error - it.Favorite, err = ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - case "image": - var err error - it.Image, err = ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputPerformerDestroyInput(ctx context.Context, v interface{}) (PerformerDestroyInput, error) { - var it PerformerDestroyInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "id": - var err error - it.ID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputPerformerFilterType(ctx context.Context, v interface{}) (PerformerFilterType, error) { - var it PerformerFilterType - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "filter_favorites": - var err error - it.FilterFavorites, err = ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputPerformerUpdateInput(ctx context.Context, v interface{}) (PerformerUpdateInput, error) { - var it PerformerUpdateInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "id": - var err error - it.ID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - case "name": - var err error - it.Name, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "url": - var err error - it.URL, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "birthdate": - var err error - it.Birthdate, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "ethnicity": - var err error - it.Ethnicity, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "country": - var err error - it.Country, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "eye_color": - var err error - it.EyeColor, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "height": - var err error - it.Height, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "measurements": - var err error - it.Measurements, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "fake_tits": - var err error - it.FakeTits, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "career_length": - var err error - it.CareerLength, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "tattoos": - var err error - it.Tattoos, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "piercings": - var err error - it.Piercings, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "aliases": - var err error - it.Aliases, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "twitter": - var err error - it.Twitter, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "instagram": - var err error - it.Instagram, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "favorite": - var err error - it.Favorite, err = ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - case "image": - var err error - it.Image, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputScanMetadataInput(ctx context.Context, v interface{}) (ScanMetadataInput, error) { - var it ScanMetadataInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "nameFromMetadata": - var err error - it.NameFromMetadata, err = ec.unmarshalNBoolean2bool(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputSceneFilterType(ctx context.Context, v interface{}) (SceneFilterType, error) { - var it SceneFilterType - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "rating": - var err error - it.Rating, err = ec.unmarshalOIntCriterionInput2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐIntCriterionInput(ctx, v) - if err != nil { - return it, err - } - case "resolution": - var err error - it.Resolution, err = ec.unmarshalOResolutionEnum2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐResolutionEnum(ctx, v) - if err != nil { - return it, err - } - case "has_markers": - var err error - it.HasMarkers, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "is_missing": - var err error - it.IsMissing, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "studio_id": - var err error - it.StudioID, err = ec.unmarshalOID2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "tags": - var err error - it.Tags, err = ec.unmarshalOID2ᚕstring(ctx, v) - if err != nil { - return it, err - } - case "performer_id": - var err error - it.PerformerID, err = ec.unmarshalOID2ᚖstring(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputSceneMarkerCreateInput(ctx context.Context, v interface{}) (SceneMarkerCreateInput, error) { - var it SceneMarkerCreateInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "title": - var err error - it.Title, err = ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - case "seconds": - var err error - it.Seconds, err = ec.unmarshalNFloat2float64(ctx, v) - if err != nil { - return it, err - } - case "scene_id": - var err error - it.SceneID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - case "primary_tag_id": - var err error - it.PrimaryTagID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - case "tag_ids": - var err error - it.TagIds, err = ec.unmarshalOID2ᚕstring(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputSceneMarkerFilterType(ctx context.Context, v interface{}) (SceneMarkerFilterType, error) { - var it SceneMarkerFilterType - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "tag_id": - var err error - it.TagID, err = ec.unmarshalOID2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "tags": - var err error - it.Tags, err = ec.unmarshalOID2ᚕstring(ctx, v) - if err != nil { - return it, err - } - case "scene_tags": - var err error - it.SceneTags, err = ec.unmarshalOID2ᚕstring(ctx, v) - if err != nil { - return it, err - } - case "performers": - var err error - it.Performers, err = ec.unmarshalOID2ᚕstring(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputSceneMarkerUpdateInput(ctx context.Context, v interface{}) (SceneMarkerUpdateInput, error) { - var it SceneMarkerUpdateInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "id": - var err error - it.ID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - case "title": - var err error - it.Title, err = ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - case "seconds": - var err error - it.Seconds, err = ec.unmarshalNFloat2float64(ctx, v) - if err != nil { - return it, err - } - case "scene_id": - var err error - it.SceneID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - case "primary_tag_id": - var err error - it.PrimaryTagID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - case "tag_ids": - var err error - it.TagIds, err = ec.unmarshalOID2ᚕstring(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputSceneUpdateInput(ctx context.Context, v interface{}) (SceneUpdateInput, error) { - var it SceneUpdateInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "clientMutationId": - var err error - it.ClientMutationID, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "id": - var err error - it.ID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - case "title": - var err error - it.Title, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "details": - var err error - it.Details, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "url": - var err error - it.URL, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "date": - var err error - it.Date, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "rating": - var err error - it.Rating, err = ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - case "studio_id": - var err error - it.StudioID, err = ec.unmarshalOID2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "gallery_id": - var err error - it.GalleryID, err = ec.unmarshalOID2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "performer_ids": - var err error - it.PerformerIds, err = ec.unmarshalOID2ᚕstring(ctx, v) - if err != nil { - return it, err - } - case "tag_ids": - var err error - it.TagIds, err = ec.unmarshalOID2ᚕstring(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputStudioCreateInput(ctx context.Context, v interface{}) (StudioCreateInput, error) { - var it StudioCreateInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "name": - var err error - it.Name, err = ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - case "url": - var err error - it.URL, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "image": - var err error - it.Image, err = ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputStudioDestroyInput(ctx context.Context, v interface{}) (StudioDestroyInput, error) { - var it StudioDestroyInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "id": - var err error - it.ID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputStudioUpdateInput(ctx context.Context, v interface{}) (StudioUpdateInput, error) { - var it StudioUpdateInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "id": - var err error - it.ID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - case "name": - var err error - it.Name, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "url": - var err error - it.URL, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - case "image": - var err error - it.Image, err = ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputTagCreateInput(ctx context.Context, v interface{}) (TagCreateInput, error) { - var it TagCreateInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "name": - var err error - it.Name, err = ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputTagDestroyInput(ctx context.Context, v interface{}) (TagDestroyInput, error) { - var it TagDestroyInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "id": - var err error - it.ID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputTagUpdateInput(ctx context.Context, v interface{}) (TagUpdateInput, error) { - var it TagUpdateInput - var asMap = v.(map[string]interface{}) - - for k, v := range asMap { - switch k { - case "id": - var err error - it.ID, err = ec.unmarshalNID2string(ctx, v) - if err != nil { - return it, err - } - case "name": - var err error - it.Name, err = ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - } - } - - return it, nil -} - -// endregion **************************** input.gotpl ***************************** - -// region ************************** interface.gotpl *************************** - -// endregion ************************** interface.gotpl *************************** - -// region **************************** object.gotpl **************************** - -var configGeneralResultImplementors = []string{"ConfigGeneralResult"} - -func (ec *executionContext) _ConfigGeneralResult(ctx context.Context, sel ast.SelectionSet, obj *ConfigGeneralResult) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, configGeneralResultImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("ConfigGeneralResult") - case "stashes": - out.Values[i] = ec._ConfigGeneralResult_stashes(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "databasePath": - out.Values[i] = ec._ConfigGeneralResult_databasePath(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "generatedPath": - out.Values[i] = ec._ConfigGeneralResult_generatedPath(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var configInterfaceResultImplementors = []string{"ConfigInterfaceResult"} - -func (ec *executionContext) _ConfigInterfaceResult(ctx context.Context, sel ast.SelectionSet, obj *ConfigInterfaceResult) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, configInterfaceResultImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("ConfigInterfaceResult") - case "css": - out.Values[i] = ec._ConfigInterfaceResult_css(ctx, field, obj) - case "cssEnabled": - out.Values[i] = ec._ConfigInterfaceResult_cssEnabled(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var configResultImplementors = []string{"ConfigResult"} - -func (ec *executionContext) _ConfigResult(ctx context.Context, sel ast.SelectionSet, obj *ConfigResult) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, configResultImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("ConfigResult") - case "general": - out.Values[i] = ec._ConfigResult_general(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "interface": - out.Values[i] = ec._ConfigResult_interface(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var findGalleriesResultTypeImplementors = []string{"FindGalleriesResultType"} - -func (ec *executionContext) _FindGalleriesResultType(ctx context.Context, sel ast.SelectionSet, obj *FindGalleriesResultType) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, findGalleriesResultTypeImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("FindGalleriesResultType") - case "count": - out.Values[i] = ec._FindGalleriesResultType_count(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "galleries": - out.Values[i] = ec._FindGalleriesResultType_galleries(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var findPerformersResultTypeImplementors = []string{"FindPerformersResultType"} - -func (ec *executionContext) _FindPerformersResultType(ctx context.Context, sel ast.SelectionSet, obj *FindPerformersResultType) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, findPerformersResultTypeImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("FindPerformersResultType") - case "count": - out.Values[i] = ec._FindPerformersResultType_count(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "performers": - out.Values[i] = ec._FindPerformersResultType_performers(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var findSceneMarkersResultTypeImplementors = []string{"FindSceneMarkersResultType"} - -func (ec *executionContext) _FindSceneMarkersResultType(ctx context.Context, sel ast.SelectionSet, obj *FindSceneMarkersResultType) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, findSceneMarkersResultTypeImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("FindSceneMarkersResultType") - case "count": - out.Values[i] = ec._FindSceneMarkersResultType_count(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "scene_markers": - out.Values[i] = ec._FindSceneMarkersResultType_scene_markers(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var findScenesResultTypeImplementors = []string{"FindScenesResultType"} - -func (ec *executionContext) _FindScenesResultType(ctx context.Context, sel ast.SelectionSet, obj *FindScenesResultType) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, findScenesResultTypeImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("FindScenesResultType") - case "count": - out.Values[i] = ec._FindScenesResultType_count(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "scenes": - out.Values[i] = ec._FindScenesResultType_scenes(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var findStudiosResultTypeImplementors = []string{"FindStudiosResultType"} - -func (ec *executionContext) _FindStudiosResultType(ctx context.Context, sel ast.SelectionSet, obj *FindStudiosResultType) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, findStudiosResultTypeImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("FindStudiosResultType") - case "count": - out.Values[i] = ec._FindStudiosResultType_count(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "studios": - out.Values[i] = ec._FindStudiosResultType_studios(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var galleryImplementors = []string{"Gallery"} - -func (ec *executionContext) _Gallery(ctx context.Context, sel ast.SelectionSet, obj *Gallery) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, galleryImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Gallery") - case "id": - out.Values[i] = ec._Gallery_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "checksum": - out.Values[i] = ec._Gallery_checksum(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "path": - out.Values[i] = ec._Gallery_path(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "title": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Gallery_title(ctx, field, obj) - return res - }) - case "files": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Gallery_files(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var galleryFilesTypeImplementors = []string{"GalleryFilesType"} - -func (ec *executionContext) _GalleryFilesType(ctx context.Context, sel ast.SelectionSet, obj *GalleryFilesType) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, galleryFilesTypeImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GalleryFilesType") - case "index": - out.Values[i] = ec._GalleryFilesType_index(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "name": - out.Values[i] = ec._GalleryFilesType_name(ctx, field, obj) - case "path": - out.Values[i] = ec._GalleryFilesType_path(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var markerStringsResultTypeImplementors = []string{"MarkerStringsResultType"} - -func (ec *executionContext) _MarkerStringsResultType(ctx context.Context, sel ast.SelectionSet, obj *MarkerStringsResultType) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, markerStringsResultTypeImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("MarkerStringsResultType") - case "count": - out.Values[i] = ec._MarkerStringsResultType_count(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "id": - out.Values[i] = ec._MarkerStringsResultType_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "title": - out.Values[i] = ec._MarkerStringsResultType_title(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var mutationImplementors = []string{"Mutation"} - -func (ec *executionContext) _Mutation(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, mutationImplementors) - - ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{ - Object: "Mutation", - }) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Mutation") - case "sceneUpdate": - out.Values[i] = ec._Mutation_sceneUpdate(ctx, field) - case "sceneMarkerCreate": - out.Values[i] = ec._Mutation_sceneMarkerCreate(ctx, field) - case "sceneMarkerUpdate": - out.Values[i] = ec._Mutation_sceneMarkerUpdate(ctx, field) - case "sceneMarkerDestroy": - out.Values[i] = ec._Mutation_sceneMarkerDestroy(ctx, field) - if out.Values[i] == graphql.Null { - invalids++ - } - case "performerCreate": - out.Values[i] = ec._Mutation_performerCreate(ctx, field) - case "performerUpdate": - out.Values[i] = ec._Mutation_performerUpdate(ctx, field) - case "performerDestroy": - out.Values[i] = ec._Mutation_performerDestroy(ctx, field) - if out.Values[i] == graphql.Null { - invalids++ - } - case "studioCreate": - out.Values[i] = ec._Mutation_studioCreate(ctx, field) - case "studioUpdate": - out.Values[i] = ec._Mutation_studioUpdate(ctx, field) - case "studioDestroy": - out.Values[i] = ec._Mutation_studioDestroy(ctx, field) - if out.Values[i] == graphql.Null { - invalids++ - } - case "tagCreate": - out.Values[i] = ec._Mutation_tagCreate(ctx, field) - case "tagUpdate": - out.Values[i] = ec._Mutation_tagUpdate(ctx, field) - case "tagDestroy": - out.Values[i] = ec._Mutation_tagDestroy(ctx, field) - if out.Values[i] == graphql.Null { - invalids++ - } - case "configureGeneral": - out.Values[i] = ec._Mutation_configureGeneral(ctx, field) - if out.Values[i] == graphql.Null { - invalids++ - } - case "configureInterface": - out.Values[i] = ec._Mutation_configureInterface(ctx, field) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var performerImplementors = []string{"Performer"} - -func (ec *executionContext) _Performer(ctx context.Context, sel ast.SelectionSet, obj *Performer) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, performerImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Performer") - case "id": - out.Values[i] = ec._Performer_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "checksum": - out.Values[i] = ec._Performer_checksum(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "name": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_name(ctx, field, obj) - return res - }) - case "url": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_url(ctx, field, obj) - return res - }) - case "twitter": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_twitter(ctx, field, obj) - return res - }) - case "instagram": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_instagram(ctx, field, obj) - return res - }) - case "birthdate": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_birthdate(ctx, field, obj) - return res - }) - case "ethnicity": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_ethnicity(ctx, field, obj) - return res - }) - case "country": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_country(ctx, field, obj) - return res - }) - case "eye_color": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_eye_color(ctx, field, obj) - return res - }) - case "height": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_height(ctx, field, obj) - return res - }) - case "measurements": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_measurements(ctx, field, obj) - return res - }) - case "fake_tits": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_fake_tits(ctx, field, obj) - return res - }) - case "career_length": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_career_length(ctx, field, obj) - return res - }) - case "tattoos": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_tattoos(ctx, field, obj) - return res - }) - case "piercings": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_piercings(ctx, field, obj) - return res - }) - case "aliases": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_aliases(ctx, field, obj) - return res - }) - case "favorite": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_favorite(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "image_path": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_image_path(ctx, field, obj) - return res - }) - case "scene_count": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_scene_count(ctx, field, obj) - return res - }) - case "scenes": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Performer_scenes(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var queryImplementors = []string{"Query"} - -func (ec *executionContext) _Query(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, queryImplementors) - - ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{ - Object: "Query", - }) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Query") - case "findScene": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_findScene(ctx, field) - return res - }) - case "findScenes": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_findScenes(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "findSceneMarkers": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_findSceneMarkers(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "findPerformer": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_findPerformer(ctx, field) - return res - }) - case "findPerformers": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_findPerformers(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "findStudio": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_findStudio(ctx, field) - return res - }) - case "findStudios": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_findStudios(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "findGallery": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_findGallery(ctx, field) - return res - }) - case "findGalleries": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_findGalleries(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "findTag": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_findTag(ctx, field) - return res - }) - case "markerWall": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_markerWall(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "sceneWall": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_sceneWall(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "markerStrings": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_markerStrings(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "validGalleriesForScene": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_validGalleriesForScene(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "stats": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_stats(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "sceneMarkerTags": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_sceneMarkerTags(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "scrapeFreeones": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_scrapeFreeones(ctx, field) - return res - }) - case "scrapeFreeonesPerformerList": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_scrapeFreeonesPerformerList(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "configuration": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_configuration(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "directories": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_directories(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "metadataImport": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_metadataImport(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "metadataExport": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_metadataExport(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "metadataScan": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_metadataScan(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "metadataGenerate": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_metadataGenerate(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "metadataClean": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_metadataClean(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "allPerformers": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_allPerformers(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "allStudios": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_allStudios(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "allTags": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_allTags(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "__type": - out.Values[i] = ec._Query___type(ctx, field) - case "__schema": - out.Values[i] = ec._Query___schema(ctx, field) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var sceneImplementors = []string{"Scene"} - -func (ec *executionContext) _Scene(ctx context.Context, sel ast.SelectionSet, obj *Scene) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, sceneImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Scene") - case "id": - out.Values[i] = ec._Scene_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "checksum": - out.Values[i] = ec._Scene_checksum(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "title": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_title(ctx, field, obj) - return res - }) - case "details": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_details(ctx, field, obj) - return res - }) - case "url": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_url(ctx, field, obj) - return res - }) - case "date": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_date(ctx, field, obj) - return res - }) - case "rating": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_rating(ctx, field, obj) - return res - }) - case "path": - out.Values[i] = ec._Scene_path(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "file": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_file(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "paths": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_paths(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "is_streamable": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_is_streamable(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "scene_markers": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_scene_markers(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "gallery": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_gallery(ctx, field, obj) - return res - }) - case "studio": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_studio(ctx, field, obj) - return res - }) - case "tags": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_tags(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "performers": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Scene_performers(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var sceneFileTypeImplementors = []string{"SceneFileType"} - -func (ec *executionContext) _SceneFileType(ctx context.Context, sel ast.SelectionSet, obj *SceneFileType) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, sceneFileTypeImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("SceneFileType") - case "size": - out.Values[i] = ec._SceneFileType_size(ctx, field, obj) - case "duration": - out.Values[i] = ec._SceneFileType_duration(ctx, field, obj) - case "video_codec": - out.Values[i] = ec._SceneFileType_video_codec(ctx, field, obj) - case "audio_codec": - out.Values[i] = ec._SceneFileType_audio_codec(ctx, field, obj) - case "width": - out.Values[i] = ec._SceneFileType_width(ctx, field, obj) - case "height": - out.Values[i] = ec._SceneFileType_height(ctx, field, obj) - case "framerate": - out.Values[i] = ec._SceneFileType_framerate(ctx, field, obj) - case "bitrate": - out.Values[i] = ec._SceneFileType_bitrate(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var sceneMarkerImplementors = []string{"SceneMarker"} - -func (ec *executionContext) _SceneMarker(ctx context.Context, sel ast.SelectionSet, obj *SceneMarker) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, sceneMarkerImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("SceneMarker") - case "id": - out.Values[i] = ec._SceneMarker_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "scene": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SceneMarker_scene(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "title": - out.Values[i] = ec._SceneMarker_title(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "seconds": - out.Values[i] = ec._SceneMarker_seconds(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "primary_tag": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SceneMarker_primary_tag(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "tags": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SceneMarker_tags(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "stream": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SceneMarker_stream(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "preview": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SceneMarker_preview(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var sceneMarkerTagImplementors = []string{"SceneMarkerTag"} - -func (ec *executionContext) _SceneMarkerTag(ctx context.Context, sel ast.SelectionSet, obj *SceneMarkerTag) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, sceneMarkerTagImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("SceneMarkerTag") - case "tag": - out.Values[i] = ec._SceneMarkerTag_tag(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "scene_markers": - out.Values[i] = ec._SceneMarkerTag_scene_markers(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var scenePathsTypeImplementors = []string{"ScenePathsType"} - -func (ec *executionContext) _ScenePathsType(ctx context.Context, sel ast.SelectionSet, obj *ScenePathsType) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, scenePathsTypeImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("ScenePathsType") - case "screenshot": - out.Values[i] = ec._ScenePathsType_screenshot(ctx, field, obj) - case "preview": - out.Values[i] = ec._ScenePathsType_preview(ctx, field, obj) - case "stream": - out.Values[i] = ec._ScenePathsType_stream(ctx, field, obj) - case "webp": - out.Values[i] = ec._ScenePathsType_webp(ctx, field, obj) - case "vtt": - out.Values[i] = ec._ScenePathsType_vtt(ctx, field, obj) - case "chapters_vtt": - out.Values[i] = ec._ScenePathsType_chapters_vtt(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var scrapedPerformerImplementors = []string{"ScrapedPerformer"} - -func (ec *executionContext) _ScrapedPerformer(ctx context.Context, sel ast.SelectionSet, obj *ScrapedPerformer) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, scrapedPerformerImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("ScrapedPerformer") - case "name": - out.Values[i] = ec._ScrapedPerformer_name(ctx, field, obj) - case "url": - out.Values[i] = ec._ScrapedPerformer_url(ctx, field, obj) - case "twitter": - out.Values[i] = ec._ScrapedPerformer_twitter(ctx, field, obj) - case "instagram": - out.Values[i] = ec._ScrapedPerformer_instagram(ctx, field, obj) - case "birthdate": - out.Values[i] = ec._ScrapedPerformer_birthdate(ctx, field, obj) - case "ethnicity": - out.Values[i] = ec._ScrapedPerformer_ethnicity(ctx, field, obj) - case "country": - out.Values[i] = ec._ScrapedPerformer_country(ctx, field, obj) - case "eye_color": - out.Values[i] = ec._ScrapedPerformer_eye_color(ctx, field, obj) - case "height": - out.Values[i] = ec._ScrapedPerformer_height(ctx, field, obj) - case "measurements": - out.Values[i] = ec._ScrapedPerformer_measurements(ctx, field, obj) - case "fake_tits": - out.Values[i] = ec._ScrapedPerformer_fake_tits(ctx, field, obj) - case "career_length": - out.Values[i] = ec._ScrapedPerformer_career_length(ctx, field, obj) - case "tattoos": - out.Values[i] = ec._ScrapedPerformer_tattoos(ctx, field, obj) - case "piercings": - out.Values[i] = ec._ScrapedPerformer_piercings(ctx, field, obj) - case "aliases": - out.Values[i] = ec._ScrapedPerformer_aliases(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var statsResultTypeImplementors = []string{"StatsResultType"} - -func (ec *executionContext) _StatsResultType(ctx context.Context, sel ast.SelectionSet, obj *StatsResultType) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, statsResultTypeImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("StatsResultType") - case "scene_count": - out.Values[i] = ec._StatsResultType_scene_count(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "gallery_count": - out.Values[i] = ec._StatsResultType_gallery_count(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "performer_count": - out.Values[i] = ec._StatsResultType_performer_count(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "studio_count": - out.Values[i] = ec._StatsResultType_studio_count(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "tag_count": - out.Values[i] = ec._StatsResultType_tag_count(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var studioImplementors = []string{"Studio"} - -func (ec *executionContext) _Studio(ctx context.Context, sel ast.SelectionSet, obj *Studio) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, studioImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Studio") - case "id": - out.Values[i] = ec._Studio_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "checksum": - out.Values[i] = ec._Studio_checksum(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "name": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Studio_name(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - return res - }) - case "url": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Studio_url(ctx, field, obj) - return res - }) - case "image_path": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Studio_image_path(ctx, field, obj) - return res - }) - case "scene_count": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Studio_scene_count(ctx, field, obj) - return res - }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var subscriptionImplementors = []string{"Subscription"} - -func (ec *executionContext) _Subscription(ctx context.Context, sel ast.SelectionSet) func() graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, subscriptionImplementors) - ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{ - Object: "Subscription", - }) - if len(fields) != 1 { - ec.Errorf(ctx, "must subscribe to exactly one stream") - return nil - } - - switch fields[0].Name { - case "metadataUpdate": - return ec._Subscription_metadataUpdate(ctx, fields[0]) - default: - panic("unknown field " + strconv.Quote(fields[0].Name)) - } -} - -var tagImplementors = []string{"Tag"} - -func (ec *executionContext) _Tag(ctx context.Context, sel ast.SelectionSet, obj *Tag) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, tagImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Tag") - case "id": - out.Values[i] = ec._Tag_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "name": - out.Values[i] = ec._Tag_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&invalids, 1) - } - case "scene_count": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Tag_scene_count(ctx, field, obj) - return res - }) - case "scene_marker_count": - field := field - out.Concurrently(i, func() (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Tag_scene_marker_count(ctx, field, obj) - return res - }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var __DirectiveImplementors = []string{"__Directive"} - -func (ec *executionContext) ___Directive(ctx context.Context, sel ast.SelectionSet, obj *introspection.Directive) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, __DirectiveImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Directive") - case "name": - out.Values[i] = ec.___Directive_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "description": - out.Values[i] = ec.___Directive_description(ctx, field, obj) - case "locations": - out.Values[i] = ec.___Directive_locations(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "args": - out.Values[i] = ec.___Directive_args(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var __EnumValueImplementors = []string{"__EnumValue"} - -func (ec *executionContext) ___EnumValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.EnumValue) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, __EnumValueImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__EnumValue") - case "name": - out.Values[i] = ec.___EnumValue_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "description": - out.Values[i] = ec.___EnumValue_description(ctx, field, obj) - case "isDeprecated": - out.Values[i] = ec.___EnumValue_isDeprecated(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "deprecationReason": - out.Values[i] = ec.___EnumValue_deprecationReason(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var __FieldImplementors = []string{"__Field"} - -func (ec *executionContext) ___Field(ctx context.Context, sel ast.SelectionSet, obj *introspection.Field) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, __FieldImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Field") - case "name": - out.Values[i] = ec.___Field_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "description": - out.Values[i] = ec.___Field_description(ctx, field, obj) - case "args": - out.Values[i] = ec.___Field_args(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "type": - out.Values[i] = ec.___Field_type(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "isDeprecated": - out.Values[i] = ec.___Field_isDeprecated(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "deprecationReason": - out.Values[i] = ec.___Field_deprecationReason(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var __InputValueImplementors = []string{"__InputValue"} - -func (ec *executionContext) ___InputValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.InputValue) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, __InputValueImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__InputValue") - case "name": - out.Values[i] = ec.___InputValue_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "description": - out.Values[i] = ec.___InputValue_description(ctx, field, obj) - case "type": - out.Values[i] = ec.___InputValue_type(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "defaultValue": - out.Values[i] = ec.___InputValue_defaultValue(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var __SchemaImplementors = []string{"__Schema"} - -func (ec *executionContext) ___Schema(ctx context.Context, sel ast.SelectionSet, obj *introspection.Schema) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, __SchemaImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Schema") - case "types": - out.Values[i] = ec.___Schema_types(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "queryType": - out.Values[i] = ec.___Schema_queryType(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "mutationType": - out.Values[i] = ec.___Schema_mutationType(ctx, field, obj) - case "subscriptionType": - out.Values[i] = ec.___Schema_subscriptionType(ctx, field, obj) - case "directives": - out.Values[i] = ec.___Schema_directives(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -var __TypeImplementors = []string{"__Type"} - -func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, obj *introspection.Type) graphql.Marshaler { - fields := graphql.CollectFields(ec.RequestContext, sel, __TypeImplementors) - - out := graphql.NewFieldSet(fields) - var invalids uint32 - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Type") - case "kind": - out.Values[i] = ec.___Type_kind(ctx, field, obj) - if out.Values[i] == graphql.Null { - invalids++ - } - case "name": - out.Values[i] = ec.___Type_name(ctx, field, obj) - case "description": - out.Values[i] = ec.___Type_description(ctx, field, obj) - case "fields": - out.Values[i] = ec.___Type_fields(ctx, field, obj) - case "interfaces": - out.Values[i] = ec.___Type_interfaces(ctx, field, obj) - case "possibleTypes": - out.Values[i] = ec.___Type_possibleTypes(ctx, field, obj) - case "enumValues": - out.Values[i] = ec.___Type_enumValues(ctx, field, obj) - case "inputFields": - out.Values[i] = ec.___Type_inputFields(ctx, field, obj) - case "ofType": - out.Values[i] = ec.___Type_ofType(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch() - if invalids > 0 { - return graphql.Null - } - return out -} - -// endregion **************************** object.gotpl **************************** - -// region ***************************** type.gotpl ***************************** - -func (ec *executionContext) unmarshalNBoolean2bool(ctx context.Context, v interface{}) (bool, error) { - return graphql.UnmarshalBoolean(v) -} - -func (ec *executionContext) marshalNBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { - res := graphql.MarshalBoolean(v) - if res == graphql.Null { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - } - return res -} - -func (ec *executionContext) unmarshalNConfigGeneralInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigGeneralInput(ctx context.Context, v interface{}) (ConfigGeneralInput, error) { - return ec.unmarshalInputConfigGeneralInput(ctx, v) -} - -func (ec *executionContext) marshalNConfigGeneralResult2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigGeneralResult(ctx context.Context, sel ast.SelectionSet, v ConfigGeneralResult) graphql.Marshaler { - return ec._ConfigGeneralResult(ctx, sel, &v) -} - -func (ec *executionContext) marshalNConfigGeneralResult2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigGeneralResult(ctx context.Context, sel ast.SelectionSet, v *ConfigGeneralResult) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._ConfigGeneralResult(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNConfigInterfaceInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigInterfaceInput(ctx context.Context, v interface{}) (ConfigInterfaceInput, error) { - return ec.unmarshalInputConfigInterfaceInput(ctx, v) -} - -func (ec *executionContext) marshalNConfigInterfaceResult2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigInterfaceResult(ctx context.Context, sel ast.SelectionSet, v ConfigInterfaceResult) graphql.Marshaler { - return ec._ConfigInterfaceResult(ctx, sel, &v) -} - -func (ec *executionContext) marshalNConfigInterfaceResult2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigInterfaceResult(ctx context.Context, sel ast.SelectionSet, v *ConfigInterfaceResult) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._ConfigInterfaceResult(ctx, sel, v) -} - -func (ec *executionContext) marshalNConfigResult2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigResult(ctx context.Context, sel ast.SelectionSet, v ConfigResult) graphql.Marshaler { - return ec._ConfigResult(ctx, sel, &v) -} - -func (ec *executionContext) marshalNConfigResult2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐConfigResult(ctx context.Context, sel ast.SelectionSet, v *ConfigResult) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._ConfigResult(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNCriterionModifier2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐCriterionModifier(ctx context.Context, v interface{}) (CriterionModifier, error) { - var res CriterionModifier - return res, res.UnmarshalGQL(v) -} - -func (ec *executionContext) marshalNCriterionModifier2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐCriterionModifier(ctx context.Context, sel ast.SelectionSet, v CriterionModifier) graphql.Marshaler { - return v -} - -func (ec *executionContext) marshalNFindGalleriesResultType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindGalleriesResultType(ctx context.Context, sel ast.SelectionSet, v FindGalleriesResultType) graphql.Marshaler { - return ec._FindGalleriesResultType(ctx, sel, &v) -} - -func (ec *executionContext) marshalNFindGalleriesResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindGalleriesResultType(ctx context.Context, sel ast.SelectionSet, v *FindGalleriesResultType) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._FindGalleriesResultType(ctx, sel, v) -} - -func (ec *executionContext) marshalNFindPerformersResultType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindPerformersResultType(ctx context.Context, sel ast.SelectionSet, v FindPerformersResultType) graphql.Marshaler { - return ec._FindPerformersResultType(ctx, sel, &v) -} - -func (ec *executionContext) marshalNFindPerformersResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindPerformersResultType(ctx context.Context, sel ast.SelectionSet, v *FindPerformersResultType) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._FindPerformersResultType(ctx, sel, v) -} - -func (ec *executionContext) marshalNFindSceneMarkersResultType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindSceneMarkersResultType(ctx context.Context, sel ast.SelectionSet, v FindSceneMarkersResultType) graphql.Marshaler { - return ec._FindSceneMarkersResultType(ctx, sel, &v) -} - -func (ec *executionContext) marshalNFindSceneMarkersResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindSceneMarkersResultType(ctx context.Context, sel ast.SelectionSet, v *FindSceneMarkersResultType) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._FindSceneMarkersResultType(ctx, sel, v) -} - -func (ec *executionContext) marshalNFindScenesResultType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindScenesResultType(ctx context.Context, sel ast.SelectionSet, v FindScenesResultType) graphql.Marshaler { - return ec._FindScenesResultType(ctx, sel, &v) -} - -func (ec *executionContext) marshalNFindScenesResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindScenesResultType(ctx context.Context, sel ast.SelectionSet, v *FindScenesResultType) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._FindScenesResultType(ctx, sel, v) -} - -func (ec *executionContext) marshalNFindStudiosResultType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindStudiosResultType(ctx context.Context, sel ast.SelectionSet, v FindStudiosResultType) graphql.Marshaler { - return ec._FindStudiosResultType(ctx, sel, &v) -} - -func (ec *executionContext) marshalNFindStudiosResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindStudiosResultType(ctx context.Context, sel ast.SelectionSet, v *FindStudiosResultType) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._FindStudiosResultType(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNFloat2float64(ctx context.Context, v interface{}) (float64, error) { - return graphql.UnmarshalFloat(v) -} - -func (ec *executionContext) marshalNFloat2float64(ctx context.Context, sel ast.SelectionSet, v float64) graphql.Marshaler { - res := graphql.MarshalFloat(v) - if res == graphql.Null { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - } - return res -} - -func (ec *executionContext) marshalNGallery2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGallery(ctx context.Context, sel ast.SelectionSet, v Gallery) graphql.Marshaler { - return ec._Gallery(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGallery2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGallery(ctx context.Context, sel ast.SelectionSet, v []*Gallery) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNGallery2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGallery(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalNGallery2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGallery(ctx context.Context, sel ast.SelectionSet, v *Gallery) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._Gallery(ctx, sel, v) -} - -func (ec *executionContext) marshalNGalleryFilesType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGalleryFilesType(ctx context.Context, sel ast.SelectionSet, v GalleryFilesType) graphql.Marshaler { - return ec._GalleryFilesType(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGalleryFilesType2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGalleryFilesType(ctx context.Context, sel ast.SelectionSet, v []*GalleryFilesType) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNGalleryFilesType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGalleryFilesType(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalNGalleryFilesType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGalleryFilesType(ctx context.Context, sel ast.SelectionSet, v *GalleryFilesType) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._GalleryFilesType(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNGenerateMetadataInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGenerateMetadataInput(ctx context.Context, v interface{}) (GenerateMetadataInput, error) { - return ec.unmarshalInputGenerateMetadataInput(ctx, v) -} - -func (ec *executionContext) unmarshalNID2int(ctx context.Context, v interface{}) (int, error) { - return graphql.UnmarshalIntID(v) -} - -func (ec *executionContext) marshalNID2int(ctx context.Context, sel ast.SelectionSet, v int) graphql.Marshaler { - res := graphql.MarshalIntID(v) - if res == graphql.Null { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - } - return res -} - -func (ec *executionContext) unmarshalNID2string(ctx context.Context, v interface{}) (string, error) { - return graphql.UnmarshalID(v) -} - -func (ec *executionContext) marshalNID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - res := graphql.MarshalID(v) - if res == graphql.Null { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - } - return res -} - -func (ec *executionContext) unmarshalNInt2int(ctx context.Context, v interface{}) (int, error) { - return graphql.UnmarshalInt(v) -} - -func (ec *executionContext) marshalNInt2int(ctx context.Context, sel ast.SelectionSet, v int) graphql.Marshaler { - res := graphql.MarshalInt(v) - if res == graphql.Null { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - } - return res -} - -func (ec *executionContext) marshalNMarkerStringsResultType2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐMarkerStringsResultType(ctx context.Context, sel ast.SelectionSet, v []*MarkerStringsResultType) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalOMarkerStringsResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐMarkerStringsResultType(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalNPerformer2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx context.Context, sel ast.SelectionSet, v Performer) graphql.Marshaler { - return ec._Performer(ctx, sel, &v) -} - -func (ec *executionContext) marshalNPerformer2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx context.Context, sel ast.SelectionSet, v []*Performer) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNPerformer2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalNPerformer2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx context.Context, sel ast.SelectionSet, v *Performer) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._Performer(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNPerformerCreateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformerCreateInput(ctx context.Context, v interface{}) (PerformerCreateInput, error) { - return ec.unmarshalInputPerformerCreateInput(ctx, v) -} - -func (ec *executionContext) unmarshalNPerformerDestroyInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformerDestroyInput(ctx context.Context, v interface{}) (PerformerDestroyInput, error) { - return ec.unmarshalInputPerformerDestroyInput(ctx, v) -} - -func (ec *executionContext) unmarshalNPerformerUpdateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformerUpdateInput(ctx context.Context, v interface{}) (PerformerUpdateInput, error) { - return ec.unmarshalInputPerformerUpdateInput(ctx, v) -} - -func (ec *executionContext) unmarshalNScanMetadataInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScanMetadataInput(ctx context.Context, v interface{}) (ScanMetadataInput, error) { - return ec.unmarshalInputScanMetadataInput(ctx, v) -} - -func (ec *executionContext) marshalNScene2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx context.Context, sel ast.SelectionSet, v Scene) graphql.Marshaler { - return ec._Scene(ctx, sel, &v) -} - -func (ec *executionContext) marshalNScene2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx context.Context, sel ast.SelectionSet, v []*Scene) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNScene2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalNScene2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx context.Context, sel ast.SelectionSet, v *Scene) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._Scene(ctx, sel, v) -} - -func (ec *executionContext) marshalNSceneFileType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneFileType(ctx context.Context, sel ast.SelectionSet, v SceneFileType) graphql.Marshaler { - return ec._SceneFileType(ctx, sel, &v) -} - -func (ec *executionContext) marshalNSceneFileType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneFileType(ctx context.Context, sel ast.SelectionSet, v *SceneFileType) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._SceneFileType(ctx, sel, v) -} - -func (ec *executionContext) marshalNSceneMarker2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx context.Context, sel ast.SelectionSet, v SceneMarker) graphql.Marshaler { - return ec._SceneMarker(ctx, sel, &v) -} - -func (ec *executionContext) marshalNSceneMarker2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx context.Context, sel ast.SelectionSet, v []*SceneMarker) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNSceneMarker2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalNSceneMarker2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx context.Context, sel ast.SelectionSet, v *SceneMarker) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._SceneMarker(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNSceneMarkerCreateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerCreateInput(ctx context.Context, v interface{}) (SceneMarkerCreateInput, error) { - return ec.unmarshalInputSceneMarkerCreateInput(ctx, v) -} - -func (ec *executionContext) marshalNSceneMarkerTag2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerTag(ctx context.Context, sel ast.SelectionSet, v SceneMarkerTag) graphql.Marshaler { - return ec._SceneMarkerTag(ctx, sel, &v) -} - -func (ec *executionContext) marshalNSceneMarkerTag2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerTag(ctx context.Context, sel ast.SelectionSet, v []*SceneMarkerTag) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNSceneMarkerTag2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerTag(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalNSceneMarkerTag2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerTag(ctx context.Context, sel ast.SelectionSet, v *SceneMarkerTag) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._SceneMarkerTag(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNSceneMarkerUpdateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerUpdateInput(ctx context.Context, v interface{}) (SceneMarkerUpdateInput, error) { - return ec.unmarshalInputSceneMarkerUpdateInput(ctx, v) -} - -func (ec *executionContext) marshalNScenePathsType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScenePathsType(ctx context.Context, sel ast.SelectionSet, v ScenePathsType) graphql.Marshaler { - return ec._ScenePathsType(ctx, sel, &v) -} - -func (ec *executionContext) marshalNScenePathsType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScenePathsType(ctx context.Context, sel ast.SelectionSet, v *ScenePathsType) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._ScenePathsType(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNSceneUpdateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneUpdateInput(ctx context.Context, v interface{}) (SceneUpdateInput, error) { - return ec.unmarshalInputSceneUpdateInput(ctx, v) -} - -func (ec *executionContext) marshalNStatsResultType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStatsResultType(ctx context.Context, sel ast.SelectionSet, v StatsResultType) graphql.Marshaler { - return ec._StatsResultType(ctx, sel, &v) -} - -func (ec *executionContext) marshalNStatsResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStatsResultType(ctx context.Context, sel ast.SelectionSet, v *StatsResultType) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._StatsResultType(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNString2string(ctx context.Context, v interface{}) (string, error) { - return graphql.UnmarshalString(v) -} - -func (ec *executionContext) marshalNString2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - res := graphql.MarshalString(v) - if res == graphql.Null { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - } - return res -} - -func (ec *executionContext) unmarshalNString2ᚕstring(ctx context.Context, v interface{}) ([]string, error) { - var vSlice []interface{} - if v != nil { - if tmp1, ok := v.([]interface{}); ok { - vSlice = tmp1 - } else { - vSlice = []interface{}{v} - } - } - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - res[i], err = ec.unmarshalNString2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalNString2ᚕstring(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNString2string(ctx, sel, v[i]) - } - - return ret -} - -func (ec *executionContext) marshalNStudio2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx context.Context, sel ast.SelectionSet, v Studio) graphql.Marshaler { - return ec._Studio(ctx, sel, &v) -} - -func (ec *executionContext) marshalNStudio2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx context.Context, sel ast.SelectionSet, v []*Studio) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNStudio2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalNStudio2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx context.Context, sel ast.SelectionSet, v *Studio) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._Studio(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNStudioCreateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudioCreateInput(ctx context.Context, v interface{}) (StudioCreateInput, error) { - return ec.unmarshalInputStudioCreateInput(ctx, v) -} - -func (ec *executionContext) unmarshalNStudioDestroyInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudioDestroyInput(ctx context.Context, v interface{}) (StudioDestroyInput, error) { - return ec.unmarshalInputStudioDestroyInput(ctx, v) -} - -func (ec *executionContext) unmarshalNStudioUpdateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudioUpdateInput(ctx context.Context, v interface{}) (StudioUpdateInput, error) { - return ec.unmarshalInputStudioUpdateInput(ctx, v) -} - -func (ec *executionContext) marshalNTag2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx context.Context, sel ast.SelectionSet, v Tag) graphql.Marshaler { - return ec._Tag(ctx, sel, &v) -} - -func (ec *executionContext) marshalNTag2ᚕᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx context.Context, sel ast.SelectionSet, v []*Tag) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNTag2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalNTag2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx context.Context, sel ast.SelectionSet, v *Tag) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec._Tag(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNTagCreateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTagCreateInput(ctx context.Context, v interface{}) (TagCreateInput, error) { - return ec.unmarshalInputTagCreateInput(ctx, v) -} - -func (ec *executionContext) unmarshalNTagDestroyInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTagDestroyInput(ctx context.Context, v interface{}) (TagDestroyInput, error) { - return ec.unmarshalInputTagDestroyInput(ctx, v) -} - -func (ec *executionContext) unmarshalNTagUpdateInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTagUpdateInput(ctx context.Context, v interface{}) (TagUpdateInput, error) { - return ec.unmarshalInputTagUpdateInput(ctx, v) -} - -func (ec *executionContext) marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx context.Context, sel ast.SelectionSet, v introspection.Directive) graphql.Marshaler { - return ec.___Directive(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx context.Context, sel ast.SelectionSet, v []introspection.Directive) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) unmarshalN__DirectiveLocation2string(ctx context.Context, v interface{}) (string, error) { - return graphql.UnmarshalString(v) -} - -func (ec *executionContext) marshalN__DirectiveLocation2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - res := graphql.MarshalString(v) - if res == graphql.Null { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - } - return res -} - -func (ec *executionContext) unmarshalN__DirectiveLocation2ᚕstring(ctx context.Context, v interface{}) ([]string, error) { - var vSlice []interface{} - if v != nil { - if tmp1, ok := v.([]interface{}); ok { - vSlice = tmp1 - } else { - vSlice = []interface{}{v} - } - } - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - res[i], err = ec.unmarshalN__DirectiveLocation2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalN__DirectiveLocation2ᚕstring(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__DirectiveLocation2string(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx context.Context, sel ast.SelectionSet, v introspection.EnumValue) graphql.Marshaler { - return ec.___EnumValue(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx context.Context, sel ast.SelectionSet, v introspection.Field) graphql.Marshaler { - return ec.___Field(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx context.Context, sel ast.SelectionSet, v introspection.InputValue) graphql.Marshaler { - return ec.___InputValue(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v introspection.Type) graphql.Marshaler { - return ec.___Type(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler { - if v == nil { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - return ec.___Type(ctx, sel, v) -} - -func (ec *executionContext) unmarshalN__TypeKind2string(ctx context.Context, v interface{}) (string, error) { - return graphql.UnmarshalString(v) -} - -func (ec *executionContext) marshalN__TypeKind2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - res := graphql.MarshalString(v) - if res == graphql.Null { - if !ec.HasError(graphql.GetResolverContext(ctx)) { - ec.Errorf(ctx, "must not be null") - } - } - return res -} - -func (ec *executionContext) unmarshalOBoolean2bool(ctx context.Context, v interface{}) (bool, error) { - return graphql.UnmarshalBoolean(v) -} - -func (ec *executionContext) marshalOBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { - return graphql.MarshalBoolean(v) -} - -func (ec *executionContext) unmarshalOBoolean2ᚖbool(ctx context.Context, v interface{}) (*bool, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOBoolean2bool(ctx, v) - return &res, err -} - -func (ec *executionContext) marshalOBoolean2ᚖbool(ctx context.Context, sel ast.SelectionSet, v *bool) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec.marshalOBoolean2bool(ctx, sel, *v) -} - -func (ec *executionContext) unmarshalOFindFilterType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindFilterType(ctx context.Context, v interface{}) (FindFilterType, error) { - return ec.unmarshalInputFindFilterType(ctx, v) -} - -func (ec *executionContext) unmarshalOFindFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindFilterType(ctx context.Context, v interface{}) (*FindFilterType, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOFindFilterType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐFindFilterType(ctx, v) - return &res, err -} - -func (ec *executionContext) unmarshalOFloat2float64(ctx context.Context, v interface{}) (float64, error) { - return graphql.UnmarshalFloat(v) -} - -func (ec *executionContext) marshalOFloat2float64(ctx context.Context, sel ast.SelectionSet, v float64) graphql.Marshaler { - return graphql.MarshalFloat(v) -} - -func (ec *executionContext) unmarshalOFloat2ᚖfloat64(ctx context.Context, v interface{}) (*float64, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOFloat2float64(ctx, v) - return &res, err -} - -func (ec *executionContext) marshalOFloat2ᚖfloat64(ctx context.Context, sel ast.SelectionSet, v *float64) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec.marshalOFloat2float64(ctx, sel, *v) -} - -func (ec *executionContext) marshalOGallery2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGallery(ctx context.Context, sel ast.SelectionSet, v Gallery) graphql.Marshaler { - return ec._Gallery(ctx, sel, &v) -} - -func (ec *executionContext) marshalOGallery2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐGallery(ctx context.Context, sel ast.SelectionSet, v *Gallery) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Gallery(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOID2string(ctx context.Context, v interface{}) (string, error) { - return graphql.UnmarshalID(v) -} - -func (ec *executionContext) marshalOID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - return graphql.MarshalID(v) -} - -func (ec *executionContext) unmarshalOID2ᚕstring(ctx context.Context, v interface{}) ([]string, error) { - var vSlice []interface{} - if v != nil { - if tmp1, ok := v.([]interface{}); ok { - vSlice = tmp1 - } else { - vSlice = []interface{}{v} - } - } - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - res[i], err = ec.unmarshalNID2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalOID2ᚕstring(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNID2string(ctx, sel, v[i]) - } - - return ret -} - -func (ec *executionContext) unmarshalOID2ᚖstring(ctx context.Context, v interface{}) (*string, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOID2string(ctx, v) - return &res, err -} - -func (ec *executionContext) marshalOID2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec.marshalOID2string(ctx, sel, *v) -} - -func (ec *executionContext) unmarshalOInt2int(ctx context.Context, v interface{}) (int, error) { - return graphql.UnmarshalInt(v) -} - -func (ec *executionContext) marshalOInt2int(ctx context.Context, sel ast.SelectionSet, v int) graphql.Marshaler { - return graphql.MarshalInt(v) -} - -func (ec *executionContext) unmarshalOInt2ᚕint(ctx context.Context, v interface{}) ([]int, error) { - var vSlice []interface{} - if v != nil { - if tmp1, ok := v.([]interface{}); ok { - vSlice = tmp1 - } else { - vSlice = []interface{}{v} - } - } - var err error - res := make([]int, len(vSlice)) - for i := range vSlice { - res[i], err = ec.unmarshalNInt2int(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalOInt2ᚕint(ctx context.Context, sel ast.SelectionSet, v []int) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNInt2int(ctx, sel, v[i]) - } - - return ret -} - -func (ec *executionContext) unmarshalOInt2ᚖint(ctx context.Context, v interface{}) (*int, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOInt2int(ctx, v) - return &res, err -} - -func (ec *executionContext) marshalOInt2ᚖint(ctx context.Context, sel ast.SelectionSet, v *int) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec.marshalOInt2int(ctx, sel, *v) -} - -func (ec *executionContext) unmarshalOIntCriterionInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐIntCriterionInput(ctx context.Context, v interface{}) (IntCriterionInput, error) { - return ec.unmarshalInputIntCriterionInput(ctx, v) -} - -func (ec *executionContext) unmarshalOIntCriterionInput2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐIntCriterionInput(ctx context.Context, v interface{}) (*IntCriterionInput, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOIntCriterionInput2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐIntCriterionInput(ctx, v) - return &res, err -} - -func (ec *executionContext) marshalOMarkerStringsResultType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐMarkerStringsResultType(ctx context.Context, sel ast.SelectionSet, v MarkerStringsResultType) graphql.Marshaler { - return ec._MarkerStringsResultType(ctx, sel, &v) -} - -func (ec *executionContext) marshalOMarkerStringsResultType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐMarkerStringsResultType(ctx context.Context, sel ast.SelectionSet, v *MarkerStringsResultType) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._MarkerStringsResultType(ctx, sel, v) -} - -func (ec *executionContext) marshalOPerformer2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx context.Context, sel ast.SelectionSet, v Performer) graphql.Marshaler { - return ec._Performer(ctx, sel, &v) -} - -func (ec *executionContext) marshalOPerformer2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformer(ctx context.Context, sel ast.SelectionSet, v *Performer) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Performer(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOPerformerFilterType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformerFilterType(ctx context.Context, v interface{}) (PerformerFilterType, error) { - return ec.unmarshalInputPerformerFilterType(ctx, v) -} - -func (ec *executionContext) unmarshalOPerformerFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformerFilterType(ctx context.Context, v interface{}) (*PerformerFilterType, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOPerformerFilterType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐPerformerFilterType(ctx, v) - return &res, err -} - -func (ec *executionContext) unmarshalOResolutionEnum2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐResolutionEnum(ctx context.Context, v interface{}) (ResolutionEnum, error) { - var res ResolutionEnum - return res, res.UnmarshalGQL(v) -} - -func (ec *executionContext) marshalOResolutionEnum2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐResolutionEnum(ctx context.Context, sel ast.SelectionSet, v ResolutionEnum) graphql.Marshaler { - return v -} - -func (ec *executionContext) unmarshalOResolutionEnum2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐResolutionEnum(ctx context.Context, v interface{}) (*ResolutionEnum, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOResolutionEnum2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐResolutionEnum(ctx, v) - return &res, err -} - -func (ec *executionContext) marshalOResolutionEnum2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐResolutionEnum(ctx context.Context, sel ast.SelectionSet, v *ResolutionEnum) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) marshalOScene2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx context.Context, sel ast.SelectionSet, v Scene) graphql.Marshaler { - return ec._Scene(ctx, sel, &v) -} - -func (ec *executionContext) marshalOScene2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScene(ctx context.Context, sel ast.SelectionSet, v *Scene) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Scene(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOSceneFilterType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneFilterType(ctx context.Context, v interface{}) (SceneFilterType, error) { - return ec.unmarshalInputSceneFilterType(ctx, v) -} - -func (ec *executionContext) unmarshalOSceneFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneFilterType(ctx context.Context, v interface{}) (*SceneFilterType, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOSceneFilterType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneFilterType(ctx, v) - return &res, err -} - -func (ec *executionContext) marshalOSceneMarker2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx context.Context, sel ast.SelectionSet, v SceneMarker) graphql.Marshaler { - return ec._SceneMarker(ctx, sel, &v) -} - -func (ec *executionContext) marshalOSceneMarker2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarker(ctx context.Context, sel ast.SelectionSet, v *SceneMarker) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._SceneMarker(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOSceneMarkerFilterType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerFilterType(ctx context.Context, v interface{}) (SceneMarkerFilterType, error) { - return ec.unmarshalInputSceneMarkerFilterType(ctx, v) -} - -func (ec *executionContext) unmarshalOSceneMarkerFilterType2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerFilterType(ctx context.Context, v interface{}) (*SceneMarkerFilterType, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOSceneMarkerFilterType2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSceneMarkerFilterType(ctx, v) - return &res, err -} - -func (ec *executionContext) marshalOScrapedPerformer2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScrapedPerformer(ctx context.Context, sel ast.SelectionSet, v ScrapedPerformer) graphql.Marshaler { - return ec._ScrapedPerformer(ctx, sel, &v) -} - -func (ec *executionContext) marshalOScrapedPerformer2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐScrapedPerformer(ctx context.Context, sel ast.SelectionSet, v *ScrapedPerformer) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._ScrapedPerformer(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOSortDirectionEnum2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSortDirectionEnum(ctx context.Context, v interface{}) (SortDirectionEnum, error) { - var res SortDirectionEnum - return res, res.UnmarshalGQL(v) -} - -func (ec *executionContext) marshalOSortDirectionEnum2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSortDirectionEnum(ctx context.Context, sel ast.SelectionSet, v SortDirectionEnum) graphql.Marshaler { - return v -} - -func (ec *executionContext) unmarshalOSortDirectionEnum2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSortDirectionEnum(ctx context.Context, v interface{}) (*SortDirectionEnum, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOSortDirectionEnum2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSortDirectionEnum(ctx, v) - return &res, err -} - -func (ec *executionContext) marshalOSortDirectionEnum2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐSortDirectionEnum(ctx context.Context, sel ast.SelectionSet, v *SortDirectionEnum) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOString2string(ctx context.Context, v interface{}) (string, error) { - return graphql.UnmarshalString(v) -} - -func (ec *executionContext) marshalOString2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - return graphql.MarshalString(v) -} - -func (ec *executionContext) unmarshalOString2ᚕstring(ctx context.Context, v interface{}) ([]string, error) { - var vSlice []interface{} - if v != nil { - if tmp1, ok := v.([]interface{}); ok { - vSlice = tmp1 - } else { - vSlice = []interface{}{v} - } - } - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - res[i], err = ec.unmarshalNString2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalOString2ᚕstring(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNString2string(ctx, sel, v[i]) - } - - return ret -} - -func (ec *executionContext) unmarshalOString2ᚖstring(ctx context.Context, v interface{}) (*string, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalOString2string(ctx, v) - return &res, err -} - -func (ec *executionContext) marshalOString2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec.marshalOString2string(ctx, sel, *v) -} - -func (ec *executionContext) marshalOStudio2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx context.Context, sel ast.SelectionSet, v Studio) graphql.Marshaler { - return ec._Studio(ctx, sel, &v) -} - -func (ec *executionContext) marshalOStudio2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐStudio(ctx context.Context, sel ast.SelectionSet, v *Studio) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Studio(ctx, sel, v) -} - -func (ec *executionContext) marshalOTag2githubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx context.Context, sel ast.SelectionSet, v Tag) graphql.Marshaler { - return ec._Tag(ctx, sel, &v) -} - -func (ec *executionContext) marshalOTag2ᚖgithubᚗcomᚋstashappᚋstashᚋpkgᚋmodelsᚐTag(ctx context.Context, sel ast.SelectionSet, v *Tag) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Tag(ctx, sel, v) -} - -func (ec *executionContext) marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx context.Context, sel ast.SelectionSet, v []introspection.EnumValue) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx context.Context, sel ast.SelectionSet, v []introspection.Field) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalO__Schema2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx context.Context, sel ast.SelectionSet, v introspection.Schema) graphql.Marshaler { - return ec.___Schema(ctx, sel, &v) -} - -func (ec *executionContext) marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx context.Context, sel ast.SelectionSet, v *introspection.Schema) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec.___Schema(ctx, sel, v) -} - -func (ec *executionContext) marshalO__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v introspection.Type) graphql.Marshaler { - return ec.___Type(ctx, sel, &v) -} - -func (ec *executionContext) marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - rctx := &graphql.ResolverContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithResolverContext(ctx, rctx) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - return ret -} - -func (ec *executionContext) marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec.___Type(ctx, sel, v) -} - -// endregion ***************************** type.gotpl ***************************** diff --git a/pkg/models/generated_models.go b/pkg/models/generated_models.go deleted file mode 100644 index 129b1cd5a..000000000 --- a/pkg/models/generated_models.go +++ /dev/null @@ -1,453 +0,0 @@ -// Code generated by github.com/99designs/gqlgen, DO NOT EDIT. - -package models - -import ( - "fmt" - "io" - "strconv" -) - -type ConfigGeneralInput struct { - // Array of file paths to content - Stashes []string `json:"stashes"` - // Path to the SQLite database - DatabasePath *string `json:"databasePath"` - // Path to generated files - GeneratedPath *string `json:"generatedPath"` -} - -type ConfigGeneralResult struct { - // Array of file paths to content - Stashes []string `json:"stashes"` - // Path to the SQLite database - DatabasePath string `json:"databasePath"` - // Path to generated files - GeneratedPath string `json:"generatedPath"` -} - -type ConfigInterfaceInput struct { - // Custom CSS - CSS *string `json:"css"` - CSSEnabled *bool `json:"cssEnabled"` -} - -type ConfigInterfaceResult struct { - // Custom CSS - CSS *string `json:"css"` - CSSEnabled *bool `json:"cssEnabled"` -} - -// All configuration settings -type ConfigResult struct { - General *ConfigGeneralResult `json:"general"` - Interface *ConfigInterfaceResult `json:"interface"` -} - -type FindFilterType struct { - Q *string `json:"q"` - Page *int `json:"page"` - PerPage *int `json:"per_page"` - Sort *string `json:"sort"` - Direction *SortDirectionEnum `json:"direction"` -} - -type FindGalleriesResultType struct { - Count int `json:"count"` - Galleries []*Gallery `json:"galleries"` -} - -type FindPerformersResultType struct { - Count int `json:"count"` - Performers []*Performer `json:"performers"` -} - -type FindSceneMarkersResultType struct { - Count int `json:"count"` - SceneMarkers []*SceneMarker `json:"scene_markers"` -} - -type FindScenesResultType struct { - Count int `json:"count"` - Scenes []*Scene `json:"scenes"` -} - -type FindStudiosResultType struct { - Count int `json:"count"` - Studios []*Studio `json:"studios"` -} - -type GalleryFilesType struct { - Index int `json:"index"` - Name *string `json:"name"` - Path *string `json:"path"` -} - -type GenerateMetadataInput struct { - Sprites bool `json:"sprites"` - Previews bool `json:"previews"` - Markers bool `json:"markers"` - Transcodes bool `json:"transcodes"` -} - -type IntCriterionInput struct { - Value int `json:"value"` - Modifier CriterionModifier `json:"modifier"` -} - -type MarkerStringsResultType struct { - Count int `json:"count"` - ID string `json:"id"` - Title string `json:"title"` -} - -type PerformerCreateInput struct { - Name *string `json:"name"` - URL *string `json:"url"` - Birthdate *string `json:"birthdate"` - Ethnicity *string `json:"ethnicity"` - Country *string `json:"country"` - EyeColor *string `json:"eye_color"` - Height *string `json:"height"` - Measurements *string `json:"measurements"` - FakeTits *string `json:"fake_tits"` - CareerLength *string `json:"career_length"` - Tattoos *string `json:"tattoos"` - Piercings *string `json:"piercings"` - Aliases *string `json:"aliases"` - Twitter *string `json:"twitter"` - Instagram *string `json:"instagram"` - Favorite *bool `json:"favorite"` - // This should be base64 encoded - Image string `json:"image"` -} - -type PerformerDestroyInput struct { - ID string `json:"id"` -} - -type PerformerFilterType struct { - // Filter by favorite - FilterFavorites *bool `json:"filter_favorites"` -} - -type PerformerUpdateInput struct { - ID string `json:"id"` - Name *string `json:"name"` - URL *string `json:"url"` - Birthdate *string `json:"birthdate"` - Ethnicity *string `json:"ethnicity"` - Country *string `json:"country"` - EyeColor *string `json:"eye_color"` - Height *string `json:"height"` - Measurements *string `json:"measurements"` - FakeTits *string `json:"fake_tits"` - CareerLength *string `json:"career_length"` - Tattoos *string `json:"tattoos"` - Piercings *string `json:"piercings"` - Aliases *string `json:"aliases"` - Twitter *string `json:"twitter"` - Instagram *string `json:"instagram"` - Favorite *bool `json:"favorite"` - // This should be base64 encoded - Image *string `json:"image"` -} - -type ScanMetadataInput struct { - NameFromMetadata bool `json:"nameFromMetadata"` -} - -type SceneFileType struct { - Size *string `json:"size"` - Duration *float64 `json:"duration"` - VideoCodec *string `json:"video_codec"` - AudioCodec *string `json:"audio_codec"` - Width *int `json:"width"` - Height *int `json:"height"` - Framerate *float64 `json:"framerate"` - Bitrate *int `json:"bitrate"` -} - -type SceneFilterType struct { - // Filter by rating - Rating *IntCriterionInput `json:"rating"` - // Filter by resolution - Resolution *ResolutionEnum `json:"resolution"` - // Filter to only include scenes which have markers. `true` or `false` - HasMarkers *string `json:"has_markers"` - // Filter to only include scenes missing this property - IsMissing *string `json:"is_missing"` - // Filter to only include scenes with this studio - StudioID *string `json:"studio_id"` - // Filter to only include scenes with these tags - Tags []string `json:"tags"` - // Filter to only include scenes with this performer - PerformerID *string `json:"performer_id"` -} - -type SceneMarkerCreateInput struct { - Title string `json:"title"` - Seconds float64 `json:"seconds"` - SceneID string `json:"scene_id"` - PrimaryTagID string `json:"primary_tag_id"` - TagIds []string `json:"tag_ids"` -} - -type SceneMarkerFilterType struct { - // Filter to only include scene markers with this tag - TagID *string `json:"tag_id"` - // Filter to only include scene markers with these tags - Tags []string `json:"tags"` - // Filter to only include scene markers attached to a scene with these tags - SceneTags []string `json:"scene_tags"` - // Filter to only include scene markers with these performers - Performers []string `json:"performers"` -} - -type SceneMarkerTag struct { - Tag *Tag `json:"tag"` - SceneMarkers []*SceneMarker `json:"scene_markers"` -} - -type SceneMarkerUpdateInput struct { - ID string `json:"id"` - Title string `json:"title"` - Seconds float64 `json:"seconds"` - SceneID string `json:"scene_id"` - PrimaryTagID string `json:"primary_tag_id"` - TagIds []string `json:"tag_ids"` -} - -type ScenePathsType struct { - Screenshot *string `json:"screenshot"` - Preview *string `json:"preview"` - Stream *string `json:"stream"` - Webp *string `json:"webp"` - Vtt *string `json:"vtt"` - ChaptersVtt *string `json:"chapters_vtt"` -} - -type SceneUpdateInput struct { - ClientMutationID *string `json:"clientMutationId"` - ID string `json:"id"` - Title *string `json:"title"` - Details *string `json:"details"` - URL *string `json:"url"` - Date *string `json:"date"` - Rating *int `json:"rating"` - StudioID *string `json:"studio_id"` - GalleryID *string `json:"gallery_id"` - PerformerIds []string `json:"performer_ids"` - TagIds []string `json:"tag_ids"` -} - -// A performer from a scraping operation... -type ScrapedPerformer struct { - Name *string `json:"name"` - URL *string `json:"url"` - Twitter *string `json:"twitter"` - Instagram *string `json:"instagram"` - Birthdate *string `json:"birthdate"` - Ethnicity *string `json:"ethnicity"` - Country *string `json:"country"` - EyeColor *string `json:"eye_color"` - Height *string `json:"height"` - Measurements *string `json:"measurements"` - FakeTits *string `json:"fake_tits"` - CareerLength *string `json:"career_length"` - Tattoos *string `json:"tattoos"` - Piercings *string `json:"piercings"` - Aliases *string `json:"aliases"` -} - -type StatsResultType struct { - SceneCount int `json:"scene_count"` - GalleryCount int `json:"gallery_count"` - PerformerCount int `json:"performer_count"` - StudioCount int `json:"studio_count"` - TagCount int `json:"tag_count"` -} - -type StudioCreateInput struct { - Name string `json:"name"` - URL *string `json:"url"` - // This should be base64 encoded - Image string `json:"image"` -} - -type StudioDestroyInput struct { - ID string `json:"id"` -} - -type StudioUpdateInput struct { - ID string `json:"id"` - Name *string `json:"name"` - URL *string `json:"url"` - // This should be base64 encoded - Image *string `json:"image"` -} - -type TagCreateInput struct { - Name string `json:"name"` -} - -type TagDestroyInput struct { - ID string `json:"id"` -} - -type TagUpdateInput struct { - ID string `json:"id"` - Name string `json:"name"` -} - -type CriterionModifier string - -const ( - // = - CriterionModifierEquals CriterionModifier = "EQUALS" - // != - CriterionModifierNotEquals CriterionModifier = "NOT_EQUALS" - // > - CriterionModifierGreaterThan CriterionModifier = "GREATER_THAN" - // < - CriterionModifierLessThan CriterionModifier = "LESS_THAN" - // IS NULL - CriterionModifierIsNull CriterionModifier = "IS_NULL" - // IS NOT NULL - CriterionModifierNotNull CriterionModifier = "NOT_NULL" - CriterionModifierIncludes CriterionModifier = "INCLUDES" - CriterionModifierExcludes CriterionModifier = "EXCLUDES" -) - -var AllCriterionModifier = []CriterionModifier{ - CriterionModifierEquals, - CriterionModifierNotEquals, - CriterionModifierGreaterThan, - CriterionModifierLessThan, - CriterionModifierIsNull, - CriterionModifierNotNull, - CriterionModifierIncludes, - CriterionModifierExcludes, -} - -func (e CriterionModifier) IsValid() bool { - switch e { - case CriterionModifierEquals, CriterionModifierNotEquals, CriterionModifierGreaterThan, CriterionModifierLessThan, CriterionModifierIsNull, CriterionModifierNotNull, CriterionModifierIncludes, CriterionModifierExcludes: - return true - } - return false -} - -func (e CriterionModifier) String() string { - return string(e) -} - -func (e *CriterionModifier) UnmarshalGQL(v interface{}) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = CriterionModifier(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid CriterionModifier", str) - } - return nil -} - -func (e CriterionModifier) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -type ResolutionEnum string - -const ( - // 240p - ResolutionEnumLow ResolutionEnum = "LOW" - // 480p - ResolutionEnumStandard ResolutionEnum = "STANDARD" - // 720p - ResolutionEnumStandardHd ResolutionEnum = "STANDARD_HD" - // 1080p - ResolutionEnumFullHd ResolutionEnum = "FULL_HD" - // 4k - ResolutionEnumFourK ResolutionEnum = "FOUR_K" -) - -var AllResolutionEnum = []ResolutionEnum{ - ResolutionEnumLow, - ResolutionEnumStandard, - ResolutionEnumStandardHd, - ResolutionEnumFullHd, - ResolutionEnumFourK, -} - -func (e ResolutionEnum) IsValid() bool { - switch e { - case ResolutionEnumLow, ResolutionEnumStandard, ResolutionEnumStandardHd, ResolutionEnumFullHd, ResolutionEnumFourK: - return true - } - return false -} - -func (e ResolutionEnum) String() string { - return string(e) -} - -func (e *ResolutionEnum) UnmarshalGQL(v interface{}) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = ResolutionEnum(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid ResolutionEnum", str) - } - return nil -} - -func (e ResolutionEnum) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -type SortDirectionEnum string - -const ( - SortDirectionEnumAsc SortDirectionEnum = "ASC" - SortDirectionEnumDesc SortDirectionEnum = "DESC" -) - -var AllSortDirectionEnum = []SortDirectionEnum{ - SortDirectionEnumAsc, - SortDirectionEnumDesc, -} - -func (e SortDirectionEnum) IsValid() bool { - switch e { - case SortDirectionEnumAsc, SortDirectionEnumDesc: - return true - } - return false -} - -func (e SortDirectionEnum) String() string { - return string(e) -} - -func (e *SortDirectionEnum) UnmarshalGQL(v interface{}) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = SortDirectionEnum(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid SortDirectionEnum", str) - } - return nil -} - -func (e SortDirectionEnum) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} diff --git a/ui/v2/src/core/generated-graphql.tsx b/ui/v2/src/core/generated-graphql.tsx deleted file mode 100644 index d7396b2c6..000000000 --- a/ui/v2/src/core/generated-graphql.tsx +++ /dev/null @@ -1,2524 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// Generated in 2019-10-12T18:20:41+11:00 -export type Maybe = T | undefined; - -export interface SceneFilterType { - /** Filter by rating */ - rating?: Maybe; - /** Filter by resolution */ - resolution?: Maybe; - /** Filter to only include scenes which have markers. `true` or `false` */ - has_markers?: Maybe; - /** Filter to only include scenes missing this property */ - is_missing?: Maybe; - /** Filter to only include scenes with this studio */ - studio_id?: Maybe; - /** Filter to only include scenes with these tags */ - tags?: Maybe; - /** Filter to only include scenes with this performer */ - performer_id?: Maybe; -} - -export interface IntCriterionInput { - value: number; - - modifier: CriterionModifier; -} - -export interface FindFilterType { - q?: Maybe; - - page?: Maybe; - - per_page?: Maybe; - - sort?: Maybe; - - direction?: Maybe; -} - -export interface SceneMarkerFilterType { - /** Filter to only include scene markers with this tag */ - tag_id?: Maybe; - /** Filter to only include scene markers with these tags */ - tags?: Maybe; - /** Filter to only include scene markers attached to a scene with these tags */ - scene_tags?: Maybe; - /** Filter to only include scene markers with these performers */ - performers?: Maybe; -} - -export interface PerformerFilterType { - /** Filter by favorite */ - filter_favorites?: Maybe; -} - -export interface ScanMetadataInput { - nameFromMetadata: boolean; -} - -export interface GenerateMetadataInput { - sprites: boolean; - - previews: boolean; - - markers: boolean; - - transcodes: boolean; -} - -export interface SceneUpdateInput { - clientMutationId?: Maybe; - - id: string; - - title?: Maybe; - - details?: Maybe; - - url?: Maybe; - - date?: Maybe; - - rating?: Maybe; - - studio_id?: Maybe; - - gallery_id?: Maybe; - - performer_ids?: Maybe; - - tag_ids?: Maybe; -} - -export interface SceneMarkerCreateInput { - title: string; - - seconds: number; - - scene_id: string; - - primary_tag_id: string; - - tag_ids?: Maybe; -} - -export interface SceneMarkerUpdateInput { - id: string; - - title: string; - - seconds: number; - - scene_id: string; - - primary_tag_id: string; - - tag_ids?: Maybe; -} - -export interface PerformerCreateInput { - name?: Maybe; - - url?: Maybe; - - birthdate?: Maybe; - - ethnicity?: Maybe; - - country?: Maybe; - - eye_color?: Maybe; - - height?: Maybe; - - measurements?: Maybe; - - fake_tits?: Maybe; - - career_length?: Maybe; - - tattoos?: Maybe; - - piercings?: Maybe; - - aliases?: Maybe; - - twitter?: Maybe; - - instagram?: Maybe; - - favorite?: Maybe; - /** This should be base64 encoded */ - image: string; -} - -export interface PerformerUpdateInput { - id: string; - - name?: Maybe; - - url?: Maybe; - - birthdate?: Maybe; - - ethnicity?: Maybe; - - country?: Maybe; - - eye_color?: Maybe; - - height?: Maybe; - - measurements?: Maybe; - - fake_tits?: Maybe; - - career_length?: Maybe; - - tattoos?: Maybe; - - piercings?: Maybe; - - aliases?: Maybe; - - twitter?: Maybe; - - instagram?: Maybe; - - favorite?: Maybe; - /** This should be base64 encoded */ - image?: Maybe; -} - -export interface PerformerDestroyInput { - id: string; -} - -export interface StudioCreateInput { - name: string; - - url?: Maybe; - /** This should be base64 encoded */ - image: string; -} - -export interface StudioUpdateInput { - id: string; - - name?: Maybe; - - url?: Maybe; - /** This should be base64 encoded */ - image?: Maybe; -} - -export interface StudioDestroyInput { - id: string; -} - -export interface TagCreateInput { - name: string; -} - -export interface TagUpdateInput { - id: string; - - name: string; -} - -export interface TagDestroyInput { - id: string; -} - -export interface ConfigGeneralInput { - /** Array of file paths to content */ - stashes?: Maybe; - /** Path to the SQLite database */ - databasePath?: Maybe; - /** Path to generated files */ - generatedPath?: Maybe; -} - -export interface ConfigInterfaceInput { - /** Custom CSS */ - css?: Maybe; - - cssEnabled?: Maybe; -} - -export enum CriterionModifier { - Equals = "EQUALS", - NotEquals = "NOT_EQUALS", - GreaterThan = "GREATER_THAN", - LessThan = "LESS_THAN", - IsNull = "IS_NULL", - NotNull = "NOT_NULL", - Includes = "INCLUDES", - Excludes = "EXCLUDES" -} - -export enum ResolutionEnum { - Low = "LOW", - Standard = "STANDARD", - StandardHd = "STANDARD_HD", - FullHd = "FULL_HD", - FourK = "FOUR_K" -} - -export enum SortDirectionEnum { - Asc = "ASC", - Desc = "DESC" -} - -// ==================================================== -// Documents -// ==================================================== - -export type ConfigureGeneralVariables = { - input: ConfigGeneralInput; -}; - -export type ConfigureGeneralMutation = { - __typename?: "Mutation"; - - configureGeneral: ConfigureGeneralConfigureGeneral; -}; - -export type ConfigureGeneralConfigureGeneral = ConfigGeneralDataFragment; - -export type ConfigureInterfaceVariables = { - input: ConfigInterfaceInput; -}; - -export type ConfigureInterfaceMutation = { - __typename?: "Mutation"; - - configureInterface: ConfigureInterfaceConfigureInterface; -}; - -export type ConfigureInterfaceConfigureInterface = ConfigInterfaceDataFragment; - -export type PerformerCreateVariables = { - name?: Maybe; - url?: Maybe; - birthdate?: Maybe; - ethnicity?: Maybe; - country?: Maybe; - eye_color?: Maybe; - height?: Maybe; - measurements?: Maybe; - fake_tits?: Maybe; - career_length?: Maybe; - tattoos?: Maybe; - piercings?: Maybe; - aliases?: Maybe; - twitter?: Maybe; - instagram?: Maybe; - favorite?: Maybe; - image: string; -}; - -export type PerformerCreateMutation = { - __typename?: "Mutation"; - - performerCreate: Maybe; -}; - -export type PerformerCreatePerformerCreate = PerformerDataFragment; - -export type PerformerUpdateVariables = { - id: string; - name?: Maybe; - url?: Maybe; - birthdate?: Maybe; - ethnicity?: Maybe; - country?: Maybe; - eye_color?: Maybe; - height?: Maybe; - measurements?: Maybe; - fake_tits?: Maybe; - career_length?: Maybe; - tattoos?: Maybe; - piercings?: Maybe; - aliases?: Maybe; - twitter?: Maybe; - instagram?: Maybe; - favorite?: Maybe; - image?: Maybe; -}; - -export type PerformerUpdateMutation = { - __typename?: "Mutation"; - - performerUpdate: Maybe; -}; - -export type PerformerUpdatePerformerUpdate = PerformerDataFragment; - -export type PerformerDestroyVariables = { - id: string; -}; - -export type PerformerDestroyMutation = { - __typename?: "Mutation"; - - performerDestroy: boolean; -}; - -export type SceneMarkerCreateVariables = { - title: string; - seconds: number; - scene_id: string; - primary_tag_id: string; - tag_ids?: Maybe; -}; - -export type SceneMarkerCreateMutation = { - __typename?: "Mutation"; - - sceneMarkerCreate: Maybe; -}; - -export type SceneMarkerCreateSceneMarkerCreate = SceneMarkerDataFragment; - -export type SceneMarkerUpdateVariables = { - id: string; - title: string; - seconds: number; - scene_id: string; - primary_tag_id: string; - tag_ids?: Maybe; -}; - -export type SceneMarkerUpdateMutation = { - __typename?: "Mutation"; - - sceneMarkerUpdate: Maybe; -}; - -export type SceneMarkerUpdateSceneMarkerUpdate = SceneMarkerDataFragment; - -export type SceneMarkerDestroyVariables = { - id: string; -}; - -export type SceneMarkerDestroyMutation = { - __typename?: "Mutation"; - - sceneMarkerDestroy: boolean; -}; - -export type SceneUpdateVariables = { - id: string; - title?: Maybe; - details?: Maybe; - url?: Maybe; - date?: Maybe; - rating?: Maybe; - studio_id?: Maybe; - gallery_id?: Maybe; - performer_ids?: Maybe; - tag_ids?: Maybe; -}; - -export type SceneUpdateMutation = { - __typename?: "Mutation"; - - sceneUpdate: Maybe; -}; - -export type SceneUpdateSceneUpdate = SceneDataFragment; - -export type StudioCreateVariables = { - name: string; - url?: Maybe; - image: string; -}; - -export type StudioCreateMutation = { - __typename?: "Mutation"; - - studioCreate: Maybe; -}; - -export type StudioCreateStudioCreate = StudioDataFragment; - -export type StudioUpdateVariables = { - id: string; - name?: Maybe; - url?: Maybe; - image?: Maybe; -}; - -export type StudioUpdateMutation = { - __typename?: "Mutation"; - - studioUpdate: Maybe; -}; - -export type StudioUpdateStudioUpdate = StudioDataFragment; - -export type StudioDestroyVariables = { - id: string; -}; - -export type StudioDestroyMutation = { - __typename?: "Mutation"; - - studioDestroy: boolean; -}; - -export type TagCreateVariables = { - name: string; -}; - -export type TagCreateMutation = { - __typename?: "Mutation"; - - tagCreate: Maybe; -}; - -export type TagCreateTagCreate = TagDataFragment; - -export type TagDestroyVariables = { - id: string; -}; - -export type TagDestroyMutation = { - __typename?: "Mutation"; - - tagDestroy: boolean; -}; - -export type TagUpdateVariables = { - id: string; - name: string; -}; - -export type TagUpdateMutation = { - __typename?: "Mutation"; - - tagUpdate: Maybe; -}; - -export type TagUpdateTagUpdate = TagDataFragment; - -export type FindGalleriesVariables = { - filter?: Maybe; -}; - -export type FindGalleriesQuery = { - __typename?: "Query"; - - findGalleries: FindGalleriesFindGalleries; -}; - -export type FindGalleriesFindGalleries = { - __typename?: "FindGalleriesResultType"; - - count: number; - - galleries: FindGalleriesGalleries[]; -}; - -export type FindGalleriesGalleries = GalleryDataFragment; - -export type FindGalleryVariables = { - id: string; -}; - -export type FindGalleryQuery = { - __typename?: "Query"; - - findGallery: Maybe; -}; - -export type FindGalleryFindGallery = GalleryDataFragment; - -export type SceneWallVariables = { - q?: Maybe; -}; - -export type SceneWallQuery = { - __typename?: "Query"; - - sceneWall: SceneWallSceneWall[]; -}; - -export type SceneWallSceneWall = SceneDataFragment; - -export type MarkerWallVariables = { - q?: Maybe; -}; - -export type MarkerWallQuery = { - __typename?: "Query"; - - markerWall: MarkerWallMarkerWall[]; -}; - -export type MarkerWallMarkerWall = SceneMarkerDataFragment; - -export type FindTagVariables = { - id: string; -}; - -export type FindTagQuery = { - __typename?: "Query"; - - findTag: Maybe; -}; - -export type FindTagFindTag = TagDataFragment; - -export type MarkerStringsVariables = { - q?: Maybe; - sort?: Maybe; -}; - -export type MarkerStringsQuery = { - __typename?: "Query"; - - markerStrings: (Maybe)[]; -}; - -export type MarkerStringsMarkerStrings = { - __typename?: "MarkerStringsResultType"; - - id: string; - - count: number; - - title: string; -}; - -export type AllTagsVariables = {}; - -export type AllTagsQuery = { - __typename?: "Query"; - - allTags: AllTagsAllTags[]; -}; - -export type AllTagsAllTags = TagDataFragment; - -export type AllPerformersForFilterVariables = {}; - -export type AllPerformersForFilterQuery = { - __typename?: "Query"; - - allPerformers: AllPerformersForFilterAllPerformers[]; -}; - -export type AllPerformersForFilterAllPerformers = SlimPerformerDataFragment; - -export type AllStudiosForFilterVariables = {}; - -export type AllStudiosForFilterQuery = { - __typename?: "Query"; - - allStudios: AllStudiosForFilterAllStudios[]; -}; - -export type AllStudiosForFilterAllStudios = SlimStudioDataFragment; - -export type AllTagsForFilterVariables = {}; - -export type AllTagsForFilterQuery = { - __typename?: "Query"; - - allTags: AllTagsForFilterAllTags[]; -}; - -export type AllTagsForFilterAllTags = { - __typename?: "Tag"; - - id: string; - - name: string; -}; - -export type ValidGalleriesForSceneVariables = { - scene_id: string; -}; - -export type ValidGalleriesForSceneQuery = { - __typename?: "Query"; - - validGalleriesForScene: ValidGalleriesForSceneValidGalleriesForScene[]; -}; - -export type ValidGalleriesForSceneValidGalleriesForScene = { - __typename?: "Gallery"; - - id: string; - - path: string; -}; - -export type StatsVariables = {}; - -export type StatsQuery = { - __typename?: "Query"; - - stats: StatsStats; -}; - -export type StatsStats = { - __typename?: "StatsResultType"; - - scene_count: number; - - gallery_count: number; - - performer_count: number; - - studio_count: number; - - tag_count: number; -}; - -export type FindPerformersVariables = { - filter?: Maybe; - performer_filter?: Maybe; -}; - -export type FindPerformersQuery = { - __typename?: "Query"; - - findPerformers: FindPerformersFindPerformers; -}; - -export type FindPerformersFindPerformers = { - __typename?: "FindPerformersResultType"; - - count: number; - - performers: FindPerformersPerformers[]; -}; - -export type FindPerformersPerformers = PerformerDataFragment; - -export type FindPerformerVariables = { - id: string; -}; - -export type FindPerformerQuery = { - __typename?: "Query"; - - findPerformer: Maybe; -}; - -export type FindPerformerFindPerformer = PerformerDataFragment; - -export type FindSceneMarkersVariables = { - filter?: Maybe; - scene_marker_filter?: Maybe; -}; - -export type FindSceneMarkersQuery = { - __typename?: "Query"; - - findSceneMarkers: FindSceneMarkersFindSceneMarkers; -}; - -export type FindSceneMarkersFindSceneMarkers = { - __typename?: "FindSceneMarkersResultType"; - - count: number; - - scene_markers: FindSceneMarkersSceneMarkers[]; -}; - -export type FindSceneMarkersSceneMarkers = SceneMarkerDataFragment; - -export type FindScenesVariables = { - filter?: Maybe; - scene_filter?: Maybe; - scene_ids?: Maybe; -}; - -export type FindScenesQuery = { - __typename?: "Query"; - - findScenes: FindScenesFindScenes; -}; - -export type FindScenesFindScenes = { - __typename?: "FindScenesResultType"; - - count: number; - - scenes: FindScenesScenes[]; -}; - -export type FindScenesScenes = SlimSceneDataFragment; - -export type FindSceneVariables = { - id: string; - checksum?: Maybe; -}; - -export type FindSceneQuery = { - __typename?: "Query"; - - findScene: Maybe; - - sceneMarkerTags: FindSceneSceneMarkerTags[]; -}; - -export type FindSceneFindScene = SceneDataFragment; - -export type FindSceneSceneMarkerTags = { - __typename?: "SceneMarkerTag"; - - tag: FindSceneTag; - - scene_markers: FindSceneSceneMarkers[]; -}; - -export type FindSceneTag = { - __typename?: "Tag"; - - id: string; - - name: string; -}; - -export type FindSceneSceneMarkers = SceneMarkerDataFragment; - -export type ScrapeFreeonesVariables = { - performer_name: string; -}; - -export type ScrapeFreeonesQuery = { - __typename?: "Query"; - - scrapeFreeones: Maybe; -}; - -export type ScrapeFreeonesScrapeFreeones = { - __typename?: "ScrapedPerformer"; - - name: Maybe; - - url: Maybe; - - twitter: Maybe; - - instagram: Maybe; - - birthdate: Maybe; - - ethnicity: Maybe; - - country: Maybe; - - eye_color: Maybe; - - height: Maybe; - - measurements: Maybe; - - fake_tits: Maybe; - - career_length: Maybe; - - tattoos: Maybe; - - piercings: Maybe; - - aliases: Maybe; -}; - -export type ScrapeFreeonesPerformersVariables = { - q: string; -}; - -export type ScrapeFreeonesPerformersQuery = { - __typename?: "Query"; - - scrapeFreeonesPerformerList: string[]; -}; - -export type ConfigurationVariables = {}; - -export type ConfigurationQuery = { - __typename?: "Query"; - - configuration: ConfigurationConfiguration; -}; - -export type ConfigurationConfiguration = ConfigDataFragment; - -export type DirectoriesVariables = { - path?: Maybe; -}; - -export type DirectoriesQuery = { - __typename?: "Query"; - - directories: string[]; -}; - -export type MetadataImportVariables = {}; - -export type MetadataImportQuery = { - __typename?: "Query"; - - metadataImport: string; -}; - -export type MetadataExportVariables = {}; - -export type MetadataExportQuery = { - __typename?: "Query"; - - metadataExport: string; -}; - -export type MetadataScanVariables = { - input: ScanMetadataInput; -}; - -export type MetadataScanQuery = { - __typename?: "Query"; - - metadataScan: string; -}; - -export type MetadataGenerateVariables = { - input: GenerateMetadataInput; -}; - -export type MetadataGenerateQuery = { - __typename?: "Query"; - - metadataGenerate: string; -}; - -export type MetadataCleanVariables = {}; - -export type MetadataCleanQuery = { - __typename?: "Query"; - - metadataClean: string; -}; - -export type FindStudiosVariables = { - filter?: Maybe; -}; - -export type FindStudiosQuery = { - __typename?: "Query"; - - findStudios: FindStudiosFindStudios; -}; - -export type FindStudiosFindStudios = { - __typename?: "FindStudiosResultType"; - - count: number; - - studios: FindStudiosStudios[]; -}; - -export type FindStudiosStudios = StudioDataFragment; - -export type FindStudioVariables = { - id: string; -}; - -export type FindStudioQuery = { - __typename?: "Query"; - - findStudio: Maybe; -}; - -export type FindStudioFindStudio = StudioDataFragment; - -export type MetadataUpdateVariables = {}; - -export type MetadataUpdateSubscription = { - __typename?: "Subscription"; - - metadataUpdate: string; -}; - -export type ConfigGeneralDataFragment = { - __typename?: "ConfigGeneralResult"; - - stashes: string[]; - - databasePath: string; - - generatedPath: string; -}; - -export type ConfigInterfaceDataFragment = { - __typename?: "ConfigInterfaceResult"; - - css: Maybe; - - cssEnabled: Maybe; -}; - -export type ConfigDataFragment = { - __typename?: "ConfigResult"; - - general: ConfigDataGeneral; - - interface: ConfigDataInterface; -}; - -export type ConfigDataGeneral = ConfigGeneralDataFragment; - -export type ConfigDataInterface = ConfigInterfaceDataFragment; - -export type GalleryDataFragment = { - __typename?: "Gallery"; - - id: string; - - checksum: string; - - path: string; - - title: Maybe; - - files: GalleryDataFiles[]; -}; - -export type GalleryDataFiles = { - __typename?: "GalleryFilesType"; - - index: number; - - name: Maybe; - - path: Maybe; -}; - -export type SlimPerformerDataFragment = { - __typename?: "Performer"; - - id: string; - - name: Maybe; - - image_path: Maybe; -}; - -export type PerformerDataFragment = { - __typename?: "Performer"; - - id: string; - - checksum: string; - - name: Maybe; - - url: Maybe; - - twitter: Maybe; - - instagram: Maybe; - - birthdate: Maybe; - - ethnicity: Maybe; - - country: Maybe; - - eye_color: Maybe; - - height: Maybe; - - measurements: Maybe; - - fake_tits: Maybe; - - career_length: Maybe; - - tattoos: Maybe; - - piercings: Maybe; - - aliases: Maybe; - - favorite: boolean; - - image_path: Maybe; - - scene_count: Maybe; -}; - -export type SceneMarkerDataFragment = { - __typename?: "SceneMarker"; - - id: string; - - title: string; - - seconds: number; - - stream: string; - - preview: string; - - scene: SceneMarkerDataScene; - - primary_tag: SceneMarkerDataPrimaryTag; - - tags: SceneMarkerDataTags[]; -}; - -export type SceneMarkerDataScene = { - __typename?: "Scene"; - - id: string; -}; - -export type SceneMarkerDataPrimaryTag = { - __typename?: "Tag"; - - id: string; - - name: string; -}; - -export type SceneMarkerDataTags = { - __typename?: "Tag"; - - id: string; - - name: string; -}; - -export type SlimSceneDataFragment = { - __typename?: "Scene"; - - id: string; - - checksum: string; - - title: Maybe; - - details: Maybe; - - url: Maybe; - - date: Maybe; - - rating: Maybe; - - path: string; - - file: SlimSceneDataFile; - - paths: SlimSceneDataPaths; - - scene_markers: SlimSceneDataSceneMarkers[]; - - gallery: Maybe; - - studio: Maybe; - - tags: SlimSceneDataTags[]; - - performers: SlimSceneDataPerformers[]; -}; - -export type SlimSceneDataFile = { - __typename?: "SceneFileType"; - - size: Maybe; - - duration: Maybe; - - video_codec: Maybe; - - audio_codec: Maybe; - - width: Maybe; - - height: Maybe; - - framerate: Maybe; - - bitrate: Maybe; -}; - -export type SlimSceneDataPaths = { - __typename?: "ScenePathsType"; - - screenshot: Maybe; - - preview: Maybe; - - stream: Maybe; - - webp: Maybe; - - vtt: Maybe; - - chapters_vtt: Maybe; -}; - -export type SlimSceneDataSceneMarkers = { - __typename?: "SceneMarker"; - - id: string; - - title: string; - - seconds: number; -}; - -export type SlimSceneDataGallery = { - __typename?: "Gallery"; - - id: string; - - path: string; - - title: Maybe; -}; - -export type SlimSceneDataStudio = { - __typename?: "Studio"; - - id: string; - - name: string; - - image_path: Maybe; -}; - -export type SlimSceneDataTags = { - __typename?: "Tag"; - - id: string; - - name: string; -}; - -export type SlimSceneDataPerformers = { - __typename?: "Performer"; - - id: string; - - name: Maybe; - - favorite: boolean; - - image_path: Maybe; -}; - -export type SceneDataFragment = { - __typename?: "Scene"; - - id: string; - - checksum: string; - - title: Maybe; - - details: Maybe; - - url: Maybe; - - date: Maybe; - - rating: Maybe; - - path: string; - - file: SceneDataFile; - - paths: SceneDataPaths; - - scene_markers: SceneDataSceneMarkers[]; - - is_streamable: boolean; - - gallery: Maybe; - - studio: Maybe; - - tags: SceneDataTags[]; - - performers: SceneDataPerformers[]; -}; - -export type SceneDataFile = { - __typename?: "SceneFileType"; - - size: Maybe; - - duration: Maybe; - - video_codec: Maybe; - - audio_codec: Maybe; - - width: Maybe; - - height: Maybe; - - framerate: Maybe; - - bitrate: Maybe; -}; - -export type SceneDataPaths = { - __typename?: "ScenePathsType"; - - screenshot: Maybe; - - preview: Maybe; - - stream: Maybe; - - webp: Maybe; - - vtt: Maybe; - - chapters_vtt: Maybe; -}; - -export type SceneDataSceneMarkers = SceneMarkerDataFragment; - -export type SceneDataGallery = GalleryDataFragment; - -export type SceneDataStudio = StudioDataFragment; - -export type SceneDataTags = TagDataFragment; - -export type SceneDataPerformers = PerformerDataFragment; - -export type SlimStudioDataFragment = { - __typename?: "Studio"; - - id: string; - - name: string; - - image_path: Maybe; -}; - -export type StudioDataFragment = { - __typename?: "Studio"; - - id: string; - - checksum: string; - - name: string; - - url: Maybe; - - image_path: Maybe; - - scene_count: Maybe; -}; - -export type TagDataFragment = { - __typename?: "Tag"; - - id: string; - - name: string; - - scene_count: Maybe; - - scene_marker_count: Maybe; -}; - -import gql from "graphql-tag"; -import * as ReactApolloHooks from "react-apollo-hooks"; - -// ==================================================== -// Fragments -// ==================================================== - -export const ConfigGeneralDataFragmentDoc = gql` - fragment ConfigGeneralData on ConfigGeneralResult { - stashes - databasePath - generatedPath - } -`; - -export const ConfigInterfaceDataFragmentDoc = gql` - fragment ConfigInterfaceData on ConfigInterfaceResult { - css - cssEnabled - } -`; - -export const ConfigDataFragmentDoc = gql` - fragment ConfigData on ConfigResult { - general { - ...ConfigGeneralData - } - interface { - ...ConfigInterfaceData - } - } - - ${ConfigGeneralDataFragmentDoc} - ${ConfigInterfaceDataFragmentDoc} -`; - -export const SlimPerformerDataFragmentDoc = gql` - fragment SlimPerformerData on Performer { - id - name - image_path - } -`; - -export const SlimSceneDataFragmentDoc = gql` - fragment SlimSceneData on Scene { - id - checksum - title - details - url - date - rating - path - file { - size - duration - video_codec - audio_codec - width - height - framerate - bitrate - } - paths { - screenshot - preview - stream - webp - vtt - chapters_vtt - } - scene_markers { - id - title - seconds - } - gallery { - id - path - title - } - studio { - id - name - image_path - } - tags { - id - name - } - performers { - id - name - favorite - image_path - } - } -`; - -export const SceneMarkerDataFragmentDoc = gql` - fragment SceneMarkerData on SceneMarker { - id - title - seconds - stream - preview - scene { - id - } - primary_tag { - id - name - } - tags { - id - name - } - } -`; - -export const GalleryDataFragmentDoc = gql` - fragment GalleryData on Gallery { - id - checksum - path - title - files { - index - name - path - } - } -`; - -export const StudioDataFragmentDoc = gql` - fragment StudioData on Studio { - id - checksum - name - url - image_path - scene_count - } -`; - -export const TagDataFragmentDoc = gql` - fragment TagData on Tag { - id - name - scene_count - scene_marker_count - } -`; - -export const PerformerDataFragmentDoc = gql` - fragment PerformerData on Performer { - id - checksum - name - url - twitter - instagram - birthdate - ethnicity - country - eye_color - height - measurements - fake_tits - career_length - tattoos - piercings - aliases - favorite - image_path - scene_count - } -`; - -export const SceneDataFragmentDoc = gql` - fragment SceneData on Scene { - id - checksum - title - details - url - date - rating - path - file { - size - duration - video_codec - audio_codec - width - height - framerate - bitrate - } - paths { - screenshot - preview - stream - webp - vtt - chapters_vtt - } - scene_markers { - ...SceneMarkerData - } - is_streamable - gallery { - ...GalleryData - } - studio { - ...StudioData - } - tags { - ...TagData - } - performers { - ...PerformerData - } - } - - ${SceneMarkerDataFragmentDoc} - ${GalleryDataFragmentDoc} - ${StudioDataFragmentDoc} - ${TagDataFragmentDoc} - ${PerformerDataFragmentDoc} -`; - -export const SlimStudioDataFragmentDoc = gql` - fragment SlimStudioData on Studio { - id - name - image_path - } -`; - -// ==================================================== -// Components -// ==================================================== - -export const ConfigureGeneralDocument = gql` - mutation ConfigureGeneral($input: ConfigGeneralInput!) { - configureGeneral(input: $input) { - ...ConfigGeneralData - } - } - - ${ConfigGeneralDataFragmentDoc} -`; -export function useConfigureGeneral( - baseOptions?: ReactApolloHooks.MutationHookOptions< - ConfigureGeneralMutation, - ConfigureGeneralVariables - > -) { - return ReactApolloHooks.useMutation< - ConfigureGeneralMutation, - ConfigureGeneralVariables - >(ConfigureGeneralDocument, baseOptions); -} -export const ConfigureInterfaceDocument = gql` - mutation ConfigureInterface($input: ConfigInterfaceInput!) { - configureInterface(input: $input) { - ...ConfigInterfaceData - } - } - - ${ConfigInterfaceDataFragmentDoc} -`; -export function useConfigureInterface( - baseOptions?: ReactApolloHooks.MutationHookOptions< - ConfigureInterfaceMutation, - ConfigureInterfaceVariables - > -) { - return ReactApolloHooks.useMutation< - ConfigureInterfaceMutation, - ConfigureInterfaceVariables - >(ConfigureInterfaceDocument, baseOptions); -} -export const PerformerCreateDocument = gql` - mutation PerformerCreate( - $name: String - $url: String - $birthdate: String - $ethnicity: String - $country: String - $eye_color: String - $height: String - $measurements: String - $fake_tits: String - $career_length: String - $tattoos: String - $piercings: String - $aliases: String - $twitter: String - $instagram: String - $favorite: Boolean - $image: String! - ) { - performerCreate( - input: { - name: $name - url: $url - birthdate: $birthdate - ethnicity: $ethnicity - country: $country - eye_color: $eye_color - height: $height - measurements: $measurements - fake_tits: $fake_tits - career_length: $career_length - tattoos: $tattoos - piercings: $piercings - aliases: $aliases - twitter: $twitter - instagram: $instagram - favorite: $favorite - image: $image - } - ) { - ...PerformerData - } - } - - ${PerformerDataFragmentDoc} -`; -export function usePerformerCreate( - baseOptions?: ReactApolloHooks.MutationHookOptions< - PerformerCreateMutation, - PerformerCreateVariables - > -) { - return ReactApolloHooks.useMutation< - PerformerCreateMutation, - PerformerCreateVariables - >(PerformerCreateDocument, baseOptions); -} -export const PerformerUpdateDocument = gql` - mutation PerformerUpdate( - $id: ID! - $name: String - $url: String - $birthdate: String - $ethnicity: String - $country: String - $eye_color: String - $height: String - $measurements: String - $fake_tits: String - $career_length: String - $tattoos: String - $piercings: String - $aliases: String - $twitter: String - $instagram: String - $favorite: Boolean - $image: String - ) { - performerUpdate( - input: { - id: $id - name: $name - url: $url - birthdate: $birthdate - ethnicity: $ethnicity - country: $country - eye_color: $eye_color - height: $height - measurements: $measurements - fake_tits: $fake_tits - career_length: $career_length - tattoos: $tattoos - piercings: $piercings - aliases: $aliases - twitter: $twitter - instagram: $instagram - favorite: $favorite - image: $image - } - ) { - ...PerformerData - } - } - - ${PerformerDataFragmentDoc} -`; -export function usePerformerUpdate( - baseOptions?: ReactApolloHooks.MutationHookOptions< - PerformerUpdateMutation, - PerformerUpdateVariables - > -) { - return ReactApolloHooks.useMutation< - PerformerUpdateMutation, - PerformerUpdateVariables - >(PerformerUpdateDocument, baseOptions); -} -export const PerformerDestroyDocument = gql` - mutation PerformerDestroy($id: ID!) { - performerDestroy(input: { id: $id }) - } -`; -export function usePerformerDestroy( - baseOptions?: ReactApolloHooks.MutationHookOptions< - PerformerDestroyMutation, - PerformerDestroyVariables - > -) { - return ReactApolloHooks.useMutation< - PerformerDestroyMutation, - PerformerDestroyVariables - >(PerformerDestroyDocument, baseOptions); -} -export const SceneMarkerCreateDocument = gql` - mutation SceneMarkerCreate( - $title: String! - $seconds: Float! - $scene_id: ID! - $primary_tag_id: ID! - $tag_ids: [ID!] = [] - ) { - sceneMarkerCreate( - input: { - title: $title - seconds: $seconds - scene_id: $scene_id - primary_tag_id: $primary_tag_id - tag_ids: $tag_ids - } - ) { - ...SceneMarkerData - } - } - - ${SceneMarkerDataFragmentDoc} -`; -export function useSceneMarkerCreate( - baseOptions?: ReactApolloHooks.MutationHookOptions< - SceneMarkerCreateMutation, - SceneMarkerCreateVariables - > -) { - return ReactApolloHooks.useMutation< - SceneMarkerCreateMutation, - SceneMarkerCreateVariables - >(SceneMarkerCreateDocument, baseOptions); -} -export const SceneMarkerUpdateDocument = gql` - mutation SceneMarkerUpdate( - $id: ID! - $title: String! - $seconds: Float! - $scene_id: ID! - $primary_tag_id: ID! - $tag_ids: [ID!] = [] - ) { - sceneMarkerUpdate( - input: { - id: $id - title: $title - seconds: $seconds - scene_id: $scene_id - primary_tag_id: $primary_tag_id - tag_ids: $tag_ids - } - ) { - ...SceneMarkerData - } - } - - ${SceneMarkerDataFragmentDoc} -`; -export function useSceneMarkerUpdate( - baseOptions?: ReactApolloHooks.MutationHookOptions< - SceneMarkerUpdateMutation, - SceneMarkerUpdateVariables - > -) { - return ReactApolloHooks.useMutation< - SceneMarkerUpdateMutation, - SceneMarkerUpdateVariables - >(SceneMarkerUpdateDocument, baseOptions); -} -export const SceneMarkerDestroyDocument = gql` - mutation SceneMarkerDestroy($id: ID!) { - sceneMarkerDestroy(id: $id) - } -`; -export function useSceneMarkerDestroy( - baseOptions?: ReactApolloHooks.MutationHookOptions< - SceneMarkerDestroyMutation, - SceneMarkerDestroyVariables - > -) { - return ReactApolloHooks.useMutation< - SceneMarkerDestroyMutation, - SceneMarkerDestroyVariables - >(SceneMarkerDestroyDocument, baseOptions); -} -export const SceneUpdateDocument = gql` - mutation SceneUpdate( - $id: ID! - $title: String - $details: String - $url: String - $date: String - $rating: Int - $studio_id: ID - $gallery_id: ID - $performer_ids: [ID!] = [] - $tag_ids: [ID!] = [] - ) { - sceneUpdate( - input: { - id: $id - title: $title - details: $details - url: $url - date: $date - rating: $rating - studio_id: $studio_id - gallery_id: $gallery_id - performer_ids: $performer_ids - tag_ids: $tag_ids - } - ) { - ...SceneData - } - } - - ${SceneDataFragmentDoc} -`; -export function useSceneUpdate( - baseOptions?: ReactApolloHooks.MutationHookOptions< - SceneUpdateMutation, - SceneUpdateVariables - > -) { - return ReactApolloHooks.useMutation< - SceneUpdateMutation, - SceneUpdateVariables - >(SceneUpdateDocument, baseOptions); -} -export const StudioCreateDocument = gql` - mutation StudioCreate($name: String!, $url: String, $image: String!) { - studioCreate(input: { name: $name, url: $url, image: $image }) { - ...StudioData - } - } - - ${StudioDataFragmentDoc} -`; -export function useStudioCreate( - baseOptions?: ReactApolloHooks.MutationHookOptions< - StudioCreateMutation, - StudioCreateVariables - > -) { - return ReactApolloHooks.useMutation< - StudioCreateMutation, - StudioCreateVariables - >(StudioCreateDocument, baseOptions); -} -export const StudioUpdateDocument = gql` - mutation StudioUpdate($id: ID!, $name: String, $url: String, $image: String) { - studioUpdate(input: { id: $id, name: $name, url: $url, image: $image }) { - ...StudioData - } - } - - ${StudioDataFragmentDoc} -`; -export function useStudioUpdate( - baseOptions?: ReactApolloHooks.MutationHookOptions< - StudioUpdateMutation, - StudioUpdateVariables - > -) { - return ReactApolloHooks.useMutation< - StudioUpdateMutation, - StudioUpdateVariables - >(StudioUpdateDocument, baseOptions); -} -export const StudioDestroyDocument = gql` - mutation StudioDestroy($id: ID!) { - studioDestroy(input: { id: $id }) - } -`; -export function useStudioDestroy( - baseOptions?: ReactApolloHooks.MutationHookOptions< - StudioDestroyMutation, - StudioDestroyVariables - > -) { - return ReactApolloHooks.useMutation< - StudioDestroyMutation, - StudioDestroyVariables - >(StudioDestroyDocument, baseOptions); -} -export const TagCreateDocument = gql` - mutation TagCreate($name: String!) { - tagCreate(input: { name: $name }) { - ...TagData - } - } - - ${TagDataFragmentDoc} -`; -export function useTagCreate( - baseOptions?: ReactApolloHooks.MutationHookOptions< - TagCreateMutation, - TagCreateVariables - > -) { - return ReactApolloHooks.useMutation( - TagCreateDocument, - baseOptions - ); -} -export const TagDestroyDocument = gql` - mutation TagDestroy($id: ID!) { - tagDestroy(input: { id: $id }) - } -`; -export function useTagDestroy( - baseOptions?: ReactApolloHooks.MutationHookOptions< - TagDestroyMutation, - TagDestroyVariables - > -) { - return ReactApolloHooks.useMutation( - TagDestroyDocument, - baseOptions - ); -} -export const TagUpdateDocument = gql` - mutation TagUpdate($id: ID!, $name: String!) { - tagUpdate(input: { id: $id, name: $name }) { - ...TagData - } - } - - ${TagDataFragmentDoc} -`; -export function useTagUpdate( - baseOptions?: ReactApolloHooks.MutationHookOptions< - TagUpdateMutation, - TagUpdateVariables - > -) { - return ReactApolloHooks.useMutation( - TagUpdateDocument, - baseOptions - ); -} -export const FindGalleriesDocument = gql` - query FindGalleries($filter: FindFilterType) { - findGalleries(filter: $filter) { - count - galleries { - ...GalleryData - } - } - } - - ${GalleryDataFragmentDoc} -`; -export function useFindGalleries( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - FindGalleriesDocument, - baseOptions - ); -} -export const FindGalleryDocument = gql` - query FindGallery($id: ID!) { - findGallery(id: $id) { - ...GalleryData - } - } - - ${GalleryDataFragmentDoc} -`; -export function useFindGallery( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - FindGalleryDocument, - baseOptions - ); -} -export const SceneWallDocument = gql` - query SceneWall($q: String) { - sceneWall(q: $q) { - ...SceneData - } - } - - ${SceneDataFragmentDoc} -`; -export function useSceneWall( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - SceneWallDocument, - baseOptions - ); -} -export const MarkerWallDocument = gql` - query MarkerWall($q: String) { - markerWall(q: $q) { - ...SceneMarkerData - } - } - - ${SceneMarkerDataFragmentDoc} -`; -export function useMarkerWall( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - MarkerWallDocument, - baseOptions - ); -} -export const FindTagDocument = gql` - query FindTag($id: ID!) { - findTag(id: $id) { - ...TagData - } - } - - ${TagDataFragmentDoc} -`; -export function useFindTag( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - FindTagDocument, - baseOptions - ); -} -export const MarkerStringsDocument = gql` - query MarkerStrings($q: String, $sort: String) { - markerStrings(q: $q, sort: $sort) { - id - count - title - } - } -`; -export function useMarkerStrings( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - MarkerStringsDocument, - baseOptions - ); -} -export const AllTagsDocument = gql` - query AllTags { - allTags { - ...TagData - } - } - - ${TagDataFragmentDoc} -`; -export function useAllTags( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - AllTagsDocument, - baseOptions - ); -} -export const AllPerformersForFilterDocument = gql` - query AllPerformersForFilter { - allPerformers { - ...SlimPerformerData - } - } - - ${SlimPerformerDataFragmentDoc} -`; -export function useAllPerformersForFilter( - baseOptions?: ReactApolloHooks.QueryHookOptions< - AllPerformersForFilterVariables - > -) { - return ReactApolloHooks.useQuery< - AllPerformersForFilterQuery, - AllPerformersForFilterVariables - >(AllPerformersForFilterDocument, baseOptions); -} -export const AllStudiosForFilterDocument = gql` - query AllStudiosForFilter { - allStudios { - ...SlimStudioData - } - } - - ${SlimStudioDataFragmentDoc} -`; -export function useAllStudiosForFilter( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery< - AllStudiosForFilterQuery, - AllStudiosForFilterVariables - >(AllStudiosForFilterDocument, baseOptions); -} -export const AllTagsForFilterDocument = gql` - query AllTagsForFilter { - allTags { - id - name - } - } -`; -export function useAllTagsForFilter( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery< - AllTagsForFilterQuery, - AllTagsForFilterVariables - >(AllTagsForFilterDocument, baseOptions); -} -export const ValidGalleriesForSceneDocument = gql` - query ValidGalleriesForScene($scene_id: ID!) { - validGalleriesForScene(scene_id: $scene_id) { - id - path - } - } -`; -export function useValidGalleriesForScene( - baseOptions?: ReactApolloHooks.QueryHookOptions< - ValidGalleriesForSceneVariables - > -) { - return ReactApolloHooks.useQuery< - ValidGalleriesForSceneQuery, - ValidGalleriesForSceneVariables - >(ValidGalleriesForSceneDocument, baseOptions); -} -export const StatsDocument = gql` - query Stats { - stats { - scene_count - gallery_count - performer_count - studio_count - tag_count - } - } -`; -export function useStats( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - StatsDocument, - baseOptions - ); -} -export const FindPerformersDocument = gql` - query FindPerformers( - $filter: FindFilterType - $performer_filter: PerformerFilterType - ) { - findPerformers(filter: $filter, performer_filter: $performer_filter) { - count - performers { - ...PerformerData - } - } - } - - ${PerformerDataFragmentDoc} -`; -export function useFindPerformers( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery< - FindPerformersQuery, - FindPerformersVariables - >(FindPerformersDocument, baseOptions); -} -export const FindPerformerDocument = gql` - query FindPerformer($id: ID!) { - findPerformer(id: $id) { - ...PerformerData - } - } - - ${PerformerDataFragmentDoc} -`; -export function useFindPerformer( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - FindPerformerDocument, - baseOptions - ); -} -export const FindSceneMarkersDocument = gql` - query FindSceneMarkers( - $filter: FindFilterType - $scene_marker_filter: SceneMarkerFilterType - ) { - findSceneMarkers( - filter: $filter - scene_marker_filter: $scene_marker_filter - ) { - count - scene_markers { - ...SceneMarkerData - } - } - } - - ${SceneMarkerDataFragmentDoc} -`; -export function useFindSceneMarkers( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery< - FindSceneMarkersQuery, - FindSceneMarkersVariables - >(FindSceneMarkersDocument, baseOptions); -} -export const FindScenesDocument = gql` - query FindScenes( - $filter: FindFilterType - $scene_filter: SceneFilterType - $scene_ids: [Int!] - ) { - findScenes( - filter: $filter - scene_filter: $scene_filter - scene_ids: $scene_ids - ) { - count - scenes { - ...SlimSceneData - } - } - } - - ${SlimSceneDataFragmentDoc} -`; -export function useFindScenes( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - FindScenesDocument, - baseOptions - ); -} -export const FindSceneDocument = gql` - query FindScene($id: ID!, $checksum: String) { - findScene(id: $id, checksum: $checksum) { - ...SceneData - } - sceneMarkerTags(scene_id: $id) { - tag { - id - name - } - scene_markers { - ...SceneMarkerData - } - } - } - - ${SceneDataFragmentDoc} - ${SceneMarkerDataFragmentDoc} -`; -export function useFindScene( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - FindSceneDocument, - baseOptions - ); -} -export const ScrapeFreeonesDocument = gql` - query ScrapeFreeones($performer_name: String!) { - scrapeFreeones(performer_name: $performer_name) { - name - url - twitter - instagram - birthdate - ethnicity - country - eye_color - height - measurements - fake_tits - career_length - tattoos - piercings - aliases - } - } -`; -export function useScrapeFreeones( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery< - ScrapeFreeonesQuery, - ScrapeFreeonesVariables - >(ScrapeFreeonesDocument, baseOptions); -} -export const ScrapeFreeonesPerformersDocument = gql` - query ScrapeFreeonesPerformers($q: String!) { - scrapeFreeonesPerformerList(query: $q) - } -`; -export function useScrapeFreeonesPerformers( - baseOptions?: ReactApolloHooks.QueryHookOptions< - ScrapeFreeonesPerformersVariables - > -) { - return ReactApolloHooks.useQuery< - ScrapeFreeonesPerformersQuery, - ScrapeFreeonesPerformersVariables - >(ScrapeFreeonesPerformersDocument, baseOptions); -} -export const ConfigurationDocument = gql` - query Configuration { - configuration { - ...ConfigData - } - } - - ${ConfigDataFragmentDoc} -`; -export function useConfiguration( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - ConfigurationDocument, - baseOptions - ); -} -export const DirectoriesDocument = gql` - query Directories($path: String) { - directories(path: $path) - } -`; -export function useDirectories( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - DirectoriesDocument, - baseOptions - ); -} -export const MetadataImportDocument = gql` - query MetadataImport { - metadataImport - } -`; -export function useMetadataImport( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery< - MetadataImportQuery, - MetadataImportVariables - >(MetadataImportDocument, baseOptions); -} -export const MetadataExportDocument = gql` - query MetadataExport { - metadataExport - } -`; -export function useMetadataExport( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery< - MetadataExportQuery, - MetadataExportVariables - >(MetadataExportDocument, baseOptions); -} -export const MetadataScanDocument = gql` - query MetadataScan($input: ScanMetadataInput!) { - metadataScan(input: $input) - } -`; -export function useMetadataScan( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - MetadataScanDocument, - baseOptions - ); -} -export const MetadataGenerateDocument = gql` - query MetadataGenerate($input: GenerateMetadataInput!) { - metadataGenerate(input: $input) - } -`; -export function useMetadataGenerate( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery< - MetadataGenerateQuery, - MetadataGenerateVariables - >(MetadataGenerateDocument, baseOptions); -} -export const MetadataCleanDocument = gql` - query MetadataClean { - metadataClean - } -`; -export function useMetadataClean( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - MetadataCleanDocument, - baseOptions - ); -} -export const FindStudiosDocument = gql` - query FindStudios($filter: FindFilterType) { - findStudios(filter: $filter) { - count - studios { - ...StudioData - } - } - } - - ${StudioDataFragmentDoc} -`; -export function useFindStudios( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - FindStudiosDocument, - baseOptions - ); -} -export const FindStudioDocument = gql` - query FindStudio($id: ID!) { - findStudio(id: $id) { - ...StudioData - } - } - - ${StudioDataFragmentDoc} -`; -export function useFindStudio( - baseOptions?: ReactApolloHooks.QueryHookOptions -) { - return ReactApolloHooks.useQuery( - FindStudioDocument, - baseOptions - ); -} -export const MetadataUpdateDocument = gql` - subscription MetadataUpdate { - metadataUpdate - } -`; -export function useMetadataUpdate( - baseOptions?: ReactApolloHooks.SubscriptionHookOptions< - MetadataUpdateSubscription, - MetadataUpdateVariables - > -) { - return ReactApolloHooks.useSubscription< - MetadataUpdateSubscription, - MetadataUpdateVariables - >(MetadataUpdateDocument, baseOptions); -} From 56d010144e847c4f4b395f68e20663848f6cd4a3 Mon Sep 17 00:00:00 2001 From: Friendly C <52448715+friendlycrab@users.noreply.github.com> Date: Thu, 11 Jul 2019 18:35:22 +0200 Subject: [PATCH 26/31] Remove generated packr files --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 5733d06a3..a54db8fb0 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,9 @@ pkg/models/generated_*.go ui/v2/src/core/generated-*.tsx +# packr generated files +*-packr.go + #### # Jetbrains #### From 4627db8adeebab062a6c81ae8bb84f8ae6f8b743 Mon Sep 17 00:00:00 2001 From: Friendly C <52448715+friendlycrab@users.noreply.github.com> Date: Thu, 11 Jul 2019 18:57:50 +0200 Subject: [PATCH 27/31] Use go generate for Packr2 and GraphQL files --- .travis.yml | 2 +- Makefile | 6 +++--- README.md | 2 +- main.go | 2 ++ scripts/gqlgen.go | 9 --------- 5 files changed, 7 insertions(+), 14 deletions(-) delete mode 100644 scripts/gqlgen.go diff --git a/.travis.yml b/.travis.yml index 5a2824fc4..02b7a25a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ before_install: script: #- make lint #- make vet -- make gqlgen +- make generate - go test before_deploy: - docker pull stashappdev/compiler diff --git a/Makefile b/Makefile index ef6a0ca91..582a6fa19 100644 --- a/Makefile +++ b/Makefile @@ -13,9 +13,9 @@ clean: packr2 clean # Regenerates GraphQL files -.PHONY: gqlgen -gqlgen: - go run scripts/gqlgen.go +.PHONY: generate +generate: + go generate cd ui/v2 && yarn run gqlgen # Runs gofmt -w on the project's source code, modifying any files that do not match its style. diff --git a/README.md b/README.md index 3ae39610d..109e95cf7 100644 --- a/README.md +++ b/README.md @@ -88,8 +88,8 @@ TODO ## Commands +* `make generate` - Regenerate Go GraphQL and packr2 files * `make build` - Builds the binary (make sure to build the UI as well... see below) -* `make gqlgen` - Regenerate Go GraphQL files * `make vet` - Run `go vet` * `make lint` - Run the linter diff --git a/main.go b/main.go index f1d0d31ca..bff1b8e1a 100644 --- a/main.go +++ b/main.go @@ -1,3 +1,5 @@ +//go:generate go run github.com/99designs/gqlgen +//go:generate packr2 package main import ( diff --git a/scripts/gqlgen.go b/scripts/gqlgen.go deleted file mode 100644 index 15a43e973..000000000 --- a/scripts/gqlgen.go +++ /dev/null @@ -1,9 +0,0 @@ -// +build ignore - -package main - -import "github.com/99designs/gqlgen/cmd" - -func main() { - cmd.Execute() -} \ No newline at end of file From 092534c9f2c938096b18531f1e1ecb187eb6c92b Mon Sep 17 00:00:00 2001 From: Friendly C <52448715+friendlycrab@users.noreply.github.com> Date: Thu, 10 Oct 2019 17:13:14 +0200 Subject: [PATCH 28/31] Fix travis --- .travis.yml | 8 +++----- main.go | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 02b7a25a0..2181b806b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,15 +9,13 @@ env: - GO111MODULE=on before_install: - echo -e "machine github.com\n login $CI_USER_TOKEN" > ~/.netrc -- cd ui/v2 -- yarn install -- CI=false yarn build # TODO: Fix warnings -- cd ../.. +- yarn --cwd ui/v2 install +- make generate +- CI=false yarn --cwd ui/v2 build # TODO: Fix warnings #- go get -v github.com/mgechev/revive script: #- make lint #- make vet -- make generate - go test before_deploy: - docker pull stashappdev/compiler diff --git a/main.go b/main.go index bff1b8e1a..a13460d5f 100644 --- a/main.go +++ b/main.go @@ -1,5 +1,5 @@ //go:generate go run github.com/99designs/gqlgen -//go:generate packr2 +//go:generate go run github.com/gobuffalo/packr/v2/packr2 package main import ( From e8bbaa4254af5579a9b666446fec3ed5f2a7bfa5 Mon Sep 17 00:00:00 2001 From: Friendly C <52448715+friendlycrab@users.noreply.github.com> Date: Mon, 14 Oct 2019 12:21:21 +0200 Subject: [PATCH 29/31] README: Add generate step to Building section --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 109e95cf7..4d5166936 100644 --- a/README.md +++ b/README.md @@ -88,15 +88,16 @@ TODO ## Commands -* `make generate` - Regenerate Go GraphQL and packr2 files +* `make generate` - Generate Go GraphQL and packr2 files * `make build` - Builds the binary (make sure to build the UI as well... see below) * `make vet` - Run `go vet` * `make lint` - Run the linter ## Building a release -1. cd into the `ui/v2` directory and run `yarn build` to compile the frontend -2. cd back to the root directory and run `make build` to build the executable for your current platform +1. Run `make generate` to create generated files +2. cd into the `ui/v2` directory and run `yarn build` to compile the frontend +3. cd back to the root directory and run `make build` to build the executable for your current platform ## Cross compiling From 080d80117b2958025c63945378f447d10997fae1 Mon Sep 17 00:00:00 2001 From: Friendly C <52448715+friendlycrab@users.noreply.github.com> Date: Tue, 15 Oct 2019 17:03:01 +0200 Subject: [PATCH 30/31] README: Change instructions to use `make ui` --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4d5166936..a017928f6 100644 --- a/README.md +++ b/README.md @@ -90,14 +90,15 @@ TODO * `make generate` - Generate Go GraphQL and packr2 files * `make build` - Builds the binary (make sure to build the UI as well... see below) +* `make ui` - Builds the frontend * `make vet` - Run `go vet` * `make lint` - Run the linter ## Building a release 1. Run `make generate` to create generated files -2. cd into the `ui/v2` directory and run `yarn build` to compile the frontend -3. cd back to the root directory and run `make build` to build the executable for your current platform +2. Run `make ui` to compile the frontend +3. Run `make build` to build the executable for your current platform ## Cross compiling From caa63127caf49b875d006cef5ebce40ea9528f64 Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Wed, 16 Oct 2019 09:57:24 +1100 Subject: [PATCH 31/31] Add performer list view. Add images to list views. --- ui/v2/src/components/Stats.tsx | 1 - .../components/performers/PerformerList.tsx | 3 +- .../performers/PerformerListTable.tsx | 107 ++++++++++ .../src/components/scenes/SceneListTable.tsx | 192 ++++++++++-------- ui/v2/src/index.scss | 19 ++ 5 files changed, 234 insertions(+), 88 deletions(-) create mode 100644 ui/v2/src/components/performers/PerformerListTable.tsx diff --git a/ui/v2/src/components/Stats.tsx b/ui/v2/src/components/Stats.tsx index b14a58727..a45485546 100644 --- a/ui/v2/src/components/Stats.tsx +++ b/ui/v2/src/components/Stats.tsx @@ -57,7 +57,6 @@ export const Stats: FunctionComponent = () => { * Filters for performers and studios only supports one item, even though it's a multi select. TODO: - * List view for scenes / performers * Websocket connection to display logs in the UI `} diff --git a/ui/v2/src/components/performers/PerformerList.tsx b/ui/v2/src/components/performers/PerformerList.tsx index 965aeb1cb..2ddde6df7 100644 --- a/ui/v2/src/components/performers/PerformerList.tsx +++ b/ui/v2/src/components/performers/PerformerList.tsx @@ -7,6 +7,7 @@ import { IBaseProps } from "../../models/base-props"; import { ListFilterModel } from "../../models/list-filter/filter"; import { DisplayMode, FilterMode } from "../../models/list-filter/types"; import { PerformerCard } from "./PerformerCard"; +import { PerformerListTable } from "./PerformerListTable"; interface IPerformerListProps extends IBaseProps {} @@ -27,7 +28,7 @@ export const PerformerList: FunctionComponent = (props: IPe

); } else if (filter.displayMode === DisplayMode.List) { - return

TODO

; + return ; } else if (filter.displayMode === DisplayMode.Wall) { return; } diff --git a/ui/v2/src/components/performers/PerformerListTable.tsx b/ui/v2/src/components/performers/PerformerListTable.tsx new file mode 100644 index 000000000..98f8b6c49 --- /dev/null +++ b/ui/v2/src/components/performers/PerformerListTable.tsx @@ -0,0 +1,107 @@ +import { + HTMLTable, + H5, + H6, + Button, + } from "@blueprintjs/core"; +import React, { FunctionComponent } from "react"; +import { Link } from "react-router-dom"; +import * as GQL from "../../core/generated-graphql"; +import { NavigationUtils } from "../../utils/navigation"; + +interface IPerformerListTableProps { + performers: GQL.PerformerDataFragment[]; +} + +export const PerformerListTable: FunctionComponent = (props: IPerformerListTableProps) => { + + function maybeRenderFavoriteHeart(performer : GQL.PerformerDataFragment) { + if (!performer.favorite) { return; } + return ( +