diff --git a/.DS_Store b/.DS_Store index 926fde894..bfc9165e2 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4d29575de..000000000 --- a/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/Backend/.gitignore b/Backend/.gitignore deleted file mode 100644 index a2a3040aa..000000000 --- a/Backend/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -HELP.md -target/ -!.mvn/wrapper/maven-wrapper.jar -!**/src/main/** -!**/src/test/** - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -build/ - -### VS Code ### -.vscode/ diff --git a/Backend/.mvn/wrapper/MavenWrapperDownloader.java b/Backend/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100644 index e76d1f324..000000000 --- a/Backend/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 2007-present the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import java.net.*; -import java.io.*; -import java.nio.channels.*; -import java.util.Properties; - -public class MavenWrapperDownloader { - - private static final String WRAPPER_VERSION = "0.5.6"; - /** - * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. - */ - private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" - + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; - - /** - * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to - * use instead of the default one. - */ - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = - ".mvn/wrapper/maven-wrapper.properties"; - - /** - * Path where the maven-wrapper.jar will be saved to. - */ - private static final String MAVEN_WRAPPER_JAR_PATH = - ".mvn/wrapper/maven-wrapper.jar"; - - /** - * Name of the property which should be used to override the default download url for the wrapper. - */ - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; - - public static void main(String args[]) { - System.out.println("- Downloader started"); - File baseDirectory = new File(args[0]); - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - - // If the maven-wrapper.properties exists, read it and check if it contains a custom - // wrapperUrl parameter. - File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); - String url = DEFAULT_DOWNLOAD_URL; - if(mavenWrapperPropertyFile.exists()) { - FileInputStream mavenWrapperPropertyFileInputStream = null; - try { - mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); - Properties mavenWrapperProperties = new Properties(); - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); - } catch (IOException e) { - System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); - } finally { - try { - if(mavenWrapperPropertyFileInputStream != null) { - mavenWrapperPropertyFileInputStream.close(); - } - } catch (IOException e) { - // Ignore ... - } - } - } - System.out.println("- Downloading from: " + url); - - File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); - if(!outputFile.getParentFile().exists()) { - if(!outputFile.getParentFile().mkdirs()) { - System.out.println( - "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); - } - } - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); - try { - downloadFileFromURL(url, outputFile); - System.out.println("Done"); - System.exit(0); - } catch (Throwable e) { - System.out.println("- Error downloading"); - e.printStackTrace(); - System.exit(1); - } - } - - private static void downloadFileFromURL(String urlString, File destination) throws Exception { - if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { - String username = System.getenv("MVNW_USERNAME"); - char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); - Authenticator.setDefault(new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password); - } - }); - } - URL website = new URL(urlString); - ReadableByteChannel rbc; - rbc = Channels.newChannel(website.openStream()); - FileOutputStream fos = new FileOutputStream(destination); - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - fos.close(); - rbc.close(); - } - -} diff --git a/Backend/.mvn/wrapper/maven-wrapper.jar b/Backend/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index 2cc7d4a55..000000000 Binary files a/Backend/.mvn/wrapper/maven-wrapper.jar and /dev/null differ diff --git a/Backend/.mvn/wrapper/maven-wrapper.properties b/Backend/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index 642d572ce..000000000 --- a/Backend/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1,2 +0,0 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/Backend/mvnw b/Backend/mvnw deleted file mode 100755 index a16b5431b..000000000 --- a/Backend/mvnw +++ /dev/null @@ -1,310 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` - fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`which java`" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` - fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi -else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi - if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - fi - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; - esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" - if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` - fi - - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" - else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f - else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f - fi - - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` - fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") - fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR -fi -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -exec "$JAVACMD" \ - $MAVEN_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/Backend/mvnw.cmd b/Backend/mvnw.cmd deleted file mode 100644 index c8d43372c..000000000 --- a/Backend/mvnw.cmd +++ /dev/null @@ -1,182 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM https://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - -FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause - -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% - -exit /B %ERROR_CODE% diff --git a/Backend/pom.xml b/Backend/pom.xml deleted file mode 100644 index 8f1d306e4..000000000 --- a/Backend/pom.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 2.2.5.RELEASE - - - Morreau.Shawn - Portfolio - 0.0.1-SNAPSHOT - Portfolio - Demo project for Spring Boot - - - 1.8 - - - - - org.springframework.boot - spring-boot-starter-web - - - - org.springframework.boot - spring-boot-starter-test - test - - - org.junit.vintage - junit-vintage-engine - - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.2.5.RELEASE - - - - org.postgresql - postgresql - 42.2.10 - runtime - - - - org.flywaydb - flyway-core - 6.3.1 - - - org.springframework.boot - spring-boot-starter-data-jpa - - - com.h2database - h2 - runtime - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/Controllers/HomeController.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/Controllers/HomeController.java deleted file mode 100644 index 743f2f73c..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/Controllers/HomeController.java +++ /dev/null @@ -1,51 +0,0 @@ -package Morreau.Shawn.Portfolio.Controllers; - -import Morreau.Shawn.Portfolio.Models.User; -import Morreau.Shawn.Portfolio.Services.UserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import java.util.List; -import java.util.UUID; - -@RequestMapping("api/v1/") -@RestController -public class HomeController { - - private final UserService userService; - @Autowired - public HomeController(UserService userService){ - this.userService = userService; - } - @PostMapping - public void addUser(@RequestBody User user){ - userService.addUser(user); - } - @RequestMapping - public String addUserGivenName(@RequestParam("name") String name){ - userService.addUser(new User(UUID.randomUUID(), name)); - System.out.println("holy batman line 29 home cont"); - return "we did it biish"; - } - @GetMapping("/users") - public List getAllUsers(){ - return userService.getAllUsers(); - } - @GetMapping("/user") - public User getPersonById(@RequestParam UUID id){ - return userService.getUserByID(id) - .orElse(null); - } - @DeleteMapping(path="{id}") - public void deleteUser(@PathVariable("id") UUID id){ - userService.deleteUser(id); - } - @PutMapping(path="{id}") - public void updateUser(@PathVariable("id") UUID id,@RequestBody @Valid @NotNull User user){ - userService.updateUser(id,user); - } - - -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/Controllers/PostController.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/Controllers/PostController.java deleted file mode 100644 index 53a3e2ab6..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/Controllers/PostController.java +++ /dev/null @@ -1,56 +0,0 @@ -package Morreau.Shawn.Portfolio.Controllers; - -import Morreau.Shawn.Portfolio.Models.Post; -import Morreau.Shawn.Portfolio.Services.PostService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -@RequestMapping("/api/blog") -@RestController -public class PostController { - private PostService postService; - - @Autowired - public PostController(PostService postService) { - this.postService = postService; - } - - @RequestMapping - public List Home() { - List posts = new ArrayList(); - Iterable iterable = postService.getPosts(); - iterable.forEach(posts::add); - return posts; - } - - @RequestMapping("/posts") - public List getAllPosts() { - return postService.getAllPosts(); - } - - @PostMapping("/add") - public @ResponseBody ResponseEntity addPost(@RequestBody Post post){ - postService.addPost(post); - return new ResponseEntity<>("POST RESPONSE", HttpStatus.OK); - } - - @RequestMapping("/other") - public @ResponseBody - Iterable getPosts() { - return postService.getPosts(); - } - - @DeleteMapping - public @ResponseBody - ResponseEntity deletePost(@RequestBody Post post) { - System.out.println(post.getId()); - postService.deletePost(post.getId()); - return new ResponseEntity<>("Delete Response", HttpStatus.OK); - } -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/Models/Post.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/Models/Post.java deleted file mode 100644 index e28662ebd..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/Models/Post.java +++ /dev/null @@ -1,35 +0,0 @@ -package Morreau.Shawn.Portfolio.Models; - -import com.fasterxml.jackson.annotation.JsonProperty; - -import javax.persistence.*; -import javax.validation.constraints.NotNull; - -@Entity -@Table(name = "post") -public class Post { - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Id private Long id; - private @NotNull String title; - private @NotNull String content; - - protected Post() { - } - - public Post(@JsonProperty("title") String title, @JsonProperty("content") String content) { - this.title = title; - this.content = content; - } - - public String getTitle() { - return title; - } - - public String getContent() { - return content; - } - - public Long getId() { - return id; - } -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/Models/User.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/Models/User.java deleted file mode 100644 index 7a8cad15e..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/Models/User.java +++ /dev/null @@ -1,42 +0,0 @@ -package Morreau.Shawn.Portfolio.Models; - - -import com.fasterxml.jackson.annotation.JsonProperty; - -import javax.validation.constraints.NotBlank; -import java.util.UUID; - -public class User { - private final UUID id; - @NotBlank - private String name; - - public User(@JsonProperty("id") UUID id, - @JsonProperty("name") String name){ - this.id = id; - this.name = name; - } - - @Override - public String toString() { - return "User{" + - "id=" + id + - ", name='" + name + '\'' + - '}'; - } - - public User(String name){ - this.name = name; - this.id = UUID.randomUUID(); - } - - public String getName() { - return name; - } - public void setName(String name){ - this.name = name; - } - public UUID getID(){ - return id; - } -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/PortfolioApplication.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/PortfolioApplication.java deleted file mode 100644 index 774640935..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/PortfolioApplication.java +++ /dev/null @@ -1,13 +0,0 @@ -package Morreau.Shawn.Portfolio; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class PortfolioApplication { - - public static void main(String[] args) { - SpringApplication.run(PortfolioApplication.class, args); - } - -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/IJPAPostRepo.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/IJPAPostRepo.java deleted file mode 100644 index b57ea63fd..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/IJPAPostRepo.java +++ /dev/null @@ -1,10 +0,0 @@ -package Morreau.Shawn.Portfolio.Repos; - -import Morreau.Shawn.Portfolio.Models.Post; -import org.springframework.data.repository.CrudRepository; - -public interface IJPAPostRepo extends CrudRepository{ - Post findById(long id); - Iterable findAll(); - -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/IPostRepo.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/IPostRepo.java deleted file mode 100644 index 000e9de6c..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/IPostRepo.java +++ /dev/null @@ -1,11 +0,0 @@ -package Morreau.Shawn.Portfolio.Repos; - -import Morreau.Shawn.Portfolio.Models.Post; -import org.springframework.stereotype.Repository; - -import java.util.List; - -public interface IPostRepo { - List getAllPosts(); - int addPost(Post post); -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/IUserRepo.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/IUserRepo.java deleted file mode 100644 index 481f95935..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/IUserRepo.java +++ /dev/null @@ -1,21 +0,0 @@ -package Morreau.Shawn.Portfolio.Repos; - -import Morreau.Shawn.Portfolio.Models.User; - -import java.util.List; -import java.util.Optional; -import java.util.UUID; - -public interface IUserRepo { - int addUser(UUID id,User user); - default int addUser(User user){ - UUID id = UUID.randomUUID(); - return addUser(id, user); - } - List getAllUsers(); - int deleteUser(UUID id); - int updateUser(UUID id, User user); - Optional selectUser(UUID id); - - -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/PostRepoImpl.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/PostRepoImpl.java deleted file mode 100644 index 0ea579b6c..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/PostRepoImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -package Morreau.Shawn.Portfolio.Repos; - -import Morreau.Shawn.Portfolio.Models.Post; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.stereotype.Repository; - -import java.util.List; - -@Repository("posts") -public class PostRepoImpl implements IPostRepo{ - private JdbcTemplate jdbcTemplate; - - @Autowired - public PostRepoImpl(JdbcTemplate jdbcTemplate) { - this.jdbcTemplate = jdbcTemplate; - } - - @Override - public List getAllPosts() { - String sql = "SELECT title,content FROM post"; - return jdbcTemplate.query(sql,(data, i)->{ - String title = data.getString("title"); - String content = data.getString("content"); - return new Post(title,content); - }); - } - - @Override - public int addPost(Post post) { - String sql = "INSERT INTO post (title, content) VALUES(? ?)"; - jdbcTemplate.update(sql); - System.out.println("post added"); - return 0; - } - -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/UserRepoImpl.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/UserRepoImpl.java deleted file mode 100644 index f204c11da..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/Repos/UserRepoImpl.java +++ /dev/null @@ -1,88 +0,0 @@ -package Morreau.Shawn.Portfolio.Repos; - -import Morreau.Shawn.Portfolio.Models.User; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource; -import org.springframework.jdbc.core.namedparam.SqlParameterSource; -import org.springframework.stereotype.Repository; - -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.UUID; - -@Repository("postgres")//fakerepo -public class UserRepoImpl implements IUserRepo { - private static List DB = new ArrayList(); - private final JdbcTemplate jdbcTemplate; - - @Autowired - public UserRepoImpl(JdbcTemplate jdbcTemplate){ - this.jdbcTemplate = jdbcTemplate; - } - - @Override - public List getAllUsers() { - final String sql = "SELECT id, name FROM users;"; - return jdbcTemplate.query(sql,(resultSet , i )->{ - UUID id = UUID.fromString(resultSet.getString("id")); - String name = resultSet.getString("name"); - return new User(id, name); - }); - } - @Override - public int addUser(UUID id, User user) { -// DB.add(new User(id, user.getName())); - //final String sql = "INSERT INTO users(id,name) VALUES (:id,:name)"; - - //jdbcTemplate.execute(sql,id,user); - return 1; - } - - @Override - public int addUser(User user) { - String sql = "INSERT INTO users(id, user) VALUES (?,?)"; - - DB.add(new User(user.getName())); - return 1; - } - - @Override - public int deleteUser(UUID id) { - Optional person = selectUser(id); - if(person.isPresent()){ - DB.remove(person.get()); - return 1; - } - else{ - return 0; - } - } - - @Override - public int updateUser(UUID id, User user) { - return selectUser(id) - .map(u -> { - int index = DB.indexOf(u); - System.out.println(u); - if (index >= 0) { - DB.set(index, user); - return 1; - } - return 0; - }) - .orElse(0); - } - - @Override - public Optional selectUser(UUID id) { - final String sql = "SELECT id, name FROM users WHERE id = ?"; - User user = jdbcTemplate.queryForObject(sql, new Object[]{id},(result, i)->{ - UUID userID = UUID.fromString(result.getString("id")); - String name = result.getString("name"); - return new User(userID, name); - }); - return Optional.ofNullable(user); - } -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/Services/PostService.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/Services/PostService.java deleted file mode 100644 index 384b49cc1..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/Services/PostService.java +++ /dev/null @@ -1,36 +0,0 @@ -package Morreau.Shawn.Portfolio.Services; - -import Morreau.Shawn.Portfolio.Models.Post; -import Morreau.Shawn.Portfolio.Repos.IJPAPostRepo; -import Morreau.Shawn.Portfolio.Repos.IPostRepo; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.stereotype.Service; -import org.springframework.web.bind.annotation.ResponseBody; - -import java.util.Iterator; -import java.util.List; - -@Service -public class PostService { - - @Autowired - private IJPAPostRepo postRepo; - - private IPostRepo repo; - @Autowired - public PostService(@Qualifier("posts") IPostRepo repo){ - this.repo = repo; - } - public List getAllPosts(){ - return repo.getAllPosts(); - } - public int addPost(Post post){ - postRepo.save(post); - return 1; - } - public Iterable getPosts(){ - return postRepo.findAll(); - } - public void deletePost(Long id){postRepo.deleteById(id);} -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/Services/UserService.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/Services/UserService.java deleted file mode 100644 index f5a0aba6a..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/Services/UserService.java +++ /dev/null @@ -1,36 +0,0 @@ -package Morreau.Shawn.Portfolio.Services; - -import Morreau.Shawn.Portfolio.Models.User; -import Morreau.Shawn.Portfolio.Repos.IUserRepo; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Optional; -import java.util.UUID; - -@Service -public class UserService { - private IUserRepo repo; - @Autowired - public UserService(@Qualifier("postgres") IUserRepo repo){ - this.repo = repo; - } - public int addUser(User user){ - return repo.addUser(user); - } - - public List getAllUsers(){ - return repo.getAllUsers(); - } - public Optional getUserByID(UUID id){ - return repo.selectUser(id); - } - public int updateUser(UUID id, User user){ - return repo.updateUser(id, user); - } - public int deleteUser(UUID id){ - return repo.deleteUser(id); - } -} diff --git a/Backend/src/main/java/Morreau/Shawn/Portfolio/datasource/PostgresDataSource.java b/Backend/src/main/java/Morreau/Shawn/Portfolio/datasource/PostgresDataSource.java deleted file mode 100644 index 9cb9025f1..000000000 --- a/Backend/src/main/java/Morreau/Shawn/Portfolio/datasource/PostgresDataSource.java +++ /dev/null @@ -1,20 +0,0 @@ -package Morreau.Shawn.Portfolio.datasource; - -import com.zaxxer.hikari.HikariDataSource; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.jdbc.DataSourceBuilder; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class PostgresDataSource { - - @Bean - @ConfigurationProperties("app.datasource") - public HikariDataSource hikariDataSource(){ - return DataSourceBuilder - .create() - .type(HikariDataSource.class) - .build(); - } -} diff --git a/Backend/src/main/resources/application.properties b/Backend/src/main/resources/application.properties deleted file mode 100644 index 2e882eff3..000000000 --- a/Backend/src/main/resources/application.properties +++ /dev/null @@ -1,4 +0,0 @@ -#spring.datasource.url= jdbc:postgresql://localhost:5432/portfoliodb -#spring.datasource.username=postgres -#spring.datasource.password=morreash1 -#spring.jpa.hibernate.ddl-auto=create-drop \ No newline at end of file diff --git a/Backend/src/main/resources/application.yml b/Backend/src/main/resources/application.yml deleted file mode 100644 index 0ba46ef41..000000000 --- a/Backend/src/main/resources/application.yml +++ /dev/null @@ -1,6 +0,0 @@ -app: - datasource: - jdbc-url: jdbc:postgresql://localhost:5432/portfoliodb - username: postgres - password: morreash1 - pool-size: 30 \ No newline at end of file diff --git a/Backend/src/main/resources/db/migration/U3_PostTable.sql b/Backend/src/main/resources/db/migration/U3_PostTable.sql deleted file mode 100644 index 084ba8835..000000000 --- a/Backend/src/main/resources/db/migration/U3_PostTable.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE post( - id INT NOT NULL PRIMARY KEY, - title VARCHAR(150) NOT NULL, - content VARCHAR(1000) NOT NULL -); - diff --git a/Backend/src/main/resources/db/migration/V1__PersonTable.sql b/Backend/src/main/resources/db/migration/V1__PersonTable.sql deleted file mode 100644 index 9b8b50bf6..000000000 --- a/Backend/src/main/resources/db/migration/V1__PersonTable.sql +++ /dev/null @@ -1,4 +0,0 @@ -CREATE TABLE person( - id UUID NOT NULL PRIMARY KEY, - name VARCHAR(100) NOT NULL -); \ No newline at end of file diff --git a/Backend/src/main/resources/db/migration/V2__UserTable.sql b/Backend/src/main/resources/db/migration/V2__UserTable.sql deleted file mode 100644 index 322ef02f3..000000000 --- a/Backend/src/main/resources/db/migration/V2__UserTable.sql +++ /dev/null @@ -1,5 +0,0 @@ -CREATE TABLE users( - id UUID NOT NULL PRIMARY KEY, - name VARCHAR(100) NOT NULL -); - diff --git a/Backend/src/main/resources/db/migration/V3__PostTable.sql b/Backend/src/main/resources/db/migration/V3__PostTable.sql deleted file mode 100644 index 16f1d1b8b..000000000 --- a/Backend/src/main/resources/db/migration/V3__PostTable.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE post( - id INTEGER NOT NULL PRIMARY KEY, - title VARCHAR(150) NOT NULL, - content VARCHAR NOT NULL -); - diff --git a/Backend/src/main/resources/db/migration/V4__InsertIntoUser.sql b/Backend/src/main/resources/db/migration/V4__InsertIntoUser.sql deleted file mode 100644 index a50860fcb..000000000 --- a/Backend/src/main/resources/db/migration/V4__InsertIntoUser.sql +++ /dev/null @@ -1,2 +0,0 @@ -INSERT INTO users (id, name) VALUES (uuid_generate_v4(),'Jaymee'); -INSERT INTO users(id, name) VALUES (uuid_generate_v4(),'Shawn'); diff --git a/Backend/src/main/resources/db/migration/V5__FixPostTable.sql b/Backend/src/main/resources/db/migration/V5__FixPostTable.sql deleted file mode 100644 index 084ba8835..000000000 --- a/Backend/src/main/resources/db/migration/V5__FixPostTable.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE post( - id INT NOT NULL PRIMARY KEY, - title VARCHAR(150) NOT NULL, - content VARCHAR(1000) NOT NULL -); - diff --git a/Backend/src/main/resources/db/migration/V6__FixPostTable.sql b/Backend/src/main/resources/db/migration/V6__FixPostTable.sql deleted file mode 100644 index 026209de2..000000000 --- a/Backend/src/main/resources/db/migration/V6__FixPostTable.sql +++ /dev/null @@ -1,6 +0,0 @@ -DROP TABLE post; -CREATE TABLE post( - id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, - title VARCHAR(150) NOT NULL, - content VARCHAR(1000) NOT NULL -); \ No newline at end of file diff --git a/Backend/src/test/java/Morreau/Shawn/Portfolio/PortfolioApplicationTests.java b/Backend/src/test/java/Morreau/Shawn/Portfolio/PortfolioApplicationTests.java deleted file mode 100644 index dc6282d05..000000000 --- a/Backend/src/test/java/Morreau/Shawn/Portfolio/PortfolioApplicationTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package Morreau.Shawn.Portfolio; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class PortfolioApplicationTests { - - @Test - void contextLoads() { - } - -} diff --git a/FrontEnd/.gitignore b/FrontEnd/.gitignore new file mode 100644 index 000000000..a31eedb0f --- /dev/null +++ b/FrontEnd/.gitignore @@ -0,0 +1,2 @@ +node_modules +.DS_store \ No newline at end of file diff --git a/FrontEnd/CNAME b/FrontEnd/CNAME new file mode 100644 index 000000000..e40c5ebfc --- /dev/null +++ b/FrontEnd/CNAME @@ -0,0 +1 @@ +shawnmorreau.ca \ No newline at end of file diff --git a/_config.yml b/FrontEnd/_config.yml similarity index 100% rename from _config.yml rename to FrontEnd/_config.yml diff --git a/FrontEnd/build/asset-manifest.json b/FrontEnd/build/asset-manifest.json new file mode 100644 index 000000000..1e4cbd6a0 --- /dev/null +++ b/FrontEnd/build/asset-manifest.json @@ -0,0 +1,34 @@ +{ + "files": { + "main.css": "/static/css/main.c5b288d9.chunk.css", + "main.js": "/static/js/main.8911a53a.chunk.js", + "main.js.map": "/static/js/main.8911a53a.chunk.js.map", + "runtime-main.js": "/static/js/runtime-main.19ccc7f6.js", + "runtime-main.js.map": "/static/js/runtime-main.19ccc7f6.js.map", + "static/js/2.fcbfb6c9.chunk.js": "/static/js/2.fcbfb6c9.chunk.js", + "static/js/2.fcbfb6c9.chunk.js.map": "/static/js/2.fcbfb6c9.chunk.js.map", + "index.html": "/index.html", + "precache-manifest.87d00830861fea220ae3d02d3adbe9f8.js": "/precache-manifest.87d00830861fea220ae3d02d3adbe9f8.js", + "service-worker.js": "/service-worker.js", + "static/css/main.c5b288d9.chunk.css.map": "/static/css/main.c5b288d9.chunk.css.map", + "static/js/2.fcbfb6c9.chunk.js.LICENSE.txt": "/static/js/2.fcbfb6c9.chunk.js.LICENSE.txt", + "static/media/Tom.css": "/static/media/astro.04fc716f.png", + "static/media/home.css": "/static/media/backgroundv2.9a6b2e8d.jpg", + "static/media/Contact.css": "/static/media/contact.2d0582c0.png", + "static/media/filledLogo.svg": "/static/media/filledLogo.9231c9a4.svg", + "static/media/about.css": "/static/media/glass.04b1ab10.png", + "static/media/logo.png": "/static/media/logo.b0f6823f.png", + "static/media/m4-nobg.png": "/static/media/m4-nobg.dfdec1bd.png", + "static/media/noShotEx.mov": "/static/media/noShotEx.74002d9c.mov", + "static/media/shawn.jpeg": "/static/media/shawn.4de05bb0.jpeg", + "static/media/Projects.css": "/static/media/test.bf37aa6e.png", + "static/media/tonka.jpeg": "/static/media/tonka.ec69fcb7.jpeg", + "static/media/whoAreYou.gif": "/static/media/whoAreYou.00e44fb3.gif" + }, + "entrypoints": [ + "static/js/runtime-main.19ccc7f6.js", + "static/js/2.fcbfb6c9.chunk.js", + "static/css/main.c5b288d9.chunk.css", + "static/js/main.8911a53a.chunk.js" + ] +} \ No newline at end of file diff --git a/public/favicon.ico b/FrontEnd/build/favicon.ico similarity index 100% rename from public/favicon.ico rename to FrontEnd/build/favicon.ico diff --git a/FrontEnd/build/filledLogo.svg b/FrontEnd/build/filledLogo.svg new file mode 100644 index 000000000..a044c97f2 --- /dev/null +++ b/FrontEnd/build/filledLogo.svg @@ -0,0 +1,3 @@ + + + diff --git a/FrontEnd/build/index.html b/FrontEnd/build/index.html new file mode 100644 index 000000000..d314ec4e7 --- /dev/null +++ b/FrontEnd/build/index.html @@ -0,0 +1,2 @@ +Shawn Morreau
\ No newline at end of file diff --git a/public/logo192.png b/FrontEnd/build/logo192.png similarity index 100% rename from public/logo192.png rename to FrontEnd/build/logo192.png diff --git a/public/logo512.png b/FrontEnd/build/logo512.png similarity index 100% rename from public/logo512.png rename to FrontEnd/build/logo512.png diff --git a/public/manifest.json b/FrontEnd/build/manifest.json similarity index 100% rename from public/manifest.json rename to FrontEnd/build/manifest.json diff --git a/FrontEnd/build/precache-manifest.87d00830861fea220ae3d02d3adbe9f8.js b/FrontEnd/build/precache-manifest.87d00830861fea220ae3d02d3adbe9f8.js new file mode 100644 index 000000000..bc2f1166b --- /dev/null +++ b/FrontEnd/build/precache-manifest.87d00830861fea220ae3d02d3adbe9f8.js @@ -0,0 +1,74 @@ +self.__precacheManifest = (self.__precacheManifest || []).concat([ + { + "revision": "820c9e924bcfa8cd4934a42c9039616a", + "url": "/index.html" + }, + { + "revision": "66fede0683a561a47923", + "url": "/static/css/main.c5b288d9.chunk.css" + }, + { + "revision": "ad08e1692814340ae35d", + "url": "/static/js/2.fcbfb6c9.chunk.js" + }, + { + "revision": "ac9fac6c8e755a8efecd01981adb88e6", + "url": "/static/js/2.fcbfb6c9.chunk.js.LICENSE.txt" + }, + { + "revision": "66fede0683a561a47923", + "url": "/static/js/main.8911a53a.chunk.js" + }, + { + "revision": "4f2b1704eab49d50853b", + "url": "/static/js/runtime-main.19ccc7f6.js" + }, + { + "revision": "04fc716f5dc9bbcb0a227f12df9cae2d", + "url": "/static/media/astro.04fc716f.png" + }, + { + "revision": "9a6b2e8de1acffdb1246fe46ad1fa20b", + "url": "/static/media/backgroundv2.9a6b2e8d.jpg" + }, + { + "revision": "2d0582c0d21fdb66b51fade2ff3e3cee", + "url": "/static/media/contact.2d0582c0.png" + }, + { + "revision": "9231c9a4c6d2821027a86e282e5d79a9", + "url": "/static/media/filledLogo.9231c9a4.svg" + }, + { + "revision": "04b1ab10dcff85c1036d55f29e9ef4a1", + "url": "/static/media/glass.04b1ab10.png" + }, + { + "revision": "b0f6823fb3d32301c0afa856000d7fa3", + "url": "/static/media/logo.b0f6823f.png" + }, + { + "revision": "dfdec1bd19ec734662e350b11527b406", + "url": "/static/media/m4-nobg.dfdec1bd.png" + }, + { + "revision": "74002d9c0cfc9037adbdfc02e0b5297e", + "url": "/static/media/noShotEx.74002d9c.mov" + }, + { + "revision": "4de05bb04341928e6e2b55a7f84bbb11", + "url": "/static/media/shawn.4de05bb0.jpeg" + }, + { + "revision": "bf37aa6e42ffb69124212589ea0312bb", + "url": "/static/media/test.bf37aa6e.png" + }, + { + "revision": "ec69fcb756b9b100d5f76234e13a6dde", + "url": "/static/media/tonka.ec69fcb7.jpeg" + }, + { + "revision": "00e44fb3baeddb5eab7efec73c3359cc", + "url": "/static/media/whoAreYou.00e44fb3.gif" + } +]); \ No newline at end of file diff --git a/public/robots.txt b/FrontEnd/build/robots.txt similarity index 100% rename from public/robots.txt rename to FrontEnd/build/robots.txt diff --git a/FrontEnd/build/service-worker.js b/FrontEnd/build/service-worker.js new file mode 100644 index 000000000..408f746ad --- /dev/null +++ b/FrontEnd/build/service-worker.js @@ -0,0 +1,39 @@ +/** + * Welcome to your Workbox-powered service worker! + * + * You'll need to register this file in your web app and you should + * disable HTTP caching for this file too. + * See https://goo.gl/nhQhGp + * + * The rest of the code is auto-generated. Please don't update this file + * directly; instead, make changes to your Workbox build configuration + * and re-run your build process. + * See https://goo.gl/2aRDsh + */ + +importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); + +importScripts( + "/precache-manifest.87d00830861fea220ae3d02d3adbe9f8.js" +); + +self.addEventListener('message', (event) => { + if (event.data && event.data.type === 'SKIP_WAITING') { + self.skipWaiting(); + } +}); + +workbox.core.clientsClaim(); + +/** + * The workboxSW.precacheAndRoute() method efficiently caches and responds to + * requests for URLs in the manifest. + * See https://goo.gl/S9QRab + */ +self.__precacheManifest = [].concat(self.__precacheManifest || []); +workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); + +workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("/index.html"), { + + blacklist: [/^\/_/,/\/[^/?]+\.[^/]+$/], +}); diff --git a/FrontEnd/build/static/css/main.c5b288d9.chunk.css b/FrontEnd/build/static/css/main.c5b288d9.chunk.css new file mode 100644 index 000000000..fc755e110 --- /dev/null +++ b/FrontEnd/build/static/css/main.c5b288d9.chunk.css @@ -0,0 +1,2 @@ +@import url(https://fonts.googleapis.com/css2?family=Noto+Sans&family=Playfair+Display:wght@700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Indie+Flower&family=Playfair+Display:wght@700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Indie+Flower&family=Patrick+Hand&family=Teko:wght@300&family=ZCOOL+KuaiLe&display=swap);:after,:before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.App{text-align:center;background-image:linear-gradient(to bottom right,#020a1e,#1f0091);display:flex;min-height:100vh;flex-direction:column;box-sizing:border-box;padding:0;margin:0}.App:hover{cursor:default}hr{width:100%;margin:0}.navBar{position:absolute;top:0;left:0;width:100%;height:50px;z-index:1}.navBar .content{font-family:"Noto Sans",sans-serif}.navBar .titles{font-family:"Playfair Display",serif}.navBar>ul{list-style:none;display:flex;flex-direction:row;justify-content:space-between;padding:0;margin:0}.navBar>ul>#homeLI{align-items:center;padding:0;width:50px;height:50px;margin:0 0 0 15px}.navBar>ul>#homeLI #home #logo{width:50px}.navBar>ul>#homeLI #home #logo:hover{transform:scale(1.2)}.navBar>ul>.links{align-items:center;width:50%;display:flex;flex-wrap:nowrap;justify-content:space-around}.navBar>ul>.links>li:hover{transform:scale(1.2)}.navBar>ul>.links>li a{color:#f1f1f1;text-decoration:none}@media only screen and (max-width:600px){.navBar>ul>.links{padding:0;margin:0;width:90vw}}@media only screen and (min-width:601px) and (max-width:900px){.navBar>ul>.links{padding:0;margin:0;width:70vw}}#socials{display:flex}#socials>li>a>.socialIcon{font-size:2em;margin-right:10px;color:#f1f1f1}#socials>li>a>.socialIcon:hover{transform:scale(1.2)}#contactContainer{min-height:100vh;max-width:100vw;padding:5% 0;overflow:hidden;display:-ms-grid;display:grid;grid-template-areas:"logo cta ." " . cta contact";-ms-grid-rows:2fr 1fr;grid-template-rows:2fr 1fr;-ms-grid-columns:1fr 2fr 1fr;grid-template-columns:1fr 2fr 1fr;position:relative}#contactContainer .content{font-family:"Noto Sans",sans-serif}#contactContainer .titles{font-family:"Playfair Display",serif}#contactContainer>.logo{-ms-grid-row:1;-ms-grid-column:1;grid-area:logo;max-width:175px;padding:0;z-index:1;margin:50px auto 0}#contactContainer>#info{height:150px;color:#f1f1f1;text-align:left;margin:0 auto;-ms-grid-row:2;-ms-grid-column:3;grid-area:contact;z-index:1}#contactContainer>#info>span{margin-bottom:10px}#contactContainer #backgroundImg:before{content:"";min-width:100%;min-height:100%;position:absolute;background-color:#0d1128;top:0;left:0;opacity:.87;z-index:0}#contactContainer>#backgroundImg{background-image:url(/static/media/contact.2d0582c0.png);background-repeat:no-repeat;background-size:cover;background-size:100% 100%;min-width:100vw;min-height:100%;position:absolute;top:0;left:0;z-index:0}#callToAction{z-index:1;padding:0;width:50vw;-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:2;grid-area:cta;font-size:1.25em;margin:50px auto 0}#callToAction>p,#callToAction h1,#callToAction label{color:#f1f1f1}#callToAction hr{width:75%;margin:0 auto}#callToAction #desc{margin:2vh 0 5vh;text-align:justify;font-size:1em}#callToAction #inputs{padding-bottom:15px}#callToAction #inputs>label{text-align:left}#callToAction #inputs input{width:100%;height:2rem;font-size:1em;display:inline-block;border:none;background:#f1f1f1;overflow:auto;padding:2px;color:#000;margin:5px 0}#callToAction #inputs textarea[name=body]{width:100%;height:4rem;overflow:auto;resize:none;padding:3px;font-size:1em;margin:5px 0}#callToAction #inputs>button{height:2.5em;width:6em;background-color:#0f0e0c;color:#f1f1f1;font-size:.8em;border:1px solid #fff}#callToAction #inputs>button:hover{transform:scale(1.1);border:1px solid #f1f1f1}@media only screen and (max-width:1000px){#contactContainer{display:flex;flex-direction:column;padding:0}#contactContainer>#logo{margin:0;padding:0}#contactContainer>#callToAction{width:calc(100vw - 2em - 10%);flex:1 1;margin-top:0}#contactContainer>#callToAction>h1{font-size:1.9em}#contactContainer>#info{height:90px;padding:0;width:calc(100vw - 2em - 10%);line-height:1.5em}}.outerContainer:after{content:"";width:100%;height:100%;position:absolute;background-color:#0d1128;top:0;left:0;opacity:.85;z-index:0}.outerContainer{min-height:100vh;padding-bottom:5px;background-image:url(/static/media/test.bf37aa6e.png);background-size:100% 100%;object-fit:cover;width:100%;position:relative;z-index:0}.outerContainer .content{font-family:"Noto Sans",sans-serif}.outerContainer .titles{font-family:"Playfair Display",serif}.outerContainer>.projectsContainer{position:relative;z-index:1;padding-top:50px}.outerContainer>.projectsContainer>#title{color:#f1f1f1;margin-bottom:.5em;font-size:4em}.outerContainer>.projectsContainer>.activeProject{border:1px solid #f1f1f1;width:85vw;margin:0 auto;box-shadow:-5px 5px 4px #f1f1f1}.outerContainer>.projectsContainer>.activeProject>.project{color:#f1f1f1}.outerContainer>.projectsContainer>.activeProject>.project>#title{display:block;color:#0f0e0c;background-color:#f1f1f1;font-size:1.5em;width:75vw;height:auto;margin:1em auto;padding-top:.5em}.outerContainer>.projectsContainer>.activeProject>.project>#info{font-size:1.1em;margin:0 10px;text-align:justify}.outerContainer>.projectsContainer>.activeProject>.project>#info>#desc{line-height:1.5em}.outerContainer>.projectsContainer>.activeProject>.project>#info>#gitIcon{font-size:1.5em;display:block;text-align:center;color:#f1f1f1;margin:1em 0}.outerContainer>.projectsContainer>.activeProject>.project>#info>#gitIcon:hover{transform:scale(1.1)}.outerContainer>.projectsContainer>.activeProject>.project>#info>#skills{display:flex;flex-wrap:wrap;justify-content:space-evenly;margin-bottom:5px}.outerContainer>.projectsContainer>.activeProject>.project>#info>#skills>.skill{margin:1px 5px}.outerContainer>#allProjects>#spread>.active{color:#00c2cb;border:1px solid #00c2cb}.outerContainer .prev{border-right:20px solid #00c2cb;left:1vw}.outerContainer .next,.outerContainer .prev{height:0;width:0;border-bottom:15px solid transparent;border-top:15px solid transparent;position:fixed;top:40vh}.outerContainer .next{border-left:20px solid #00c2cb;right:1vw}@media only screen and (min-width:750px){.outerContainer{padding-top:12vh}}#spread{position:relative;z-index:1;width:80vw;margin:1em auto;display:flex;justify-content:space-evenly}#spread>#project{background-color:#0f0e0c;display:flex;align-items:center;padding:0 2px;border:1px solid #f1f1f1;font-size:1em;min-height:2em;color:#f1f1f1;margin:.5px}#spread>#project:hover{transform:scale(1.1)}.skillsContainer:before{content:"";min-width:100%;min-height:100%;position:absolute;background-color:#0d1128;top:0;left:0;opacity:.8;z-index:0}.skillsContainer{z-index:0;background-size:100% 100%;object-fit:cover;width:100%;min-height:100vh;color:#f1f1f1;position:relative;padding-bottom:.1em}.skillsContainer .content{font-family:"Noto Sans",sans-serif;text-shadow:-2px 2px 4px #0f0e0c}.skillsContainer .titles{font-family:"Playfair Display",serif;position:relative;text-shadow:-2px 2px 4px #0f0e0c}.skillsContainer>.title{padding-top:10vh}.skillsContainer>.skillGrouping{display:flex;flex-wrap:wrap;justify-content:space-evenly;position:relative;margin-top:5vh}.skillsContainer>.skillGrouping>.skillList{list-style:none;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:15px 10px;font-size:1.3em;position:relative;z-index:1;flex:1 1 40%}.skillsContainer>.skillGrouping>.skillList>.skill{color:#00c2cb;font-weight:600;font-size:.9em;position:relative;z-index:1;margin-bottom:2px}.skillsContainer>#bottom_images{position:absolute;bottom:5px;left:0;width:100%}.skillsContainer>#bottom_images>#logos{margin:10px 0;color:#f1f1f1;display:flex;justify-content:space-evenly;font-size:1.5em}*{margin:0;padding:0;box-sizing:border-box}#about:after{content:"";min-width:100%;min-height:100%;position:absolute;background-color:#0d1128;top:0;left:0;opacity:.85}#about{background-image:url(/static/media/glass.04b1ab10.png);width:100%;min-height:100vh;display:flex column;font-size:1.5em;position:relative;z-index:1;padding:50px 0;z-index:0}#about .header{font-family:"Playfair Display",serif;font-size:3em}#about .content{font-family:"Noto Sans",sans-serif;line-height:1.5em}#about>#title{color:#f1f1f1;text-shadow:2px 2px 5px #0f0e0c;margin:0}#about>#images>#me,#about>#title{padding:0;z-index:1;position:relative}#about>#images>#me{width:200px;height:250px;object-fit:cover;border-radius:50%;object-position:60%;margin-top:-20px;margin-bottom:10px}#about>#details{color:#f1f1f1;margin:0 1em;text-align:left;flex:1 1 100%;padding-bottom:2em;position:relative;z-index:1;text-align:justify}#about>#details>#desc>#laptop{display:block;margin:20px 50%;font-size:1.1em;display:none}#about>#details>#selfLearning>#code{display:none}@media only screen and (min-width:800px){#about{display:flex column;min-height:100vh}#about .content{font-size:.86em}#about>#title{text-align:left;margin-left:24px;z-index:1;margin-bottom:.6em}#about>#details{width:70vw}#about>#details>#desc>#laptop{font-size:2em;margin:35px 35vw;display:none}#about>#images>#me{float:right;width:25vw;height:400px}}::-webkit-scrollbar{width:.5em}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#00c2cb}::-webkit-scrollbar-thumb:hover{background:#00c290}.home:before{content:"";min-width:100%;min-height:100%;position:absolute;background-color:#0d1128;top:0;left:0;opacity:.6;z-index:0}.home{background-image:url(/static/media/backgroundv2.9a6b2e8d.jpg);background-repeat:no-repeat;background-size:100% 100%;min-height:100vh;overflow:hidden;position:relative}.home .content{font-family:"Noto Sans",sans-serif}.home .titles{font-family:"Playfair Display",serif}.home>#homepage{margin-top:25vh}.home>#homepage>#name{color:#f1f1f1;text-shadow:2px 2px 2px #0f0e0c;width:100%;position:relative}.home>#homepage>.role{color:#f1f1f1;text-shadow:1px 1px #0f0e0c;position:relative}.home>#homepage>.role:after{content:"";height:100%;width:1px;border-right:2px solid #f1f1f1;margin-left:1px;-webkit-animation:blink .4s ease infinite;animation:blink .4s ease infinite;position:relative}@-webkit-keyframes blink{0%{opacity:0}to{opacity:1}}@keyframes blink{0%{opacity:0}to{opacity:1}}.home>#homepage>.callToAction{color:#f1f1f1;text-shadow:1px 1px 5px #0f0e0c;margin:50px 10vw 0;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly}.home>#homepage>.callToAction>.text{flex:1 1 100vw;position:relative}.home>#homepage>.callToAction>.CTAButton{position:relative;background-color:#f1f1f1;width:150px;margin-top:1em}.home>#homepage>.callToAction>.CTAButton a{text-decoration:none;color:#0f0e0c}.home>#homepage>.callToAction>.CTAButton:hover{transform:scale(1.1)}#tom{color:#fff;margin:50px 25px;list-style:none;background:url(/static/media/astro.04fc716f.png) no-repeat;min-height:100vh;object-fit:scale-down;background-attachment:fixed;max-width:100vw;object-position:200% 5px;background-size:cover;background-position-x:50%}#tom p{font-family:"Indie Flower",cursive;padding:0 5px}#tom .subHeader{color:#fff;font-size:1.6em;font-family:"Teko",sans-serif}#tom .bubble{color:#000;background-color:#f1f;border-radius:10px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:5px auto;padding:5px;font-family:"ZCOOL KuaiLe",cursive}#tom .imageContainer{display:flex;flex-direction:column;align-items:center}#tom #img{object-fit:cover;height:200px;min-width:150px;max-width:150px;background-color:#000}#tom>#aboutMe{list-style:none;text-align:justify;padding:0 5px;margin:15px 0;background:#020024;border-radius:5px}#tom>#aboutMe #doggo{margin:10px 0}#tom>#aboutMe #doggo #tonka{background-size:contain;width:100%;height:70vh;object-fit:scale-down}#tom>#aboutMe #doggo>#caption{color:hsla(0,0%,100%,.8)}#tom>#whyHireMe{background-color:rgba(0,0,0,.9);text-align:justify;padding:0 5px}#tom>#whyHireMe h3{text-align:center;margin:10px 0;font-size:1.8em;color:hsla(0,0%,100%,.7)}#tom>#whyHireMe #topic{font-size:1.4em;color:rgba(255,17,255,.7)}#tom>#whyHireMe #response{font-family:"Patrick Hand",cursive;margin-bottom:10px;font-size:1.25em;color:hsla(0,0%,100%,.7)}#tom #troll{text-align:center;margin:10px 0}#tom #troll,#tom .vidExamplesCaption{background-color:#000;font-family:"Patrick Hand",cursive}#tom .vidExamplesCaption{font-size:1.2em;text-align:justify}#tom #video{width:75vw}#tom #vid{background-color:#000}#tom #answer{font-size:1.25em}@media only screen and (min-width:700px){#tom .imageContainer{margin:0 auto;flex-direction:row;justify-content:space-around;width:75%}#tom .imageContainer #img{object-fit:cover;height:200px;min-width:200px;max-width:200px;background-color:#000}} +/*# sourceMappingURL=main.c5b288d9.chunk.css.map */ \ No newline at end of file diff --git a/FrontEnd/build/static/css/main.c5b288d9.chunk.css.map b/FrontEnd/build/static/css/main.c5b288d9.chunk.css.map new file mode 100644 index 000000000..7e1b37a42 --- /dev/null +++ b/FrontEnd/build/static/css/main.c5b288d9.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["main.c5b288d9.chunk.css","index.css","App.css","NavBar.scss","NavBar.css","socialMedia.scss","socialMedia.css","Contact.scss","Contact.css","Projects.scss","Projects.css","ProjectSpread.scss","ProjectSpread.css","Skills.scss","Skills.css","about.scss","about.css","home.scss","home.css","Tom.scss","Tom.css"],"names":[],"mappings":"AAAA,6GAA6G,CAC7G,gHAAgH,CAChH,4IAA4I,CCS5I,eAGS,qBACT,CACA,KACE,QAAS,CACT,mJAEY,CACZ,kCAAmC,CACnC,iCACF,CAEA,KACE,yEAEF,CCrBA,KACE,iBAAkB,CAGlB,iEAA+E,CAG/E,YAAY,CACZ,gBAAgB,CAIR,qBAAqB,CAErB,qBAAsB,CAC9B,SAAS,CACT,QACF,CACA,WACE,cACF,CACA,GACE,UAAU,CACV,QACF,CCvBA,QACE,iBAAkB,CAClB,KAAK,CACL,MAAM,CACN,UAAW,CACX,WAAY,CAOZ,SCPF,CDLA,iBAOI,kCCEJ,CDTA,gBAUI,oCCGJ,CDbA,WAcI,eAAgB,CAGhB,YAAa,CAIL,kBAAmB,CAGnB,6BAA8B,CACtC,SAAU,CACV,QCGJ,CD7BA,mBA8Bc,kBAAmB,CAC3B,SAAU,CAEV,UAAW,CACX,WAAY,CACZ,iBCKN,CDxCA,+BAsCM,UCMN,CD5CA,qCA0CU,oBCOV,CAEA,kBDHU,kBAAgB,CACZ,SAAA,CAcR,YAAS,CAET,gBAAe,CAEf,4BCJN,CAEA,2BDbQ,oBCgBR,CAEA,uBACE,aAAc,CDvEhB,oBCyEA,CAEA,yCACE,kBDHF,SAAY,CACV,QACM,CAEA,UCGN,CACF,CAEA,+DACE,kBDAF,SAAY,CACV,QACM,CAEA,UCAN,CACF,CCjGA,SCGE,YDHF,CCMA,0BDCQ,aAAc,CACf,iBAAA,CCCL,aDTF,CCYA,gCDCO,oBCEP,CCEA,kBACE,gBAAiB,CACjB,eAAgB,CAChB,YAAa,CACb,eAAgB,CAChB,gBAAiB,CACjB,YAAa,CACb,mDAEoB,CACpB,qBAAsB,CACtB,0BAA2B,CAC3B,4BAA6B,CAC7B,iCAAkC,CAClC,iBCNF,CDRA,2BAiBI,kCCLJ,CDZA,0BAoBI,oCCJJ,CDhBA,wBAuBI,cAAe,CACf,iBAAgB,CAChB,cAAU,CACV,eAAc,CACd,SAAU,CAEX,SAAA,CCHD,kBD1BF,CC6BA,wBDII,YAAY,CACZ,aAAc,CACd,eAAW,CACX,aAAU,CAIX,cAAA,CCLD,iBAAkB,CDnCpB,iBA8BM,CAQA,SCAN,CDtCA,6BA0CI,kBCAJ,CAEA,wCDEI,UAAA,CACA,cAAM,CACN,eAAO,CACP,iBAAa,CACb,wBAAU,CACX,KAAA,CCAD,MAAO,CDnDT,WAAA,CAqDI,SCCJ,CAEA,iCDCI,wDAAgB,CAChB,2BAAgB,CAChB,qBAAkB,CAClB,yBAAM,CACN,eAAO,CACP,eAAU,CACX,iBAAA,CCCD,KAAM,CDER,MAAA,CACE,SCAF,CAEA,cDEE,SAAO,CAEP,SAAS,CACT,UAAU,CA4DX,cAAA,CC3DC,mBAAoB,CDTtB,iBAUO,CAVP,aAWI,CAXJ,gBAYO,CACH,kBCCJ,CDdA,qDAkBG,aCEH,CAEA,iBDAI,SAAU,CACV,aCEJ,CDzBA,oBA0BI,gBAAgB,CAyCjB,kBAAA,CCrCD,aD9BF,CCiCA,sBACE,mBDlCF,CCqCA,4BDJM,eCMN,CAEA,4BDJM,UAAU,CACV,WAAY,CACZ,aAAY,CACZ,oBAAa,CACd,WAAA,CCMH,kBAAmB,CD/CrB,aAyBE,CAkBI,WAAW,CACX,UAAY,CACZ,YCON,CAEA,0CDLM,UAAQ,CACT,WAAA,CCOH,aAAc,CDzDhB,WAyBE,CA4BI,WAAQ,CACR,aAAU,CACV,YCON,CAEA,6BDLK,YAAA,CCOH,SAAU,CDlEZ,wBA6DQ,CACF,aAAA,CACA,cAAe,CACf,qBCON,CAEA,mCDFE,oBAAkB,CCKlB,wBACF,CAEA,0CACE,kBDDE,YAAU,CAIR,qBAAU,CACX,SAbH,CCmBA,wBDHI,QAAA,CACA,SCKJ,CACA,gCDAG,6BAAA,CADE,QAAA,CAtBL,YC6BA,CACA,mCDHI,eCKJ,CACA,wBACE,WAAY,CACZ,SAAU,CACV,6BAA8B,CAC9B,iBACF,CACF,CCvLA,sBACE,UAAW,CACX,UAAW,CACX,WAAY,CACZ,iBAAkB,CAClB,wBAA+B,CAC/B,KAAM,CACN,MAAO,CACP,WAAa,CACb,SCHF,CDKA,gBACE,gBAAiB,CACjB,kBAAmB,CACnB,qDAAA,CACA,yBAA0B,CAE1B,gBAAW,CACX,UAAU,CACV,iBAAS,CAoGV,SCrGD,CAEA,yBDEG,kCCAH,CAEA,wBDCG,oCCCH,CAEA,mCDAI,iBAAS,CACT,SAAA,CA2DD,gBCxDH,CAEA,0CDFM,aAAa,CACb,kBAAc,CACf,aCIL,CAEA,kDDHM,wBAAW,CACX,UAAQ,CACR,aAAA,CAgDD,+BCzCL,CAEA,2DDsCO,aCpCP,CAEA,kEDPU,aAhDU,CAiDV,aAAA,CACA,wBAAgB,CAChB,eAAW,CACX,UAAQ,CACR,WAAQ,CACR,eAAa,CACd,gBCST,CAEA,iEDRU,eAAc,CACd,aAAY,CA6Bb,kBClBT,CAEA,uEDVW,iBCYX,CAEA,0EDXY,eAAc,CACd,aAAY,CACZ,iBAlEc,CAmEd,aAAa,CACd,YCaX,CAEA,gFAEU,oBDxEV,CC2EA,yEDVgB,YAAW,CAEX,cAAe,CAMpB,4BAAA,CCWT,iBDpFF,CCuFA,gFACE,cDxFF,CC2FA,6CDRO,aAAA,CCUL,wBD7FF,CCgGA,sBDFI,+BAAS,CAEV,QAhGH,CC2GA,4CDjBI,QAAA,CACA,OAAA,CACA,oCAxGqB,CAyGrB,iCAAe,CAEf,cAAS,CCSX,QDMF,CCHA,sBDFI,8BAAU,CAEX,SAGH,CCQA,yCACE,gBACE,gBACF,CACF,CCrIA,QACE,iBAAkB,CAClB,SAAS,CACT,UAAW,CACX,eAAgB,CAGhB,YAAa,CAGL,4BCHV,CDPA,iBAaI,wBAhBgB,CAmBhB,YAAa,CAGL,kBAAmB,CAC3B,aAAc,CACd,wBAvBsB,CAwBtB,aAAc,CACd,cAAe,CACf,aA1BsB,CA2BtB,WCFJ,CDvBA,uBA6BQ,oBCDR,CC7BA,wBACE,UAAW,CACX,cAAe,CACf,eAAgB,CAChB,iBAAkB,CAClB,wBAAiC,CACjC,KAAM,CACN,MAAO,CACP,UAAY,CACZ,SCFF,CDIA,iBACE,SAAU,CAEV,yBAA0B,CAE1B,gBAAW,CACX,UAAU,CACV,gBApBwB,CAqBxB,aAAU,CACV,iBAAgB,CAkEjB,mBCnED,CAEA,0BDEI,kCA1BgB,CA2BjB,gCCAH,CAEA,yBDCI,oCAAkB,CAClB,iBAAkB,CACnB,gCCCH,CAEA,wBDAG,gBCEH,CAEA,gCDCI,YAAa,CAEb,cAAA,CAGA,4BAAgB,CAEhB,iBAAe,CAsBhB,cClBH,CAEA,2CDHM,eAAO,CACP,yBAAuB,CACvB,sBAAkB,CAClB,iBAAiB,CACjB,gBAAgB,CAChB,eAAU,CACV,iBAAU,CACV,SAAM,CA3CZ,YCmDA,CAEA,kDDHQ,aAAU,CACV,eAAU,CACV,cAAe,CAChB,iBAAA,CCKL,SAAU,CD1DZ,iBC4DA,CAEA,gCDFI,iBAAW,CAcZ,UAAA,CCTD,MAAO,CDjET,UCmEA,CAEA,uCDHM,aAAS,CACT,aAAa,CAGb,YAAA,CCOJ,4BAA6B,CAC7B,eACF,CC1FA,EACE,QAAS,CACT,SAAU,CAEV,qBCFF,CDIA,aACE,UAAW,CACX,cAAe,CACf,eAAgB,CAChB,iBAAkB,CAClB,wBAA+B,CAC/B,KAAM,CACN,MAAO,CACP,WCDF,CDGA,OACE,sDAAA,CACA,UAAW,CACX,gBAAiB,CACjB,mBAAoB,CACpB,eAAgB,CAChB,iBAAkB,CAClB,SAAS,CACT,cAAc,CACd,SCAF,CDTA,eAYI,oCAAsC,CACtC,aCCJ,CDdA,gBAgBI,kCAAoC,CACpC,iBCEJ,CDnBA,cAoBI,aAtCsB,CAuCtB,+BAxCgB,CAyChB,QCMJ,CD5BA,iCAuBI,SAAS,CACT,SAAS,CACT,iBAzBJ,CAAA,mBA8BM,WAAY,CACZ,YAAa,CAEb,gBAAkB,CAClB,iBAAiB,CAEjB,mBAAiB,CAEjB,gBAAU,CACV,kBAvCN,CC6CA,gBDCI,aAAY,CACZ,YAAA,CACA,eAAgB,CAGhB,aAAU,CACV,kBAAS,CACT,iBAAY,CAgBb,SAAA,CCdD,kBDvDF,CC0DA,8BDEQ,aAAW,CACX,eAAY,CACb,eAAA,CCAL,YD9DF,CCiEA,oCACE,YDKF,CCFA,yCACE,ODiCC,mBAAA,CA/BD,gBCCA,CACA,gBDFA,eCIA,CACA,cDKI,eAAS,CACT,gBAAe,CAChB,SAAA,CAZH,kBCUA,CACA,gBDXA,UCaA,CACA,8BDKQ,aAAY,CACb,gBAAA,CApBP,YCkBA,CACA,mBDSM,WAAQ,CACT,UAAA,CCPH,YACF,CDUF,CCPA,oBACE,UDUF,CCNA,0BACE,kBDUF,CCNA,0BACE,kBDUF,CCNA,gCACE,kBACF,CClIA,aACE,UAAW,CACX,cAAe,CACf,eAAgB,CAChB,iBAAkB,CAClB,wBAA+B,CAC/B,KAAM,CACN,MAAO,CACP,UAAY,CACZ,SCHF,CDKA,MACE,6DAAoD,CACpD,2BAA4B,CAC5B,yBAA0B,CAC1B,gBAAiB,CACjB,eAAgB,CAChB,iBCFF,CDJA,eAQI,kCCAJ,CDRA,cAWI,oCCCJ,CDZA,gBAcI,eCEJ,CDhBA,sBAgBM,aA7BoB,CA8BpB,+BA/Bc,CAgCd,UAAW,CACX,iBCIN,CDvBA,sBAsBM,aAnCoB,CAoCpB,2BArCc,CAsCd,iBCKN,CD7BA,4BA2BM,UAAU,CACV,WAAY,CACZ,SAAU,CACV,8BA3CoB,CA4CpB,eAAgB,CAChB,yCAA2C,CACnC,iCAAmC,CAC3C,iBCMN,CDJI,yBACE,GACE,SCON,CDLI,GACE,SCON,CACF,CDLI,iBACE,GACE,SCQN,CDNI,GACE,SCQN,CACF,CD1DA,8BAqDM,aAlEoB,CAmEpB,+BApEc,CAqEd,kBAAwB,CAGxB,YAAa,CAIL,kBAAmB,CAEvB,cAAe,CAGX,4BCSd,CD5EA,oCAwEgB,cAAe,CACvB,iBCUR,CDnFA,yCA4EQ,iBAAkB,CAClB,wBA1FkB,CA2FlB,WAAY,CACZ,cCWR,CD1FA,2CAiFU,oBAAqB,CACrB,aCaV,CD/FA,+CAuFY,oBCaZ,CC7GA,KACE,UAAY,CACZ,gBAAsB,CACtB,eAAgB,CAChB,0DAAA,CACA,gBAAiB,CAEjB,qBAAuB,CACvB,2BAAgB,CAChB,eAAe,CAEf,wBAA0B,CAiG3B,qBAAA,CCtGC,yBDNF,CCSA,ODOG,kCAAA,CCLD,aDXF,CCcA,gBDMI,UAAW,CACZ,eAAA,CCJD,6BDjBF,CCoBA,aDKI,UAAA,CACA,qBAAkB,CAClB,kBAAgB,CAChB,yBAAY,CACZ,sBAjCU,CAkCX,iBAAA,CCHD,eAAgB,CD3BlB,WA+BE,CACE,kCCFJ,CAEA,qBDKI,YAAY,CAIZ,qBAAsB,CAEpB,kBCAN,CAEA,UDGI,gBAAyB,CACzB,YAAa,CAed,eAAA,CCdD,eAAgB,CDlDlB,qBCoDA,CAEA,cDtDA,eAmDI,CAII,kBAAiB,CACjB,aAAW,CACX,aAAY,CACZ,kBAAY,CACb,iBCEP,CAEA,qBDDO,aCGP,CAEA,4BDAI,uBAAmB,CACnB,UAAS,CAiBV,WAAA,CArFC,qBCyEJ,CAEA,8BDFM,wBCIN,CD7EA,gBA4EM,+BAAgB,CAChB,kBAAoB,CACrB,aCKL,CAEA,mBDJM,iBAAe,CACf,aAAW,CACX,eAzFM,CA0FP,wBCML,CAEA,uBDJI,eAzFI,CA0FJ,yBCMJ,CAEA,0BDjGA,kCA6FsB,CAClB,kBAAkB,CAClB,gBAhGI,CAiGJ,wBCMJ,CAEA,YDHG,iBAAA,CCOD,aD5GF,CC+GA,qCD/GA,qBAmGS,CACL,kCCgBJ,CALA,yBDLI,eAAW,CACZ,kBCSH,CAEA,YACE,UACF,CAEA,UACE,qBACF,CAEA,aACE,gBACF,CAEA,yCACE,qBACE,aAAc,CAIN,kBAAmB,CAEvB,4BAA6B,CACjC,SACF,CACA,0BAEK,gBAAiB,CACpB,YAAa,CACb,eAAgB,CAChB,eAAgB,CAChB,qBACF,CACF","file":"main.c5b288d9.chunk.css","sourcesContent":["@import url(https://fonts.googleapis.com/css2?family=Noto+Sans&family=Playfair+Display:wght@700&display=swap);\n@import url(https://fonts.googleapis.com/css2?family=Indie+Flower&family=Playfair+Display:wght@700&display=swap);\n@import url(https://fonts.googleapis.com/css2?family=Indie+Flower&family=Patrick+Hand&family=Teko:wght@300&family=ZCOOL+KuaiLe&display=swap);\n/*\n* Prefixed by https://autoprefixer.github.io\n* PostCSS: v7.0.29,\n* Autoprefixer: v9.7.6\n* Browsers: last 4 version\n*/\n\n*{\n box-sizing: border-box;\n}\n*:before,\n*:after {\n box-sizing: border-box;\n}\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n/*\n* Prefixed by https://autoprefixer.github.io\n* PostCSS: v7.0.29,\n* Autoprefixer: v9.7.6\n* Browsers: last 4 version\n*/\n.App {\n text-align: center;\n background-image: linear-gradient(to bottom right,rgb(2,10,30),rgb(31, 0, 145));\n display:flex;\n min-height:100vh;\n flex-direction:column;\n box-sizing: border-box;\n padding:0;\n margin:0;\n}\n.App:hover{\n cursor:default;\n}\nhr{\n width:100%;\n margin:0;\n}\n/*\n* Prefixed by https://autoprefixer.github.io\n* PostCSS: v7.0.29,\n* Autoprefixer: v9.7.6\n* Browsers: last 4 version\n*/\n.navBar {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 50px;\n z-index: 1;\n}\n\n.navBar .content {\n font-family: 'Noto Sans', sans-serif;\n}\n\n.navBar .titles {\n font-family: \"Playfair Display\", serif;\n}\n\n.navBar > ul {\n list-style: none;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 0;\n margin: 0;\n}\n\n.navBar > ul > #homeLI {\n align-items: center;\n padding: 0;\n margin: 0;\n width: 50px;\n height: 50px;\n margin-left: 15px;\n}\n\n.navBar > ul > #homeLI #home #logo {\n width: 50px;\n}\n\n.navBar > ul > #homeLI #home #logo:hover {\n transform: scale(1.2);\n}\n\n.navBar > ul > .links {\n align-items: center;\n width: 50%;\n display: flex;\n flex-wrap: nowrap;\n justify-content: space-around;\n}\n\n.navBar > ul > .links > li:hover {\n transform: scale(1.2);\n}\n\n.navBar > ul > .links > li a {\n color: #f1f1f1;\n text-decoration: none;\n}\n\n@media only screen and (max-width: 600px) {\n .navBar > ul > .links {\n padding: 0;\n margin: 0;\n width: 90vw;\n }\n}\n\n@media only screen and (min-width: 601px) and (max-width: 900px) {\n .navBar > ul > .links {\n padding: 0;\n margin: 0;\n width: 70vw;\n }\n}\n/*# sourceMappingURL=NavBar.css.map */\n#socials {\n display: flex;\n}\n\n#socials > li > a > .socialIcon {\n font-size: 2em;\n margin-right: 10px;\n color: #f1f1f1;\n}\n\n#socials > li > a > .socialIcon:hover {\n transform: scale(1.2);\n}\n/*# sourceMappingURL=socialMedia.css.map */\n/*\n* Prefixed by https://autoprefixer.github.io\n* PostCSS: v7.0.29,\n* Autoprefixer: v9.7.6\n* Browsers: last 4 version\n*/\n* {\n box-sizing: border-box;\n}\n\n#contactContainer {\n min-height: 100vh;\n max-width: 100vw;\n padding: 5% 0;\n overflow: hidden;\n display: -ms-grid;\n display: grid;\n grid-template-areas: \"logo cta .\" \" . cta contact\";\n -ms-grid-rows: 2fr 1fr;\n grid-template-rows: 2fr 1fr;\n -ms-grid-columns: 1fr 2fr 1fr;\n grid-template-columns: 1fr 2fr 1fr;\n position: relative;\n}\n\n#contactContainer .content {\n font-family: 'Noto Sans', sans-serif;\n}\n\n#contactContainer .titles {\n font-family: \"Playfair Display\", serif;\n}\n\n#contactContainer > .logo {\n -ms-grid-row: 1;\n -ms-grid-column: 1;\n grid-area: logo;\n max-width: 175px;\n padding: 0;\n margin: 0 auto;\n z-index: 1;\n margin-top: 50px;\n}\n\n#contactContainer > #info {\n height: 150px;\n color: #f1f1f1;\n text-align: left;\n margin: 0 auto;\n -ms-grid-row: 2;\n -ms-grid-column: 3;\n grid-area: contact;\n z-index: 1;\n}\n\n#contactContainer > #info > span {\n margin-bottom: 10px;\n}\n\n#contactContainer #backgroundImg:before {\n content: \"\";\n min-width: 100%;\n min-height: 100%;\n position: absolute;\n background-color: #0d1128;\n top: 0;\n left: 0;\n opacity: 0.87;\n z-index: 0;\n}\n\n#contactContainer > #backgroundImg {\n background-image: url(/static/media/contact.2d0582c0.png);\n background-repeat: no-repeat;\n background-size: cover;\n background-size: 100% 100%;\n min-width: 100vw;\n min-height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 0;\n}\n\n#callToAction {\n z-index: 1;\n margin: 0 auto;\n padding: 0;\n width: 50vw;\n -ms-grid-row: 1;\n -ms-grid-row-span: 2;\n -ms-grid-column: 2;\n grid-area: cta;\n font-size: 1.25em;\n margin-top: 50px;\n}\n\n#callToAction > p,\n#callToAction h1,\n#callToAction label {\n color: #f1f1f1;\n}\n\n#callToAction hr {\n width: 75%;\n margin: 0 auto;\n}\n\n#callToAction #desc {\n margin: 2vh 0 5vh 0;\n text-align: justify;\n font-size: 1em;\n}\n\n#callToAction #inputs {\n padding-bottom: 15px;\n}\n\n#callToAction #inputs > label {\n text-align: left;\n}\n\n#callToAction #inputs input {\n width: 100%;\n height: 2rem;\n font-size: 1em;\n display: inline-block;\n border: none;\n background: #f1f1f1;\n overflow: auto;\n padding: 2px;\n color: black;\n margin: 5px 0;\n}\n\n#callToAction #inputs textarea[name=\"body\"] {\n width: 100%;\n height: 4rem;\n overflow: auto;\n resize: none;\n padding: 3px;\n font-size: 1em;\n margin: 5px 0;\n}\n\n#callToAction #inputs > button {\n height: 2.5em;\n width: 6em;\n background-color: #0f0e0c;\n color: #f1f1f1;\n font-size: 0.8em;\n border: 1px solid white;\n}\n\n#callToAction #inputs > button:hover {\n transform: scale(1.1);\n border: 1px solid #f1f1f1;\n}\n\n@media only screen and (max-width: 1000px) {\n #contactContainer {\n display: flex;\n flex-direction: column;\n padding: 0;\n }\n #contactContainer > #logo {\n margin: 0;\n padding: 0;\n }\n #contactContainer > #callToAction {\n width: calc(100vw - 2em - 10%);\n flex: 1 1;\n margin-top: 0;\n }\n #contactContainer > #callToAction > h1 {\n font-size: 1.9em;\n }\n #contactContainer > #info {\n height: 90px;\n padding: 0;\n width: calc(100vw - 2em - 10%);\n line-height: 1.5em;\n }\n}\n/*# sourceMappingURL=Contact.css.map */\n/*\n* Prefixed by https://autoprefixer.github.io\n* PostCSS: v7.0.29,\n* Autoprefixer: v9.7.6\n* Browsers: last 4 version\n*/\n.outerContainer:after {\n content: \"\";\n width: 100%;\n height: 100%;\n position: absolute;\n background-color: #0d1128;\n top: 0;\n left: 0;\n opacity: 0.85;\n z-index: 0;\n}\n\n.outerContainer {\n min-height: 100vh;\n padding-bottom: 5px;\n background-image: url(/static/media/test.bf37aa6e.png);\n background-size: 100% 100%;\n object-fit: cover;\n width: 100%;\n position: relative;\n z-index: 0;\n}\n\n.outerContainer .content {\n font-family: 'Noto Sans', sans-serif;\n}\n\n.outerContainer .titles {\n font-family: \"Playfair Display\", serif;\n}\n\n.outerContainer > .projectsContainer {\n position: relative;\n z-index: 1;\n padding-top: 50px;\n}\n\n.outerContainer > .projectsContainer > #title {\n color: #f1f1f1;\n margin-bottom: 0.5em;\n font-size: 4em;\n}\n\n.outerContainer > .projectsContainer > .activeProject {\n border: 1px solid #f1f1f1;\n width: 85vw;\n margin: 0 auto;\n box-shadow: -5px 5px 4px #f1f1f1;\n}\n\n.outerContainer > .projectsContainer > .activeProject > .project {\n color: #f1f1f1;\n}\n\n.outerContainer > .projectsContainer > .activeProject > .project > #title {\n display: block;\n color: #0f0e0c;\n background-color: #f1f1f1;\n font-size: 1.5em;\n width: 75vw;\n height: auto;\n margin: 1em auto;\n padding-top: 0.5em;\n}\n\n.outerContainer > .projectsContainer > .activeProject > .project > #info {\n font-size: 1.1em;\n margin: 0 10px;\n text-align: justify;\n}\n\n.outerContainer > .projectsContainer > .activeProject > .project > #info > #desc {\n line-height: 1.5em;\n}\n\n.outerContainer > .projectsContainer > .activeProject > .project > #info > #gitIcon {\n font-size: 1.5em;\n display: block;\n text-align: center;\n color: #f1f1f1;\n margin: 1em 0;\n}\n\n.outerContainer > .projectsContainer > .activeProject > .project > #info > #gitIcon:hover {\n transform: scale(1.1);\n}\n\n.outerContainer > .projectsContainer > .activeProject > .project > #info > #skills {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-evenly;\n margin-bottom: 5px;\n}\n\n.outerContainer > .projectsContainer > .activeProject > .project > #info > #skills > .skill {\n margin: 1px 5px;\n}\n\n.outerContainer > #allProjects > #spread > .active {\n color: #00c2cb;\n border: 1px solid #00c2cb;\n}\n\n.outerContainer .prev {\n height: 0;\n width: 0;\n border-bottom: 15px solid transparent;\n border-top: 15px solid transparent;\n border-right: 20px solid #00c2cb;\n position: fixed;\n left: 1vw;\n top: 40vh;\n}\n\n.outerContainer .next {\n height: 0;\n width: 0;\n border-bottom: 15px solid transparent;\n border-top: 15px solid transparent;\n border-left: 20px solid #00c2cb;\n position: fixed;\n right: 1vw;\n top: 40vh;\n}\n\n@media only screen and (min-width: 750px) {\n .outerContainer {\n padding-top: 12vh;\n }\n}\n/*# sourceMappingURL=Projects.css.map */\n/*\n* Prefixed by https://autoprefixer.github.io\n* PostCSS: v7.0.29,\n* Autoprefixer: v9.7.6\n* Browsers: last 4 version\n*/\n#spread {\n position: relative;\n z-index: 1;\n width: 80vw;\n margin: 1em auto;\n display: flex;\n justify-content: space-evenly;\n}\n\n#spread > #project {\n background-color: #0f0e0c;\n display: flex;\n align-items: center;\n padding: 0 2px;\n border: 1px solid #f1f1f1;\n font-size: 1em;\n min-height: 2em;\n color: #f1f1f1;\n margin: 0.5px;\n}\n\n#spread > #project:hover {\n transform: scale(1.1);\n}\n/*# sourceMappingURL=ProjectSpread.css.map */\n/*\n* Prefixed by https://autoprefixer.github.io\n* PostCSS: v7.0.29,\n* Autoprefixer: v9.7.6\n* Browsers: last 4 version\n*/\n.skillsContainer:before {\n content: \"\";\n min-width: 100%;\n min-height: 100%;\n position: absolute;\n background-color: #0d1128;\n top: 0;\n left: 0;\n opacity: 0.8;\n z-index: 0;\n}\n\n.skillsContainer {\n z-index: 0;\n background-size: 100% 100%;\n object-fit: cover;\n width: 100%;\n min-height: 100vh;\n color: #f1f1f1;\n position: relative;\n padding-bottom: 0.1em;\n}\n\n.skillsContainer .content {\n font-family: 'Noto Sans', sans-serif;\n text-shadow: -2px 2px 4px #0f0e0c;\n}\n\n.skillsContainer .titles {\n font-family: \"Playfair Display\", serif;\n position: relative;\n text-shadow: -2px 2px 4px #0f0e0c;\n}\n\n.skillsContainer > .title {\n padding-top: 10vh;\n}\n\n.skillsContainer > .skillGrouping {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-evenly;\n margin-top: auto;\n position: relative;\n margin-top: 5vh;\n}\n\n.skillsContainer > .skillGrouping > .skillList {\n list-style: none;\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n margin: 15px 10px;\n font-size: 1.3em;\n position: relative;\n z-index: 1;\n flex: 1 1 40%;\n}\n\n.skillsContainer > .skillGrouping > .skillList > .skill {\n color: #00c2cb;\n font-weight: 600;\n font-size: 0.9em;\n position: relative;\n z-index: 1;\n margin-bottom: 2px;\n}\n\n.skillsContainer > #bottom_images {\n position: absolute;\n bottom: 5px;\n left: 0;\n width: 100%;\n}\n\n.skillsContainer > #bottom_images > #logos {\n margin: 10px 0;\n color: #f1f1f1;\n display: flex;\n justify-content: space-evenly;\n font-size: 1.5em;\n}\n/*# sourceMappingURL=Skills.css.map */\n/*\n* Prefixed by https://autoprefixer.github.io\n* PostCSS: v7.0.29,\n* Autoprefixer: v9.7.6\n* Browsers: last 4 version\n*/\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n#about:after {\n content: \"\";\n min-width: 100%;\n min-height: 100%;\n position: absolute;\n background-color: #0d1128;\n top: 0;\n left: 0;\n opacity: 0.85;\n}\n\n#about {\n background-image: url(/static/media/glass.04b1ab10.png);\n width: 100%;\n min-height: 100vh;\n display: flex column;\n font-size: 1.5em;\n position: relative;\n z-index: 1;\n padding: 50px 0;\n z-index: 0;\n}\n\n#about .header {\n font-family: \"Playfair Display\", serif;\n font-size: 3em;\n}\n\n#about .content {\n font-family: 'Noto Sans', sans-serif;\n line-height: 1.5em;\n}\n\n#about > #title {\n color: #f1f1f1;\n text-shadow: 2px 2px 5px #0f0e0c;\n margin: 0;\n padding: 0;\n z-index: 1;\n position: relative;\n}\n\n#about > #images > #me {\n width: 200px;\n height: 250px;\n object-fit: cover;\n border-radius: 50%;\n object-position: 60%;\n padding: 0;\n margin-top: -20px;\n margin-bottom: 10px;\n position: relative;\n z-index: 1;\n}\n\n#about > #details {\n color: #f1f1f1;\n margin: 0 1em;\n text-align: left;\n flex: 1 1 100%;\n padding-bottom: 2em;\n position: relative;\n z-index: 1;\n text-align: justify;\n}\n\n#about > #details > #desc > #laptop {\n display: block;\n margin: 20px 50%;\n font-size: 1.1em;\n display: none;\n}\n\n#about > #details > #selfLearning > #code {\n display: none;\n}\n\n@media only screen and (min-width: 800px) {\n #about {\n display: flex column;\n min-height: 100vh;\n }\n #about .content {\n font-size: 0.86em;\n }\n #about > #title {\n text-align: left;\n margin-left: 24px;\n z-index: 1;\n margin-bottom: 0.6em;\n }\n #about > #details {\n width: 70vw;\n }\n #about > #details > #desc > #laptop {\n font-size: 2em;\n margin: 35px 35vw;\n display: none;\n }\n #about > #images > #me {\n float: right;\n width: 25vw;\n height: 400px;\n }\n}\n\n::-webkit-scrollbar {\n width: 0.5em;\n}\n\n/* Track */\n::-webkit-scrollbar-track {\n background: #f1f1f1;\n}\n\n/* Handle */\n::-webkit-scrollbar-thumb {\n background: #00c2cb;\n}\n\n/* Handle on hover */\n::-webkit-scrollbar-thumb:hover {\n background: #00c290;\n}\n/*# sourceMappingURL=about.css.map */\n/*\n* Prefixed by https://autoprefixer.github.io\n* PostCSS: v7.0.29,\n* Autoprefixer: v9.7.6\n* Browsers: last 4 version\n*/\n.home:before {\n content: \"\";\n min-width: 100%;\n min-height: 100%;\n position: absolute;\n background-color: #0d1128;\n top: 0;\n left: 0;\n opacity: 0.6;\n z-index: 0;\n}\n\n.home {\n background-image: url(/static/media/backgroundv2.9a6b2e8d.jpg);\n background-repeat: no-repeat;\n background-size: 100% 100%;\n min-height: 100vh;\n overflow: hidden;\n position: relative;\n}\n\n.home .content {\n font-family: 'Noto Sans', sans-serif;\n}\n\n.home .titles {\n font-family: \"Playfair Display\", serif;\n}\n\n.home > #homepage {\n margin-top: 25vh;\n}\n\n.home > #homepage > #name {\n color: #f1f1f1;\n text-shadow: 2px 2px 2px #0f0e0c;\n width: 100%;\n position: relative;\n}\n\n.home > #homepage > .role {\n color: #f1f1f1;\n text-shadow: 1px 1px #0f0e0c;\n position: relative;\n}\n\n.home > #homepage > .role:after {\n content: \"\";\n height: 100%;\n width: 1px;\n border-right: 2px solid #f1f1f1;\n margin-left: 1px;\n -webkit-animation: blink 0.4s infinite ease;\n animation: blink 0.4s infinite ease;\n position: relative;\n}\n\n@-webkit-keyframes blink {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes blink {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n.home > #homepage > .callToAction {\n color: #f1f1f1;\n text-shadow: 1px 1px 5px #0f0e0c;\n margin: 50px 10vw 0 10vw;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-evenly;\n}\n\n.home > #homepage > .callToAction > .text {\n flex: 1 1 100vw;\n position: relative;\n}\n\n.home > #homepage > .callToAction > .CTAButton {\n position: relative;\n background-color: #f1f1f1;\n width: 150px;\n margin-top: 1em;\n}\n\n.home > #homepage > .callToAction > .CTAButton a {\n text-decoration: none;\n color: #0f0e0c;\n}\n\n.home > #homepage > .callToAction > .CTAButton:hover {\n transform: scale(1.1);\n}\n/*# sourceMappingURL=home.css.map */\n/* If you do look in here. it's not my best work but I was going to give up\n on it otherwise so I decided I should just do it and send it because \"you miss 100%\n of the shots you never take\"\n*/\n#tom {\n color: white;\n margin: 50px 25px;\n list-style: none;\n background: url(/static/media/astro.04fc716f.png) no-repeat;\n min-height: 100vh;\n object-fit: scale-down;\n background-attachment: fixed;\n max-width: 100vw;\n object-position: 200% 5px;\n background-size: cover;\n background-position-x: 50%;\n}\n\n#tom p {\n font-family: \"Indie Flower\", cursive;\n padding: 0 5px;\n}\n\n#tom .subHeader {\n color: #fff;\n font-size: 1.6em;\n font-family: \"Teko\", sans-serif;\n}\n\n#tom .bubble {\n color: #000;\n background-color: #f1f;\n border-radius: 10px;\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n margin: 5px auto;\n padding: 5px;\n font-family: \"ZCOOL KuaiLe\", cursive;\n}\n\n#tom .imageContainer {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n#tom #img {\n object-fit: cover;\n height: 200px;\n min-width: 150px;\n max-width: 150px;\n background-color: #000;\n}\n\n#tom > #aboutMe {\n list-style: none;\n text-align: justify;\n padding: 0 5px;\n margin: 15px 0;\n background: #020024;\n border-radius: 5px;\n}\n\n#tom > #aboutMe #doggo {\n margin: 10px 0;\n}\n\n#tom > #aboutMe #doggo #tonka {\n background-size: contain;\n width: 100%;\n height: 70vh;\n object-fit: scale-down;\n}\n\n#tom > #aboutMe #doggo > #caption {\n color: rgba(255, 255, 255, 0.8);\n}\n\n#tom > #whyHireMe {\n background-color: rgba(0, 0, 0, 0.9);\n text-align: justify;\n padding: 0 5px;\n}\n\n#tom > #whyHireMe h3 {\n text-align: center;\n margin: 10px 0;\n font-size: 1.8em;\n color: rgba(255, 255, 255, 0.7);\n}\n\n#tom > #whyHireMe #topic {\n font-size: 1.4em;\n color: rgba(255, 17, 255, 0.7);\n}\n\n#tom > #whyHireMe #response {\n font-family: \"Patrick Hand\", cursive;\n margin-bottom: 10px;\n font-size: 1.25em;\n color: rgba(255, 255, 255, 0.7);\n}\n\n#tom #troll {\n background-color: #000;\n font-family: \"Patrick Hand\", cursive;\n text-align: center;\n margin: 10px 0;\n}\n\n#tom .vidExamplesCaption {\n background-color: #000;\n font-family: \"Patrick Hand\", cursive;\n font-size: 1.2em;\n text-align: justify;\n}\n\n#tom #video {\n width: 75vw;\n}\n\n#tom #vid {\n background-color: #000;\n}\n\n#tom #answer {\n font-size: 1.25em;\n}\n\n@media only screen and (min-width: 700px) {\n #tom .imageContainer {\n margin: 0 auto;\n flex-direction: row;\n justify-content: space-around;\n width: 75%;\n }\n #tom .imageContainer #img {\n object-fit: cover;\n height: 200px;\n min-width: 200px;\n max-width: 200px;\n background-color: #000;\n }\n}\n/*# sourceMappingURL=Tom.css.map */\n","/*\n* Prefixed by https://autoprefixer.github.io\n* PostCSS: v7.0.29,\n* Autoprefixer: v9.7.6\n* Browsers: last 4 version\n*/\n\n*{\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}","/*\n* Prefixed by https://autoprefixer.github.io\n* PostCSS: v7.0.29,\n* Autoprefixer: v9.7.6\n* Browsers: last 4 version\n*/\n@import url(\"https://fonts.googleapis.com/css2?family=Noto+Sans&family=Playfair+Display:wght@700&display=swap\");\n.App {\n text-align: center;\n background-image: -webkit-gradient(linear, left top, right bottom, from(rgb(2,10,30)),to(rgb(31, 0, 145)));\n background-image: -o-linear-gradient(top left, rgb(2,10,30),rgb(31, 0, 145));\n background-image: linear-gradient(to bottom right,rgb(2,10,30),rgb(31, 0, 145));\n display:-webkit-box;\n display:-ms-flexbox;\n display:flex;\n min-height:100vh;\n -webkit-box-orient:vertical;\n -webkit-box-direction:normal;\n -ms-flex-direction:column;\n flex-direction:column;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding:0;\n margin:0;\n}\n.App:hover{\n cursor:default;\n}\nhr{\n width:100%;\n margin:0;\n}",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file diff --git a/FrontEnd/build/static/js/2.fcbfb6c9.chunk.js b/FrontEnd/build/static/js/2.fcbfb6c9.chunk.js new file mode 100644 index 000000000..2b29d9f85 --- /dev/null +++ b/FrontEnd/build/static/js/2.fcbfb6c9.chunk.js @@ -0,0 +1,3 @@ +/*! For license information please see 2.fcbfb6c9.chunk.js.LICENSE.txt */ +(this.webpackJsonpportfolio=this.webpackJsonpportfolio||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(48)},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t,n){"use strict";n.d(t,"a",(function(){return b}));var r=n(27),i=n(2),o=n.n(i),a=n(0),l=n.n(a);function u(e){return(u="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function p(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0||!Array.isArray(t)&&t?c({},e,t):{}}function b(e){var t=e.forwardedRef,n=d(e,["forwardedRef"]),i=n.icon,o=n.mask,a=n.symbol,l=n.className,u=n.title,s=y(i),h=g("classes",[].concat(p(function(e){var t,n=e.spin,r=e.pulse,i=e.fixedWidth,o=e.inverse,a=e.border,l=e.listItem,u=e.flip,s=e.size,f=e.rotation,d=e.pull,p=(c(t={"fa-spin":n,"fa-pulse":r,"fa-fw":i,"fa-inverse":o,"fa-border":a,"fa-li":l,"fa-flip-horizontal":"horizontal"===u||"both"===u,"fa-flip-vertical":"vertical"===u||"both"===u},"fa-".concat(s),"undefined"!==typeof s&&null!==s),c(t,"fa-rotate-".concat(f),"undefined"!==typeof f&&null!==f&&0!==f),c(t,"fa-pull-".concat(d),"undefined"!==typeof d&&null!==d),c(t,"fa-swap-opacity",e.swapOpacity),t);return Object.keys(p).map((function(e){return p[e]?e:null})).filter((function(e){return e}))}(n)),p(l.split(" ")))),m=g("transform","string"===typeof n.transform?r.b.transform(n.transform):n.transform),x=g("mask",y(o)),k=Object(r.a)(s,f({},h,{},m,{},x,{symbol:a,title:u}));if(!k)return function(){var e;!v&&console&&"function"===typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find icon",s),null;var S=k.abstract,E={ref:t};return Object.keys(n).forEach((function(e){b.defaultProps.hasOwnProperty(e)||(E[e]=n[e])})),w(S[0],E)}b.displayName="FontAwesomeIcon",b.propTypes={border:o.a.bool,className:o.a.string,mask:o.a.oneOfType([o.a.object,o.a.array,o.a.string]),fixedWidth:o.a.bool,inverse:o.a.bool,flip:o.a.oneOf(["horizontal","vertical","both"]),icon:o.a.oneOfType([o.a.object,o.a.array,o.a.string]),listItem:o.a.bool,pull:o.a.oneOf(["right","left"]),pulse:o.a.bool,rotation:o.a.oneOf([0,90,180,270]),size:o.a.oneOf(["lg","xs","sm","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:o.a.bool,symbol:o.a.oneOfType([o.a.bool,o.a.string]),title:o.a.string,transform:o.a.oneOfType([o.a.string,o.a.object]),swapOpacity:o.a.bool},b.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null,swapOpacity:!1};var w=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"===typeof n)return n;var i=(n.children||[]).map((function(n){return e(t,n)})),o=Object.keys(n.attributes||{}).reduce((function(e,t){var r=n.attributes[t];switch(t){case"class":e.attrs.className=r,delete n.attributes.class;break;case"style":e.attrs.style=m(r);break;default:0===t.indexOf("aria-")||0===t.indexOf("data-")?e.attrs[t.toLowerCase()]=r:e.attrs[h(t)]=r}return e}),{attrs:{}}),a=r.style,l=void 0===a?{}:a,u=d(r,["style"]);return o.attrs.style=f({},o.attrs.style,{},l),t.apply(void 0,[n.tag,f({},o.attrs,{},u)].concat(p(i)))}.bind(null,l.a.createElement)},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return a})),n.d(t,"e",(function(){return l})),n.d(t,"f",(function(){return u})),n.d(t,"g",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"i",(function(){return f})),n.d(t,"j",(function(){return d})),n.d(t,"k",(function(){return p}));var r={prefix:"fab",iconName:"css3",icon:[512,512,[],"f13c","M480 32l-64 368-223.3 80L0 400l19.6-94.8h82l-8 40.6L210 390.2l134.1-44.4 18.8-97.1H29.5l16-82h333.7l10.5-52.7H56.3l16.3-82H480z"]},i={prefix:"fab",iconName:"github",icon:[496,512,[],"f09b","M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"]},o={prefix:"fab",iconName:"github-alt",icon:[480,512,[],"f113","M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z"]},a={prefix:"fab",iconName:"html5",icon:[384,512,[],"f13b","M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"]},l={prefix:"fab",iconName:"java",icon:[384,512,[],"f4e4","M277.74 312.9c9.8-6.7 23.4-12.5 23.4-12.5s-38.7 7-77.2 10.2c-47.1 3.9-97.7 4.7-123.1 1.3-60.1-8 33-30.1 33-30.1s-36.1-2.4-80.6 19c-52.5 25.4 130 37 224.5 12.1zm-85.4-32.1c-19-42.7-83.1-80.2 0-145.8C296 53.2 242.84 0 242.84 0c21.5 84.5-75.6 110.1-110.7 162.6-23.9 35.9 11.7 74.4 60.2 118.2zm114.6-176.2c.1 0-175.2 43.8-91.5 140.2 24.7 28.4-6.5 54-6.5 54s62.7-32.4 33.9-72.9c-26.9-37.8-47.5-56.6 64.1-121.3zm-6.1 270.5a12.19 12.19 0 0 1-2 2.6c128.3-33.7 81.1-118.9 19.8-97.3a17.33 17.33 0 0 0-8.2 6.3 70.45 70.45 0 0 1 11-3c31-6.5 75.5 41.5-20.6 91.4zM348 437.4s14.5 11.9-15.9 21.2c-57.9 17.5-240.8 22.8-291.6.7-18.3-7.9 16-19 26.8-21.3 11.2-2.4 17.7-2 17.7-2-20.3-14.3-131.3 28.1-56.4 40.2C232.84 509.4 401 461.3 348 437.4zM124.44 396c-78.7 22 47.9 67.4 148.1 24.5a185.89 185.89 0 0 1-28.2-13.8c-44.7 8.5-65.4 9.1-106 4.5-33.5-3.8-13.9-15.2-13.9-15.2zm179.8 97.2c-78.7 14.8-175.8 13.1-233.3 3.6 0-.1 11.8 9.7 72.4 13.6 92.2 5.9 233.8-3.3 237.1-46.9 0 0-6.4 16.5-76.2 29.7zM260.64 353c-59.2 11.4-93.5 11.1-136.8 6.6-33.5-3.5-11.6-19.7-11.6-19.7-86.8 28.8 48.2 61.4 169.5 25.9a60.37 60.37 0 0 1-21.1-12.8z"]},u={prefix:"fab",iconName:"js",icon:[448,512,[],"f3b8","M0 32v448h448V32H0zm243.8 349.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z"]},c={prefix:"fab",iconName:"linkedin",icon:[448,512,[],"f08c","M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"]},s={prefix:"fab",iconName:"node",icon:[640,512,[],"f419","M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z"]},f={prefix:"fab",iconName:"python",icon:[448,512,[],"f3e2","M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"]},d={prefix:"fab",iconName:"react",icon:[512,512,[],"f41b","M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zM167.2 307.5c5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5 4.6 8.8 9.3 17.5 14.3 26.1zm-30.3-120.3c14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26-6.3-14.9-11.6-29.5-16-43.6zm27.4 68.9c6.6-13.8 13.8-27.3 21.4-40.6s15.8-26.2 24.4-38.9c15-1.1 30.3-1.7 45.9-1.7s31 .6 45.9 1.7c8.5 12.6 16.6 25.5 24.3 38.7s14.9 26.7 21.7 40.4c-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6s-30.9-.5-45.6-1.4c-8.7-12.7-16.9-25.7-24.6-39s-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 10.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zm-149.7-15c25.3 0 45.8-20.5 45.8-45.8s-20.5-45.8-45.8-45.8c-25.3 0-45.8 20.5-45.8 45.8s20.5 45.8 45.8 45.8z"]},p={prefix:"fab",iconName:"sass",icon:[640,512,[],"f41e","M301.84 378.92c-.3.6-.6 1.08 0 0zm249.13-87a131.16 131.16 0 0 0-58 13.5c-5.9-11.9-12-22.3-13-30.1-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.3-6.7-24 2.5-25.29 5.9a122.83 122.83 0 0 0-5.3 19.1c-2.3 11.7-25.79 53.5-39.09 75.3-4.4-8.5-8.1-16-8.9-22-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.29-6.7-24 2.5-25.3 5.9-2.7 11.4-5.3 19.1-33.89 77.3-42.08 95.4c-4.2 9.2-7.8 16.6-10.4 21.6-.4.8-.7 1.3-.9 1.7.3-.5.5-1 .5-.8-2.2 4.3-3.5 6.7-3.5 6.7v.1c-1.7 3.2-3.6 6.1-4.5 6.1-.6 0-1.9-8.4.3-19.9 4.7-24.2 15.8-61.8 15.7-63.1-.1-.7 2.1-7.2-7.3-10.7-9.1-3.3-12.4 2.2-13.2 2.2s-1.4 2-1.4 2 10.1-42.4-19.39-42.4c-18.4 0-44 20.2-56.58 38.5-7.9 4.3-25 13.6-43 23.5-6.9 3.8-14 7.7-20.7 11.4-.5-.5-.9-1-1.4-1.5-35.79-38.2-101.87-65.2-99.07-116.5 1-18.7 7.5-67.8 127.07-127.4 98-48.8 176.35-35.4 189.84-5.6 19.4 42.5-41.89 121.6-143.66 133-38.79 4.3-59.18-10.7-64.28-16.3-5.3-5.9-6.1-6.2-8.1-5.1-3.3 1.8-1.2 7 0 10.1 3 7.9 15.5 21.9 36.79 28.9 18.7 6.1 64.18 9.5 119.17-11.8 61.78-23.8 109.87-90.1 95.77-145.6C386.52 18.32 293-.18 204.57 31.22c-52.69 18.7-109.67 48.1-150.66 86.4-48.69 45.6-56.48 85.3-53.28 101.9 11.39 58.9 92.57 97.3 125.06 125.7-1.6.9-3.1 1.7-4.5 2.5-16.29 8.1-78.18 40.5-93.67 74.7-17.5 38.8 2.9 66.6 16.29 70.4 41.79 11.6 84.58-9.3 107.57-43.6s20.2-79.1 9.6-99.5c-.1-.3-.3-.5-.4-.8 4.2-2.5 8.5-5 12.8-7.5 8.29-4.9 16.39-9.4 23.49-13.3-4 10.8-6.9 23.8-8.4 42.6-1.8 22 7.3 50.5 19.1 61.7 5.2 4.9 11.49 5 15.39 5 13.8 0 20-11.4 26.89-25 8.5-16.6 16-35.9 16-35.9s-9.4 52.2 16.3 52.2c9.39 0 18.79-12.1 23-18.3v.1s.2-.4.7-1.2c1-1.5 1.5-2.4 1.5-2.4v-.3c3.8-6.5 12.1-21.4 24.59-46 16.2-31.8 31.69-71.5 31.69-71.5a201.24 201.24 0 0 0 6.2 25.8c2.8 9.5 8.7 19.9 13.4 30-3.8 5.2-6.1 8.2-6.1 8.2a.31.31 0 0 0 .1.2c-3 4-6.4 8.3-9.9 12.5-12.79 15.2-28 32.6-30 37.6-2.4 5.9-1.8 10.3 2.8 13.7 3.4 2.6 9.4 3 15.69 2.5 11.5-.8 19.6-3.6 23.5-5.4a82.2 82.2 0 0 0 20.19-10.6c12.5-9.2 20.1-22.4 19.4-39.8-.4-9.6-3.5-19.2-7.3-28.2 1.1-1.6 2.3-3.3 3.4-5C434.8 301.72 450.1 270 450.1 270a201.24 201.24 0 0 0 6.2 25.8c2.4 8.1 7.09 17 11.39 25.7-18.59 15.1-30.09 32.6-34.09 44.1-7.4 21.3-1.6 30.9 9.3 33.1 4.9 1 11.9-1.3 17.1-3.5a79.46 79.46 0 0 0 21.59-11.1c12.5-9.2 24.59-22.1 23.79-39.6-.3-7.9-2.5-15.8-5.4-23.4 15.7-6.6 36.09-10.2 62.09-7.2 55.68 6.5 66.58 41.3 64.48 55.8s-13.8 22.6-17.7 25-5.1 3.3-4.8 5.1c.5 2.6 2.3 2.5 5.6 1.9 4.6-.8 29.19-11.8 30.29-38.7 1.6-34-31.09-71.4-89-71.1zm-429.18 144.7c-18.39 20.1-44.19 27.7-55.28 21.3C54.61 451 59.31 421.42 82 400c13.8-13 31.59-25 43.39-32.4 2.7-1.6 6.6-4 11.4-6.9.8-.5 1.2-.7 1.2-.7.9-.6 1.9-1.1 2.9-1.7 8.29 30.4.3 57.2-19.1 78.3zm134.36-91.4c-6.4 15.7-19.89 55.7-28.09 53.6-7-1.8-11.3-32.3-1.4-62.3 5-15.1 15.6-33.1 21.9-40.1 10.09-11.3 21.19-14.9 23.79-10.4 3.5 5.9-12.2 49.4-16.2 59.2zm111 53c-2.7 1.4-5.2 2.3-6.4 1.6-.9-.5 1.1-2.4 1.1-2.4s13.9-14.9 19.4-21.7c3.2-4 6.9-8.7 10.89-13.9 0 .5.1 1 .1 1.6-.13 17.9-17.32 30-25.12 34.8zm85.58-19.5c-2-1.4-1.7-6.1 5-20.7 2.6-5.7 8.59-15.3 19-24.5a36.18 36.18 0 0 1 1.9 10.8c-.1 22.5-16.2 30.9-25.89 34.4z"]}},function(e,t,n){"use strict";function r(e){var t,n,i="";if(e)if("object"===typeof e)if(Array.isArray(e))for(t=0;t=0||(i[n]=e[n]);return i}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";t.a=function(e,t){if(!e)throw new Error("Invariant failed")}},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return y}));var r=n(17),i=n(5),o=n(0),a=n.n(o),l=n(12),u=(n(2),n(1)),c=n(8),s=n(9);a.a.Component;var f=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.min(Math.max(t,e),n)}function i(e){if(e.type)return e;if("#"===e.charAt(0))return i(function(e){e=e.substr(1);var t=new RegExp(".{1,".concat(e.length/3,"}"),"g"),n=e.match(t);return n&&1===n[0].length&&(n=n.map((function(e){return e+e}))),n?"rgb(".concat(n.map((function(e){return parseInt(e,16)})).join(", "),")"):""}(e));var t=e.indexOf("("),n=e.substring(0,t);if(-1===["rgb","rgba","hsl","hsla"].indexOf(n))throw new Error(["Material-UI: unsupported `".concat(e,"` color."),"We support the following formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()."].join("\n"));var r=e.substring(t+1,e.length-1).split(",");return{type:n,values:r=r.map((function(e){return parseFloat(e)}))}}function o(e){var t=e.type,n=e.values;return-1!==t.indexOf("rgb")?n=n.map((function(e,t){return t<3?parseInt(e,10):e})):-1!==t.indexOf("hsl")&&(n[1]="".concat(n[1],"%"),n[2]="".concat(n[2],"%")),"".concat(t,"(").concat(n.join(", "),")")}function a(e,t){var n=l(e),r=l(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function l(e){var t="hsl"===(e=i(e)).type?i(function(e){var t=(e=i(e)).values,n=t[0],r=t[1]/100,a=t[2]/100,l=r*Math.min(a,1-a),u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+n/30)%12;return a-l*Math.max(Math.min(t-3,9-t,1),-1)},c="rgb",s=[Math.round(255*u(0)),Math.round(255*u(8)),Math.round(255*u(4))];return"hsla"===e.type&&(c+="a",s.push(t[3])),o({type:c,values:s})}(e)).values:e.values;return t=t.map((function(e){return(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)})),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function u(e,t){return e=i(e),t=r(t),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),e.values[3]=t,o(e)}function c(e,t){if(e=i(e),t=r(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]*=1-t;return o(e)}function s(e,t){if(e=i(e),t=r(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;return o(e)}n.d(t,"c",(function(){return a})),n.d(t,"b",(function(){return u})),n.d(t,"a",(function(){return c})),n.d(t,"d",(function(){return s}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return x})),n.d(t,"b",(function(){return O})),n.d(t,"d",(function(){return P})),n.d(t,"c",(function(){return m})),n.d(t,"f",(function(){return v})),n.d(t,"e",(function(){return h}));var r=n(1);function i(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,i=e.length;r=0;d--){var p=a[d];"."===p?o(a,d):".."===p?(o(a,d),f++):f&&(o(a,d),f--)}if(!c)for(;f--;f)a.unshift("..");!c||""===a[0]||a[0]&&i(a[0])||a.unshift("");var h=a.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function l(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var u=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"===typeof t||"object"===typeof n){var r=l(t),i=l(n);return r!==t||i!==n?e(r,i):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(9);function s(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,i=t||"/";return n&&"?"!==n&&(i+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(i+="#"===r.charAt(0)?r:"#"+r),i}function m(e,t,n,i){var o;"string"===typeof e?(o=function(e){var t=e||"/",n="",r="",i=t.indexOf("#");-1!==i&&(r=t.substr(i),t=t.substr(0,i));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(r.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),i?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=a(o.pathname,i.pathname)):o.pathname=i.pathname:o.pathname||(o.pathname="/"),o}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&u(e.state,t.state)}function y(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,i){if(null!=e){var o="function"===typeof e?e(t,n):e;"string"===typeof o?"function"===typeof r?r(o,i):i(!0):i(!1!==o)}else i(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,r):n.push(r),f({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=m(e,t,d(),w.location);s.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(w.entries[w.index]=r,f({action:"REPLACE",location:r}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<+~=|^:(),"'`\s])/g,E="undefined"!==typeof CSS&&CSS.escape,T=function(e){return E?E(e):e.replace(S,"\\$1")},O=function(){function e(e,t,n){this.type="style",this.key=void 0,this.isProcessed=!1,this.style=void 0,this.renderer=void 0,this.renderable=void 0,this.options=void 0;var r=n.sheet,i=n.Renderer;this.key=e,this.options=n,this.style=t,r?this.renderer=r.renderer:i&&(this.renderer=new i)}return e.prototype.prop=function(e,t,n){if(void 0===t)return this.style[e];var r=!!n&&n.force;if(!r&&this.style[e]===t)return this;var i=t;n&&!1===n.process||(i=this.options.jss.plugins.onChangeValue(t,e,this));var o=null==i||!1===i,a=e in this.style;if(o&&!a&&!r)return this;var l=o&&a;if(l?delete this.style[e]:this.style[e]=i,this.renderable&&this.renderer)return l?this.renderer.removeProperty(this.renderable,e):this.renderer.setProperty(this.renderable,e,i),this;var u=this.options.sheet;return u&&u.attached,this},e}(),C=function(e){function t(t,n,r){var i;(i=e.call(this,t,n,r)||this).selectorText=void 0,i.id=void 0,i.renderable=void 0;var o=r.selector,a=r.scoped,l=r.sheet,u=r.generateId;return o?i.selectorText=o:!1!==a&&(i.id=u(Object(h.a)(Object(h.a)(i)),l),i.selectorText="."+T(i.id)),i}Object(p.a)(t,e);var n=t.prototype;return n.applyTo=function(e){var t=this.renderer;if(t){var n=this.toJSON();for(var r in n)t.setProperty(e,r,n[r])}return this},n.toJSON=function(){var e={};for(var t in this.style){var n=this.style[t];"object"!==typeof n?e[t]=n:Array.isArray(n)&&(e[t]=w(n))}return e},n.toString=function(e){var t=this.options.sheet,n=!!t&&t.options.link?Object(r.a)({},e,{allowEmpty:!0}):e;return k(this.selectorText,this.style,n)},d(t,[{key:"selector",set:function(e){if(e!==this.selectorText){this.selectorText=e;var t=this.renderer,n=this.renderable;if(n&&t)t.setSelector(n,e)||t.replaceRule(n,this)}},get:function(){return this.selectorText}}]),t}(O),P={onCreateRule:function(e,t,n){return"@"===e[0]||n.parent&&"keyframes"===n.parent.type?null:new C(e,t,n)}},_={indent:1,children:!0},j=/@([\w-]+)/,z=function(){function e(e,t,n){this.type="conditional",this.at=void 0,this.key=void 0,this.query=void 0,this.rules=void 0,this.options=void 0,this.isProcessed=!1,this.renderable=void 0,this.key=e,this.query=n.name;var i=e.match(j);for(var o in this.at=i?i[1]:"unknown",this.options=n,this.rules=new ee(Object(r.a)({},n,{parent:this})),t)this.rules.add(o,t[o]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.indexOf=function(e){return this.rules.indexOf(e)},t.addRule=function(e,t,n){var r=this.rules.add(e,t,n);return r?(this.options.jss.plugins.onProcessRule(r),r):null},t.toString=function(e){if(void 0===e&&(e=_),null==e.indent&&(e.indent=_.indent),null==e.children&&(e.children=_.children),!1===e.children)return this.query+" {}";var t=this.rules.toString(e);return t?this.query+" {\n"+t+"\n}":""},e}(),R=/@media|@supports\s+/,M={onCreateRule:function(e,t,n){return R.test(e)?new z(e,t,n):null}},N={indent:1,children:!0},A=/@keyframes\s+([\w-]+)/,I=function(){function e(e,t,n){this.type="keyframes",this.at="@keyframes",this.key=void 0,this.name=void 0,this.id=void 0,this.rules=void 0,this.options=void 0,this.isProcessed=!1,this.renderable=void 0;var i=e.match(A);i&&i[1]?this.name=i[1]:this.name="noname",this.key=this.type+"-"+this.name,this.options=n;var o=n.scoped,a=n.sheet,l=n.generateId;for(var u in this.id=!1===o?this.name:T(l(this,a)),this.rules=new ee(Object(r.a)({},n,{parent:this})),t)this.rules.add(u,t[u],Object(r.a)({},n,{parent:this}));this.rules.process()}return e.prototype.toString=function(e){if(void 0===e&&(e=N),null==e.indent&&(e.indent=N.indent),null==e.children&&(e.children=N.children),!1===e.children)return this.at+" "+this.id+" {}";var t=this.rules.toString(e);return t&&(t="\n"+t+"\n"),this.at+" "+this.id+" {"+t+"}"},e}(),L=/@keyframes\s+/,F=/\$([\w-]+)/g,D=function(e,t){return"string"===typeof e?e.replace(F,(function(e,n){return n in t?t[n]:e})):e},U=function(e,t,n){var r=e[t],i=D(r,n);i!==r&&(e[t]=i)},V={onCreateRule:function(e,t,n){return"string"===typeof e&&L.test(e)?new I(e,t,n):null},onProcessStyle:function(e,t,n){return"style"===t.type&&n?("animation-name"in e&&U(e,"animation-name",n.keyframes),"animation"in e&&U(e,"animation",n.keyframes),e):e},onChangeValue:function(e,t,n){var r=n.options.sheet;if(!r)return e;switch(t){case"animation":case"animation-name":return D(e,r.keyframes);default:return e}}},W=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i=this.index)t.push(e);else for(var r=0;rn)return void t.splice(r,0,e)},t.reset=function(){this.registry=[]},t.remove=function(e){var t=this.registry.indexOf(e);this.registry.splice(t,1)},t.toString=function(e){for(var t=void 0===e?{}:e,n=t.attached,r=Object(m.a)(t,["attached"]),i="",o=0;o0){var n=function(e,t){for(var n=0;nt.index&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e);if(n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element};if((n=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.attached&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e))&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element.nextSibling}}var r=e.insertionPoint;if(r&&"string"===typeof r){var i=function(e){for(var t=pe(),n=0;nr)&&(n=r);try{if("insertRule"in e)e.insertRule(t,n);else if("appendRule"in e){e.appendRule(t)}}catch(i){return!1}return e.cssRules[n]},ye=function(){function e(e){this.getPropertyValue=ce,this.setProperty=se,this.removeProperty=fe,this.setSelector=de,this.element=void 0,this.sheet=void 0,this.hasInsertedRules=!1,e&&re.add(e),this.sheet=e;var t=this.sheet?this.sheet.options:{},n=t.media,r=t.meta,i=t.element;this.element=i||function(){var e=document.createElement("style");return e.textContent="\n",e}(),this.element.setAttribute("data-jss",""),n&&this.element.setAttribute("media",n),r&&this.element.setAttribute("data-meta",r);var o=me();o&&this.element.setAttribute("nonce",o)}var t=e.prototype;return t.attach=function(){if(!this.element.parentNode&&this.sheet){!function(e,t){var n=t.insertionPoint,r=he(t);if(!1!==r&&r.parent)r.parent.insertBefore(e,r.node);else if(n&&"number"===typeof n.nodeType){var i=n,o=i.parentNode;o&&o.insertBefore(e,i.nextSibling)}else pe().appendChild(e)}(this.element,this.sheet.options);var e=Boolean(this.sheet&&this.sheet.deployed);this.hasInsertedRules&&e&&(this.hasInsertedRules=!1,this.deploy())}},t.detach=function(){var e=this.element.parentNode;e&&e.removeChild(this.element)},t.deploy=function(){var e=this.sheet;e&&(e.options.link?this.insertRules(e.rules):this.element.textContent="\n"+e.toString()+"\n")},t.insertRules=function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=e.baseClasses,n=e.newClasses;e.Component;if(!n)return t;var i=Object(r.a)({},t);return Object.keys(n).forEach((function(e){n[e]&&(i[e]="".concat(t[e]," ").concat(n[e]))})),i}var Se={set:function(e,t,n,r){var i=e.get(t);i||(i=new Map,e.set(t,i)),i.set(n,r)},get:function(e,t,n){var r=e.get(t);return r?r.get(n):void 0},delete:function(e,t,n){e.get(t).delete(n)}};var Ee=a.a.createContext(null);function Te(){return a.a.useContext(Ee)}var Oe="function"===typeof Symbol&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__",Ce=["checked","disabled","error","focused","focusVisible","required","expanded","selected"];var Pe=Date.now(),_e="fnValues"+Pe,je="fnStyle"+ ++Pe;var ze=function(){return{onCreateRule:function(e,t,n){if("function"!==typeof t)return null;var r=g(e,{},n);return r[je]=t,r},onProcessStyle:function(e,t){if(_e in t||je in t)return e;var n={};for(var r in e){var i=e[r];"function"===typeof i&&(delete e[r],n[r]=i)}return t[_e]=n,e},onUpdate:function(e,t,n,r){var i=t,o=i[je];o&&(i.style=o(e)||{});var a=i[_e];if(a)for(var l in a)i.prop(l,a[l](e),r)}}},Re="@global",Me=function(){function e(e,t,n){for(var i in this.type="global",this.at=Re,this.rules=void 0,this.options=void 0,this.key=void 0,this.isProcessed=!1,this.key=e,this.options=n,this.rules=new ee(Object(r.a)({},n,{parent:this})),t)this.rules.add(i,t[i]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.addRule=function(e,t,n){var r=this.rules.add(e,t,n);return this.options.jss.plugins.onProcessRule(r),r},t.indexOf=function(e){return this.rules.indexOf(e)},t.toString=function(){return this.rules.toString()},e}(),Ne=function(){function e(e,t,n){this.type="global",this.at=Re,this.options=void 0,this.rule=void 0,this.isProcessed=!1,this.key=void 0,this.key=e,this.options=n;var i=e.substr("@global ".length);this.rule=n.jss.createRule(i,t,Object(r.a)({},n,{parent:this}))}return e.prototype.toString=function(e){return this.rule?this.rule.toString(e):""},e}(),Ae=/\s*,\s*/g;function Ie(e,t){for(var n=e.split(Ae),r="",i=0;i-1){var i=Lt[e];if(!Array.isArray(i))return ft+xt(i)in t&&dt+i;if(!r)return!1;for(var o=0;ot?1:-1:e.length-t.length};return{onProcessStyle:function(t,n){if("style"!==n.type)return t;for(var r={},i=Object.keys(t).sort(e),o=0;o0&&void 0!==arguments[0]?arguments[0]:{},t=e.disableGlobal,n=void 0!==t&&t,r=e.productionPrefix,i=void 0===r?"jss":r,o=e.seed,a=void 0===o?"":o,l=""===a?"":"".concat(a,"-"),u=0;return function(e,t){u+=1;var r=t.options.name;if(r&&0===r.indexOf("Mui")&&!t.options.link&&!n){if(-1!==Ce.indexOf(e.key))return"Mui-".concat(e.key);var o="".concat(l).concat(r,"-").concat(e.key);return t.options.theme[Oe]&&""===a?"".concat(o,"-").concat(u):o}return"".concat(l).concat(i).concat(u)}}(),jss:nn,sheetsCache:null,sheetsManager:new Map,sheetsRegistry:null},on=a.a.createContext(rn);var an=-1e9;function ln(){return an+=1}var un=n(23);function cn(e){return e&&"object"===Object(un.a)(e)&&e.constructor===Object}function sn(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{clone:!0},i=n.clone?Object(r.a)({},e):e;return cn(e)&&cn(t)&&Object.keys(t).forEach((function(r){"__proto__"!==r&&(cn(t[r])&&r in e?i[r]=sn(e[r],t[r],n):i[r]=t[r])})),i}function fn(e){var t="function"===typeof e;return{create:function(n,i){var o;try{o=t?e(n):e}catch(u){throw u}if(!i||!n.overrides||!n.overrides[i])return o;var a=n.overrides[i],l=Object(r.a)({},o);return Object.keys(a).forEach((function(e){l[e]=sn(l[e],a[e])})),l},options:{}}}var dn={};function pn(e,t,n){var r=e.state;if(e.stylesOptions.disableGeneration)return t||{};r.cacheClasses||(r.cacheClasses={value:null,lastProp:null,lastJSS:{}});var i=!1;return r.classes!==r.cacheClasses.lastJSS&&(r.cacheClasses.lastJSS=r.classes,i=!0),t!==r.cacheClasses.lastProp&&(r.cacheClasses.lastProp=t,i=!0),i&&(r.cacheClasses.value=ke({baseClasses:r.cacheClasses.lastJSS,newClasses:t,Component:n})),r.cacheClasses.value}function hn(e,t){var n=e.state,i=e.theme,o=e.stylesOptions,a=e.stylesCreator,l=e.name;if(!o.disableGeneration){var u=Se.get(o.sheetsManager,a,i);u||(u={refs:0,staticSheet:null,dynamicStyles:null},Se.set(o.sheetsManager,a,i,u));var c=Object(r.a)({},a.options,{},o,{theme:i,flip:"boolean"===typeof o.flip?o.flip:"rtl"===i.direction});c.generateId=c.serverGenerateClassName||c.generateClassName;var s=o.sheetsRegistry;if(0===u.refs){var f;o.sheetsCache&&(f=Se.get(o.sheetsCache,a,i));var d=a.create(i,l);f||((f=o.jss.createStyleSheet(d,Object(r.a)({link:!1},c))).attach(),o.sheetsCache&&Se.set(o.sheetsCache,a,i,f)),s&&s.add(f),u.staticSheet=f,u.dynamicStyles=function e(t){var n=null;for(var r in t){var i=t[r],o=typeof i;if("function"===o)n||(n={}),n[r]=i;else if("object"===o&&null!==i&&!Array.isArray(i)){var a=e(i);a&&(n||(n={}),n[r]=a)}}return n}(d)}if(u.dynamicStyles){var p=o.jss.createStyleSheet(u.dynamicStyles,Object(r.a)({link:!0},c));p.update(t),p.attach(),n.dynamicSheet=p,n.classes=ke({baseClasses:u.staticSheet.classes,newClasses:p.classes}),s&&s.add(p)}else n.classes=u.staticSheet.classes;u.refs+=1}}function mn(e,t){var n=e.state;n.dynamicSheet&&n.dynamicSheet.update(t)}function vn(e){var t=e.state,n=e.theme,r=e.stylesOptions,i=e.stylesCreator;if(!r.disableGeneration){var o=Se.get(r.sheetsManager,i,n);o.refs-=1;var a=r.sheetsRegistry;0===o.refs&&(Se.delete(r.sheetsManager,i,n),r.jss.removeStyleSheet(o.staticSheet),a&&a.remove(o.staticSheet)),t.dynamicSheet&&(r.jss.removeStyleSheet(t.dynamicSheet),a&&a.remove(t.dynamicSheet))}}function yn(e,t){var n,r=a.a.useRef([]),i=a.a.useMemo((function(){return{}}),t);r.current!==i&&(r.current=i,n=e()),a.a.useEffect((function(){return function(){n&&n()}}),[i])}function gn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.name,o=t.classNamePrefix,l=t.Component,u=t.defaultTheme,c=void 0===u?dn:u,s=Object(i.a)(t,["name","classNamePrefix","Component","defaultTheme"]),f=fn(e),d=n||o||"makeStyles";f.options={index:ln(),name:n,meta:d,classNamePrefix:d};var p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Te()||c,i=Object(r.a)({},a.a.useContext(on),{},s),o=a.a.useRef(),u=a.a.useRef();yn((function(){var r={name:n,state:{},stylesCreator:f,stylesOptions:i,theme:t};return hn(r,e),u.current=!1,o.current=r,function(){vn(r)}}),[t,f]),a.a.useEffect((function(){u.current&&mn(o.current,e),u.current=!0}));var d=pn(o.current,e.classes,l);return d};return p}function bn(e){var t=e.theme,n=e.name,r=e.props;if(!t||!t.props||!t.props[n])return r;var i,o=t.props[n];for(i in o)void 0===r[i]&&(r[i]=o[i]);return r}var wn=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){var o=t.defaultTheme,l=t.withTheme,c=void 0!==l&&l,s=t.name,f=Object(i.a)(t,["defaultTheme","withTheme","name"]);var d=s,p=gn(e,Object(r.a)({defaultTheme:o,Component:n,name:s||n.displayName,classNamePrefix:d},f)),h=a.a.forwardRef((function(e,t){e.classes;var l,u=e.innerRef,f=Object(i.a)(e,["classes","innerRef"]),d=p(Object(r.a)({},n.defaultProps,{},e)),h=f;return("string"===typeof s||c)&&(l=Te()||o,s&&(h=bn({theme:l,name:s,props:f})),c&&!h.theme&&(h.theme=l)),a.a.createElement(n,Object(r.a)({ref:u||t,classes:d},h))}));return u()(h,n),h}};function xn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var kn=["xs","sm","md","lg","xl"];function Sn(e){var t=e.values,n=void 0===t?{xs:0,sm:600,md:960,lg:1280,xl:1920}:t,o=e.unit,a=void 0===o?"px":o,l=e.step,u=void 0===l?5:l,c=Object(i.a)(e,["values","unit","step"]);function s(e){var t="number"===typeof n[e]?n[e]:e;return"@media (min-width:".concat(t).concat(a,")")}function f(e,t){var r=kn.indexOf(t);return r===kn.length-1?s(e):"@media (min-width:".concat("number"===typeof n[e]?n[e]:e).concat(a,") and ")+"(max-width:".concat((-1!==r&&"number"===typeof n[kn[r+1]]?n[kn[r+1]]:t)-u/100).concat(a,")")}return Object(r.a)({keys:kn,values:n,up:s,down:function(e){var t=kn.indexOf(e)+1,r=n[kn[t]];return t===kn.length?s("xs"):"@media (max-width:".concat(("number"===typeof r&&t>0?r:e)-u/100).concat(a,")")},between:f,only:function(e){return f(e,e)},width:function(e){return n[e]}},c)}function En(e,t,n){var i;return Object(r.a)({gutters:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object(r.a)({paddingLeft:t(2),paddingRight:t(2)},n,xn({},e.up("sm"),Object(r.a)({paddingLeft:t(3),paddingRight:t(3)},n[e.up("sm")])))},toolbar:(i={minHeight:56},xn(i,"".concat(e.up("xs")," and (orientation: landscape)"),{minHeight:48}),xn(i,e.up("sm"),{minHeight:64}),i)},n)}var Tn={black:"#000",white:"#fff"},On={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#d5d5d5",A200:"#aaaaaa",A400:"#303030",A700:"#616161"},Cn={50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",A100:"#8c9eff",A200:"#536dfe",A400:"#3d5afe",A700:"#304ffe"},Pn={50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",A100:"#ff80ab",A200:"#ff4081",A400:"#f50057",A700:"#c51162"},_n={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},jn={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},zn={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Rn={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Mn=n(11),Nn={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.54)",disabled:"rgba(0, 0, 0, 0.38)",hint:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:Tn.white,default:On[50]},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},An={text:{primary:Tn.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",hint:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:On[800],default:"#303030"},action:{active:Tn.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function In(e,t,n,r){e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:"light"===t?e.light=Object(Mn.d)(e.main,r):"dark"===t&&(e.dark=Object(Mn.a)(e.main,1.5*r)))}function Ln(e){var t=e.primary,n=void 0===t?{light:Cn[300],main:Cn[500],dark:Cn[700]}:t,o=e.secondary,a=void 0===o?{light:Pn.A200,main:Pn.A400,dark:Pn.A700}:o,l=e.error,u=void 0===l?{light:_n[300],main:_n[500],dark:_n[700]}:l,c=e.warning,s=void 0===c?{light:jn[300],main:jn[500],dark:jn[700]}:c,f=e.info,d=void 0===f?{light:zn[300],main:zn[500],dark:zn[700]}:f,p=e.success,h=void 0===p?{light:Rn[300],main:Rn[500],dark:Rn[700]}:p,m=e.type,v=void 0===m?"light":m,y=e.contrastThreshold,g=void 0===y?3:y,b=e.tonalOffset,w=void 0===b?.2:b,x=Object(i.a)(e,["primary","secondary","error","warning","info","success","type","contrastThreshold","tonalOffset"]);function k(e){return Object(Mn.c)(e,An.text.primary)>=g?An.text.primary:Nn.text.primary}var S=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:300,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:700;if(!(e=Object(r.a)({},e)).main&&e[t]&&(e.main=e[t]),!e.main)throw new Error(["Material-UI: the color provided to augmentColor(color) is invalid.","The color object needs to have a `main` property or a `".concat(t,"` property.")].join("\n"));if("string"!==typeof e.main)throw new Error(["Material-UI: the color provided to augmentColor(color) is invalid.","`color.main` should be a string, but `".concat(JSON.stringify(e.main),"` was provided instead."),"","Did you intend to use one of the following approaches?","",'import {\xa0green } from "@material-ui/core/colors";',"","const theme1 = createMuiTheme({ palette: {"," primary: green,","} });","","const theme2 = createMuiTheme({ palette: {"," primary: { main: green[500] },","} });"].join("\n"));return In(e,"light",n,w),In(e,"dark",i,w),e.contrastText||(e.contrastText=k(e.main)),e},E={dark:An,light:Nn};return sn(Object(r.a)({common:Tn,type:v,primary:S(n),secondary:S(a,"A400","A200","A700"),error:S(u),warning:S(s),info:S(d),success:S(h),grey:On,contrastThreshold:g,getContrastText:k,augmentColor:S,tonalOffset:w},E[v]),x)}function Fn(e){return Math.round(1e5*e)/1e5}var Dn={textTransform:"uppercase"};function Un(e,t){var n="function"===typeof t?t(e):t,o=n.fontFamily,a=void 0===o?'"Roboto", "Helvetica", "Arial", sans-serif':o,l=n.fontSize,u=void 0===l?14:l,c=n.fontWeightLight,s=void 0===c?300:c,f=n.fontWeightRegular,d=void 0===f?400:f,p=n.fontWeightMedium,h=void 0===p?500:p,m=n.fontWeightBold,v=void 0===m?700:m,y=n.htmlFontSize,g=void 0===y?16:y,b=n.allVariants,w=n.pxToRem,x=Object(i.a)(n,["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"]);var k=u/14,S=w||function(e){return"".concat(e/g*k,"rem")},E=function(e,t,n,i,o){return Object(r.a)({fontFamily:a,fontWeight:e,fontSize:S(t),lineHeight:n},'"Roboto", "Helvetica", "Arial", sans-serif'===a?{letterSpacing:"".concat(Fn(i/t),"em")}:{},{},o,{},b)},T={h1:E(s,96,1.167,-1.5),h2:E(s,60,1.2,-.5),h3:E(d,48,1.167,0),h4:E(d,34,1.235,.25),h5:E(d,24,1.334,0),h6:E(h,20,1.6,.15),subtitle1:E(d,16,1.75,.15),subtitle2:E(h,14,1.57,.1),body1:E(d,16,1.5,.15),body2:E(d,14,1.43,.15),button:E(h,14,1.75,.4,Dn),caption:E(d,12,1.66,.4),overline:E(d,12,2.66,1,Dn)};return sn(Object(r.a)({htmlFontSize:g,pxToRem:S,round:Fn,fontFamily:a,fontSize:u,fontWeightLight:s,fontWeightRegular:d,fontWeightMedium:h,fontWeightBold:v},T),x,{clone:!1})}function Vn(){return["".concat(arguments.length<=0?void 0:arguments[0],"px ").concat(arguments.length<=1?void 0:arguments[1],"px ").concat(arguments.length<=2?void 0:arguments[2],"px ").concat(arguments.length<=3?void 0:arguments[3],"px rgba(0,0,0,").concat(.2,")"),"".concat(arguments.length<=4?void 0:arguments[4],"px ").concat(arguments.length<=5?void 0:arguments[5],"px ").concat(arguments.length<=6?void 0:arguments[6],"px ").concat(arguments.length<=7?void 0:arguments[7],"px rgba(0,0,0,").concat(.14,")"),"".concat(arguments.length<=8?void 0:arguments[8],"px ").concat(arguments.length<=9?void 0:arguments[9],"px ").concat(arguments.length<=10?void 0:arguments[10],"px ").concat(arguments.length<=11?void 0:arguments[11],"px rgba(0,0,0,").concat(.12,")")].join(",")}var Wn=["none",Vn(0,2,1,-1,0,1,1,0,0,1,3,0),Vn(0,3,1,-2,0,2,2,0,0,1,5,0),Vn(0,3,3,-2,0,3,4,0,0,1,8,0),Vn(0,2,4,-1,0,4,5,0,0,1,10,0),Vn(0,3,5,-1,0,5,8,0,0,1,14,0),Vn(0,3,5,-1,0,6,10,0,0,1,18,0),Vn(0,4,5,-2,0,7,10,1,0,2,16,1),Vn(0,5,5,-3,0,8,10,1,0,3,14,2),Vn(0,5,6,-3,0,9,12,1,0,3,16,2),Vn(0,6,6,-3,0,10,14,1,0,4,18,3),Vn(0,6,7,-4,0,11,15,1,0,4,20,3),Vn(0,7,8,-4,0,12,17,2,0,5,22,4),Vn(0,7,8,-4,0,13,19,2,0,5,24,4),Vn(0,7,9,-4,0,14,21,2,0,5,26,4),Vn(0,8,9,-5,0,15,22,2,0,6,28,5),Vn(0,8,10,-5,0,16,24,2,0,6,30,5),Vn(0,8,11,-5,0,17,26,2,0,6,32,5),Vn(0,9,11,-5,0,18,28,2,0,7,34,6),Vn(0,9,12,-6,0,19,29,2,0,7,36,6),Vn(0,10,13,-6,0,20,31,3,0,8,38,7),Vn(0,10,13,-6,0,21,33,3,0,8,40,7),Vn(0,10,14,-6,0,22,35,3,0,8,42,7),Vn(0,11,14,-7,0,23,36,3,0,9,44,8),Vn(0,11,15,-7,0,24,38,3,0,9,46,8)],$n={borderRadius:4},Hn=n(37);var Bn=n(38);function Qn(e,t){return Object(Hn.a)(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(u){i=!0,o=u}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}}(e,t)||Object(Bn.a)()}var qn=function(e,t){return t?sn(e,t,{clone:!1}):e},Kn={xs:0,sm:600,md:960,lg:1280,xl:1920},Yn={keys:["xs","sm","md","lg","xl"],up:function(e){return"@media (min-width:".concat(Kn[e],"px)")}};var Xn={m:"margin",p:"padding"},Gn={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},Jn={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},Zn=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}((function(e){if(e.length>2){if(!Jn[e])return[e];e=Jn[e]}var t=Qn(e.split(""),2),n=t[0],r=t[1],i=Xn[n],o=Gn[r]||"";return Array.isArray(o)?o.map((function(e){return i+e})):[i+o]})),er=["m","mt","mr","mb","ml","mx","my","p","pt","pr","pb","pl","px","py","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY"];function tr(e){var t=e.spacing||8;return"number"===typeof t?function(e){return t*e}:Array.isArray(t)?function(e){return t[e]}:"function"===typeof t?t:function(){}}function nr(e,t){return function(n){return e.reduce((function(e,r){return e[r]=function(e,t){if("string"===typeof t)return t;var n=e(Math.abs(t));return t>=0?n:"number"===typeof n?-n:"-".concat(n)}(t,n),e}),{})}}function rr(e){var t=tr(e.theme);return Object.keys(e).map((function(n){if(-1===er.indexOf(n))return null;var r=nr(Zn(n),t),i=e[n];return function(e,t,n){if(Array.isArray(t)){var r=e.theme.breakpoints||Yn;return t.reduce((function(e,i,o){return e[r.up(r.keys[o])]=n(t[o]),e}),{})}if("object"===Object(un.a)(t)){var i=e.theme.breakpoints||Yn;return Object.keys(t).reduce((function(e,r){return e[i.up(r)]=n(t[r]),e}),{})}return n(t)}(e,i,r)})).reduce(qn,{})}rr.propTypes={},rr.filterProps=er;function ir(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;if(e.mui)return e;var t=tr({spacing:e}),n=function(){for(var e=arguments.length,n=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:["all"],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.duration,r=void 0===n?ar.standard:n,o=t.easing,a=void 0===o?or.easeInOut:o,l=t.delay,u=void 0===l?0:l;Object(i.a)(t,["duration","easing","delay"]);return(Array.isArray(e)?e:[e]).map((function(e){return"".concat(e," ").concat("string"===typeof r?r:lr(r)," ").concat(a," ").concat("string"===typeof u?u:lr(u))})).join(",")},getAutoHeightDuration:function(e){if(!e)return 0;var t=e/36;return Math.round(10*(4+15*Math.pow(t,.25)+t/5))}},cr={mobileStepper:1e3,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};var sr=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.breakpoints,n=void 0===t?{}:t,r=e.mixins,o=void 0===r?{}:r,a=e.palette,l=void 0===a?{}:a,u=e.spacing,c=e.typography,s=void 0===c?{}:c,f=Object(i.a)(e,["breakpoints","mixins","palette","spacing","typography"]),d=Ln(l),p=Sn(n),h=ir(u),m=sn({breakpoints:p,direction:"ltr",mixins:En(p,h,o),overrides:{},palette:d,props:{},shadows:Wn,typography:Un(d,s),spacing:h,shape:$n,transitions:ur,zIndex:cr},f),v=arguments.length,y=new Array(v>1?v-1:0),g=1;ge.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1;i--){var o=n[i],a=(o.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(a)>-1&&(r=o)}return v.head.insertBefore(t,r),e}}function q(){for(var e=12,t="";e-- >0;)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return t}function K(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Y(e){return Object.keys(e||{}).reduce((function(t,n){return t+"".concat(n,": ").concat(e[n],";")}),"")}function X(e){return e.size!==B.size||e.x!==B.x||e.y!==B.y||e.rotate!==B.rotate||e.flipX||e.flipY}function G(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth,i={transform:"translate(".concat(n/2," 256)")},o="translate(".concat(32*t.x,", ").concat(32*t.y,") "),a="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),l="rotate(".concat(t.rotate," 0 0)");return{outer:i,inner:{transform:"".concat(o," ").concat(a," ").concat(l)},path:{transform:"translate(".concat(r/2*-1," -256)")}}}var J={x:0,y:0,width:"100%",height:"100%"};function Z(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function ee(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,o=e.iconName,a=e.transform,u=e.symbol,c=e.title,s=e.maskId,f=e.titleId,d=e.extra,p=e.watchable,h=void 0!==p&&p,m=r.found?r:n,v=m.width,y=m.height,g="fa-w-".concat(Math.ceil(v/y*16)),b=[E.replacementClass,o?"".concat(E.familyPrefix,"-").concat(o):"",g].filter((function(e){return-1===d.classes.indexOf(e)})).concat(d.classes).join(" "),w={children:[],attributes:l({},d.attributes,{"data-prefix":i,"data-icon":o,class:b,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(v," ").concat(y)})};h&&(w.attributes["data-fa-i2svg"]=""),c&&w.children.push({tag:"title",attributes:{id:w.attributes["aria-labelledby"]||"title-".concat(f||q())},children:[c]});var x=l({},w,{prefix:i,iconName:o,main:n,mask:r,maskId:s,transform:a,symbol:u,styles:d.styles}),k=r.found&&n.found?function(e){var t,n=e.children,r=e.attributes,i=e.main,o=e.mask,a=e.maskId,u=e.transform,c=i.width,s=i.icon,f=o.width,d=o.icon,p=G({transform:u,containerWidth:f,iconWidth:c}),h={tag:"rect",attributes:l({},J,{fill:"white"})},m=s.children?{children:s.children.map(Z)}:{},v={tag:"g",attributes:l({},p.inner),children:[Z(l({tag:s.tag,attributes:l({},s.attributes,p.path)},m))]},y={tag:"g",attributes:l({},p.outer),children:[v]},g="mask-".concat(a||q()),b="clip-".concat(a||q()),w={tag:"mask",attributes:l({},J,{id:g,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[h,y]},x={tag:"defs",children:[{tag:"clipPath",attributes:{id:b},children:(t=d,"g"===t.tag?t.children:[t])},w]};return n.push(x,{tag:"rect",attributes:l({fill:"currentColor","clip-path":"url(#".concat(b,")"),mask:"url(#".concat(g,")")},J)}),{children:n,attributes:r}}(x):function(e){var t=e.children,n=e.attributes,r=e.main,i=e.transform,o=Y(e.styles);if(o.length>0&&(n.style=o),X(i)){var a=G({transform:i,containerWidth:r.width,iconWidth:r.width});t.push({tag:"g",attributes:l({},a.outer),children:[{tag:"g",attributes:l({},a.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:l({},r.icon.attributes,a.path)}]}]})}else t.push(r.icon);return{children:t,attributes:n}}(x),S=k.children,T=k.attributes;return x.children=S,x.attributes=T,u?function(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,o=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:l({},i,{id:!0===o?"".concat(t,"-").concat(E.familyPrefix,"-").concat(n):o}),children:r}]}]}(x):function(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,o=e.styles,a=e.transform;if(X(a)&&n.found&&!r.found){var u={x:n.width/n.height/2,y:.5};i.style=Y(l({},o,{"transform-origin":"".concat(u.x+a.x/16,"em ").concat(u.y+a.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}(x)}var te=function(){},ne=(E.measurePerformance&&y&&y.mark&&y.measure,function(e,t,n,r){var i,o,a,l=Object.keys(e),u=l.length,c=void 0!==r?function(e,t){return function(n,r,i,o){return e.call(t,n,r,i,o)}}(t,r):t;for(void 0===n?(i=1,a=e[l[0]]):(i=0,a=n);i2&&void 0!==arguments[2]?arguments[2]:{},r=n.skipHooks,i=void 0!==r&&r,o=Object.keys(t).reduce((function(e,n){var r=t[n];return!!r.icon?e[r.iconName]=r.icon:e[n]=r,e}),{});"function"!==typeof O.hooks.addPack||i?O.styles[e]=l({},O.styles[e]||{},o):O.hooks.addPack(e,o),"fas"===e&&re("fa",t)}var ie=O.styles,oe=O.shims,ae=function(){var e=function(e){return ne(ie,(function(t,n,r){return t[r]=ne(n,e,{}),t}),{})};e((function(e,t,n){return t[3]&&(e[t[3]]=n),e})),e((function(e,t,n){var r=t[2];return e[n]=n,r.forEach((function(t){e[t]=n})),e}));var t="far"in ie;ne(oe,(function(e,n){var r=n[0],i=n[1],o=n[2];return"far"!==i||t||(i="fas"),e[r]={prefix:i,iconName:o},e}),{})};ae();O.styles;function le(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}function ue(e){var t=e.tag,n=e.attributes,r=void 0===n?{}:n,i=e.children,o=void 0===i?[]:i;return"string"===typeof e?K(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce((function(t,n){return t+"".concat(n,'="').concat(K(e[n]),'" ')}),"").trim()}(r),">").concat(o.map(ue).join(""),"")}var ce=function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce((function(e,t){var n=t.toLowerCase().split("-"),r=n[0],i=n.slice(1).join("-");if(r&&"h"===i)return e.flipX=!0,e;if(r&&"v"===i)return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case"grow":e.size=e.size+i;break;case"shrink":e.size=e.size-i;break;case"left":e.x=e.x-i;break;case"right":e.x=e.x+i;break;case"up":e.y=e.y-i;break;case"down":e.y=e.y+i;break;case"rotate":e.rotate=e.rotate+i}return e}),t):t};function se(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}se.prototype=Object.create(Error.prototype),se.prototype.constructor=se;var fe={fill:"currentColor"},de={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},pe={tag:"path",attributes:l({},fe,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},he=l({},de,{attributeName:"opacity"});l({},fe,{cx:"256",cy:"364",r:"28"}),l({},de,{attributeName:"r",values:"28;14;28;28;14;28;"}),l({},he,{values:"1;0;1;1;0;1;"}),l({},fe,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),l({},he,{values:"1;0;0;0;0;1;"}),l({},fe,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),l({},he,{values:"0;0;1;1;0;0;"}),O.styles;function me(e){var t=e[0],n=e[1],r=u(e.slice(4),1)[0];return{found:!0,width:t,height:n,icon:Array.isArray(r)?{tag:"g",attributes:{class:"".concat(E.familyPrefix,"-").concat(x.GROUP)},children:[{tag:"path",attributes:{class:"".concat(E.familyPrefix,"-").concat(x.SECONDARY),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(E.familyPrefix,"-").concat(x.PRIMARY),fill:"currentColor",d:r[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:r}}}}O.styles;function ve(){var e="svg-inline--fa",t=E.familyPrefix,n=E.replacementClass,r='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';if("fa"!==t||n!==e){var i=new RegExp("\\.".concat("fa","\\-"),"g"),o=new RegExp("\\--".concat("fa","\\-"),"g"),a=new RegExp("\\.".concat(e),"g");r=r.replace(i,".".concat(t,"-")).replace(o,"--".concat(t,"-")).replace(a,".".concat(n))}return r}function ye(){E.autoAddCss&&!ke&&(Q(ve()),ke=!0)}function ge(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return ue(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(g){var t=v.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function be(e){var t=e.prefix,n=void 0===t?"fa":t,r=e.iconName;if(r)return le(xe.definitions,n,r)||le(O.styles,n,r)}var we,xe=new(function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var t,n,r;return t=e,(n=[{key:"add",value:function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,r=void 0===n?B:n,i=t.symbol,o=void 0!==i&&i,a=t.mask,u=void 0===a?null:a,c=t.maskId,s=void 0===c?null:c,f=t.title,d=void 0===f?null:f,p=t.titleId,h=void 0===p?null:p,m=t.classes,v=void 0===m?[]:m,y=t.attributes,g=void 0===y?{}:y,b=t.styles,w=void 0===b?{}:b;if(e){var x=e.prefix,k=e.iconName,S=e.icon;return ge(l({type:"icon"},e),(function(){return ye(),E.autoA11y&&(d?g["aria-labelledby"]="".concat(E.replacementClass,"-title-").concat(h||q()):(g["aria-hidden"]="true",g.focusable="false")),ee({icons:{main:me(S),mask:u?me(u.icon):{found:!1,width:null,height:null,icon:{}}},prefix:x,iconName:k,transform:l({},B,r),symbol:o,title:d,maskId:s,titleId:h,extra:{attributes:g,styles:w,classes:v}})}))}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(e||{}).icon?e:be(e||{}),r=t.mask;return r&&(r=(r||{}).icon?r:be(r||{})),we(n,l({},t,{mask:r}))})}).call(this,n(24),n(55).setImmediate)},function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},function(e,t,n){var r=n(61);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=d;var i=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,a=0,l="",s=t&&t.delimiter||"/";null!=(n=i.exec(e));){var f=n[0],d=n[1],p=n.index;if(l+=e.slice(a,p),a=p+f.length,d)l+=d[1];else{var h=e[a],m=n[2],v=n[3],y=n[4],g=n[5],b=n[6],w=n[7];l&&(r.push(l),l="");var x=null!=m&&null!=h&&h!==m,k="+"===b||"*"===b,S="?"===b||"*"===b,E=n[2]||s,T=y||g;r.push({name:v||o++,prefix:m||"",delimiter:E,optional:S,repeat:k,partial:x,asterisk:!!w,pattern:T?c(T):w?".*":"[^"+u(E)+"]+?"})}}return aj.length&&j.push(e)}function M(e,t,n){return null==e?0:function e(t,n,r,i){var l=typeof t;"undefined"!==l&&"boolean"!==l||(t=null);var u=!1;if(null===t)u=!0;else switch(l){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case o:case a:u=!0}}if(u)return r(i,t,""===n?"."+N(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c