diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index be7508be5..000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,121 +0,0 @@ -pipeline { - - agent any -/* - tools { - maven "maven3" - } -*/ - environment { - NEXUS_VERSION = "nexus3" - NEXUS_PROTOCOL = "http" - NEXUS_URL = "172.31.40.209:8081" - NEXUS_REPOSITORY = "vprofile-release" - NEXUS_REPO_ID = "vprofile-release" - NEXUS_CREDENTIAL_ID = "nexuslogin" - ARTVERSION = "${env.BUILD_ID}" - } - - stages{ - - stage('BUILD'){ - steps { - sh 'mvn clean install -DskipTests' - } - post { - success { - echo 'Now Archiving...' - archiveArtifacts artifacts: '**/target/*.war' - } - } - } - - stage('UNIT TEST'){ - steps { - sh 'mvn test' - } - } - - stage('INTEGRATION TEST'){ - steps { - sh 'mvn verify -DskipUnitTests' - } - } - - stage ('CODE ANALYSIS WITH CHECKSTYLE'){ - steps { - sh 'mvn checkstyle:checkstyle' - } - post { - success { - echo 'Generated Analysis Result' - } - } - } - - stage('CODE ANALYSIS with SONARQUBE') { - - environment { - scannerHome = tool 'sonarscanner4' - } - - steps { - withSonarQubeEnv('sonar-pro') { - sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ - -Dsonar.projectName=vprofile-repo \ - -Dsonar.projectVersion=1.0 \ - -Dsonar.sources=src/ \ - -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ - -Dsonar.junit.reportsPath=target/surefire-reports/ \ - -Dsonar.jacoco.reportsPath=target/jacoco.exec \ - -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' - } - - timeout(time: 10, unit: 'MINUTES') { - waitForQualityGate abortPipeline: true - } - } - } - - stage("Publish to Nexus Repository Manager") { - steps { - script { - pom = readMavenPom file: "pom.xml"; - filesByGlob = findFiles(glob: "target/*.${pom.packaging}"); - echo "${filesByGlob[0].name} ${filesByGlob[0].path} ${filesByGlob[0].directory} ${filesByGlob[0].length} ${filesByGlob[0].lastModified}" - artifactPath = filesByGlob[0].path; - artifactExists = fileExists artifactPath; - if(artifactExists) { - echo "*** File: ${artifactPath}, group: ${pom.groupId}, packaging: ${pom.packaging}, version ${pom.version} ARTVERSION"; - nexusArtifactUploader( - nexusVersion: NEXUS_VERSION, - protocol: NEXUS_PROTOCOL, - nexusUrl: NEXUS_URL, - groupId: pom.groupId, - version: ARTVERSION, - repository: NEXUS_REPOSITORY, - credentialsId: NEXUS_CREDENTIAL_ID, - artifacts: [ - [artifactId: pom.artifactId, - classifier: '', - file: artifactPath, - type: pom.packaging], - [artifactId: pom.artifactId, - classifier: '', - file: "pom.xml", - type: "pom"] - ] - ); - } - else { - error "*** File: ${artifactPath}, could not be found"; - } - } - } - } - - - } - - -} diff --git a/Prereqs_doc.docx b/Prereqs_doc.docx new file mode 100644 index 000000000..dc1a7cb19 Binary files /dev/null and b/Prereqs_doc.docx differ diff --git a/Prereqs_doc.md b/Prereqs_doc.md new file mode 100644 index 000000000..6e8b8c5c7 --- /dev/null +++ b/Prereqs_doc.md @@ -0,0 +1,101 @@ +# WindowsTools + +Install chocolatey from the instructions given in the link below. + +https://chocolatey.org/docs/installation + +``` +choco install virtualbox --version=7.0.8 -y +``` +``` +choco install vagrant --version=2.3.7 -y +``` +``` +choco install git -y +``` +``` +choco install corretto17jdk -y +``` +``` +choco install maven -y +``` +``` +choco install awscli -y +``` +``` +choco install intellijidea-community -y +``` +``` +choco install vscode -y +``` +``` +choco install sublimetext3 -y +``` + +# MacOS Tools + +Install brew from the instructions given in the link below. + + +https://brew.sh/ + +After installing homebrew +Create a file in users home directory with name .curlrc with content “-k” +(-k without quotes and give a new line character after -k.) + +Steps: + +1. OpenTerminal +2. Execute below command +``` +echo -k > ~/.curlrc +``` +3. Execute below command to see -k in file ~/.curlrc +``` +cat ~/.curlrc +``` + +Run all the below commands in Terminal + + +### (virtualbox command is not For MacOs M1/M2) +``` +brew install --cask virtualbox +``` +``` +brew install --cask vagrant +``` +``` +brew install --cask vagrant-manager +``` +``` +brew install git +``` +``` +brew install openjdk@17 +``` +``` +sudo ln -sfn $HOMEBREW_PREFIX/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk +``` +``` +exec zsh -l +``` +``` +brew install maven +``` +``` +brew install --cask visual-studio-code +``` +``` +brew install --cask intellij-idea +``` +``` +brew install --cask intellij-idea-ce +``` +``` +brew install --cask sublime-text +``` +``` +brew install awscli +``` + diff --git a/Prereqs_doc.pdf b/Prereqs_doc.pdf new file mode 100644 index 000000000..af3695294 Binary files /dev/null and b/Prereqs_doc.pdf differ diff --git a/Prereqs_doc.rtf b/Prereqs_doc.rtf new file mode 100644 index 000000000..81b4e78a8 --- /dev/null +++ b/Prereqs_doc.rtf @@ -0,0 +1,449 @@ +{\rtf1\ansi\ansicpg1252\uc0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deff0\adeff0{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f2\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}}{\colortbl;\red0\green0\blue0;\red17\green85\blue204; +\red255\green153\blue0;\red204\green204\blue204;\red255\green255\blue255;\red255\green0\blue0;\red26\green28\blue31;\red220\green224\blue226;\red67\green67\blue67;\red102\green102\blue102;}{\stylesheet{\s0\snext0\sqformat\spriority0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 Normal;}{\s1\sbasedon0\snext0\styrsid15694742 +\sqformat\spriority0\keep\keepn\fi0\sb400\sa120\aspalpha\aspnum\adjustright\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl240\slmult1\rtlch\ab0\ai0\af2\afs40\ltrch\b0\i0\fs40\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 heading 1;}{\s2\sbasedon0\snext0\styrsid15694742 +\sqformat\spriority0\keep\keepn\fi0\sb360\sa120\aspalpha\aspnum\adjustright\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl240\slmult1\rtlch\ab0\ai0\af2\afs32\ltrch\b0\i0\fs32\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 heading 2;}{\s3\sbasedon0\snext0\styrsid15694742 +\sqformat\spriority0\keep\keepn\fi0\sb320\sa80\aspalpha\aspnum\adjustright\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl240\slmult1\rtlch\ab0\ai0\af2\afs28\ltrch\b0\i0\fs28\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf9 heading 3;}{\s4\sbasedon0\snext0\styrsid15694742 +\sqformat\spriority0\keep\keepn\fi0\sb280\sa80\aspalpha\aspnum\adjustright\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl240\slmult1\rtlch\ab0\ai0\af2\afs24\ltrch\b0\i0\fs24\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf10 heading 4;}{\s5\sbasedon0\snext0\styrsid15694742 +\sqformat\spriority0\keep\keepn\fi0\sb240\sa80\aspalpha\aspnum\adjustright\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl240\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf10 heading 5;}{\s6\sbasedon0\snext0\styrsid15694742 +\sqformat\spriority0\keep\keepn\fi0\sb240\sa80\aspalpha\aspnum\adjustright\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl240\slmult1\rtlch\ab0\ai\af2\afs22\ltrch\b0\i\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf10 heading 6;}{\*\cs10\additive\ssemihidden\spriority0 Default Paragraph Font; +}{\*\ts11\tsrowd\snext11\ssemihidden\spriority0\aspalpha\aspnum\adjustright\ltrpar\li0\lin0\ri0\rin0\ql\faauto\tsvertalt\tsbrdrl\tsbrdrr\tsbrdrt\tsbrdrb\tsbrdrdgr\tsbrdrdgl\tsbrdrh\tsbrdrv\trpaddl108\trpaddfl3\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0 +\trpaddfb3\trpaddr108\trpaddfr3 Normal Table;}{\s15\sbasedon0\snext15\styrsid15694742\sqformat\spriority0\keep\keepn\fi0\sb0\sa60\aspalpha\aspnum\adjustright\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl240\slmult1\rtlch\ab0\ai0\af2\afs52\ltrch\b0\i0\fs52\loch\af2 +\dbch\af2\hich\f2\strike0\ulnone\cf1 Title;}{\s16\sbasedon0\snext16\styrsid15694742\sqformat\spriority0\keep\keepn\fi0\sb0\sa320\aspalpha\aspnum\adjustright\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl240\slmult1\rtlch\ab0\ai0\af2\afs30\ltrch\b0\i0\fs30 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf10 Subtitle;}}{\*\listtable{\list\listtemplateid1{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelstartat1{\leveltext \'02\'00.;}{\levelnumbers \'01;}\levelfollow0\ulnone\cf1\jclisttab\tx360\fi-360\li720\lin720} +{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelstartat1{\leveltext \'02\'01.;}{\levelnumbers \'01;}\levelfollow0\ulnone\cf1\jclisttab\tx1080\fi-360\li1440\lin1440}{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelstartat1{\leveltext \'02\'02.; +}{\levelnumbers \'01;}\levelfollow0\ulnone\cf1\jclisttab\tx1800\fi-180\li2160\lin2160}{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelstartat1{\leveltext \'02\'03.;}{\levelnumbers \'01;}\levelfollow0\ulnone\cf1\jclisttab\tx2520\fi-360\li2880\lin2880} +{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelstartat1{\leveltext \'02\'04.;}{\levelnumbers \'01;}\levelfollow0\ulnone\cf1\jclisttab\tx3240\fi-360\li3600\lin3600}{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelstartat1{\leveltext \'02\'05.; +}{\levelnumbers \'01;}\levelfollow0\ulnone\cf1\jclisttab\tx3960\fi-180\li4320\lin4320}{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelstartat1{\leveltext \'02\'06.;}{\levelnumbers \'01;}\levelfollow0\ulnone\cf1\jclisttab\tx4680\fi-360\li5040\lin5040} +{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelstartat1{\leveltext \'02\'07.;}{\levelnumbers \'01;}\levelfollow0\ulnone\cf1\jclisttab\tx5400\fi-360\li5760\lin5760}{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelstartat1{\leveltext \'02\'08.; +}{\levelnumbers \'01;}\levelfollow0\ulnone\cf1\jclisttab\tx6120\fi-180\li6480\lin6480}\listid1}}{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}{\*\rsidtbl\rsid10976062\rsid13249109}{\*\generator Aspose.Words for Java 23.4.0; +}{\info\version1\edmins0\nofpages1\nofwords0\nofchars0\nofcharsws0}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0{\mmathPr\mbrkBin0\mbrkBinSub0\mdefJc1\mdispDef1\minterSp0\mintLim0\mintraSp0\mlMargin0\mmathFont0\mnaryLim1\mpostSp0\mpreSp0\mrMargin0\msmallFrac0\mwrapIndent1440\mwrapRight0} +\deflang1033\deflangfe2052\adeflang1025\jexpand\showxmlerrors1\validatexml1{\*\wgrffmtfilter 013f}\viewkind1\viewscale100\fet0\ftnbj\aenddoc\ftnrstcont\aftnrstcont\ftnnar\aftnnrlc\widowctrl\nospaceforul\nolnhtadjtbl\alntblind\lyttblrtgr\dntblnsbdb\noxlattoyen +\wrppunct\nobrkwrptbl\expshrtn\snaptogridincell\asianbrkrule\htmautsp\noultrlspc\useltbaln\splytwnine\ftnlytwnine\lytcalctblwd\allowfieldendsel\lnbrkrule\nouicompat\nofeaturethrottle1\utinl\formshade\nojkernpunct\dghspace180\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1 +\dgmargin\pgbrdrhead\pgbrdrfoot\rsidroot10976062\sectd\sectlinegrid360\pgwsxn12240\pghsxn15840\marglsxn1440\margrsxn1440\margtsxn1440\margbsxn1440\guttersxn0\headery720\footery720\colsx720\ltrsect\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar +\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab\ai0\af2\alang1025\afs28\ltrch\b\i0\fs28\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0 +\ulnone\cf1 Windows}{\rtlch\ab\ai0\af2\alang1025\afs28\ltrch\b\i0\fs28\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab\ai0\af2\alang1025\afs28\ltrch\b\i0\fs28\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 Tools}{\rtlch\ab\ai0\af2\afs28\ltrch\b\i0\fs28\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw +\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab\ai0\af2\afs28\ltrch\b\i0\fs28\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par} +\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs22 +\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 Install}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{ +\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 chocolatey}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2 +\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 from}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 the}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 instructions}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 given}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 in}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 the}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 link}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 below}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 .}{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw +\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par} +\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\field{ +\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://chocolatey.org/docs/installation"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b52000000680074007400700073003a002f002f00630068006f0063006f006c0061007400650079002e006f00720067002f0064006f00630073002f0069006e007300740061006c006c006100740069006f006e000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 https}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://chocolatey.org/docs/installation"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b52000000680074007400700073003a002f002f00630068006f0063006f006c0061007400650079002e006f00720067002f0064006f00630073002f0069006e007300740061006c006c006100740069006f006e000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 ://}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://chocolatey.org/docs/installation"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b52000000680074007400700073003a002f002f00630068006f0063006f006c0061007400650079002e006f00720067002f0064006f00630073002f0069006e007300740061006c006c006100740069006f006e000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 chocolatey}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://chocolatey.org/docs/installation"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b52000000680074007400700073003a002f002f00630068006f0063006f006c0061007400650079002e006f00720067002f0064006f00630073002f0069006e007300740061006c006c006100740069006f006e000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 .}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://chocolatey.org/docs/installation"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b52000000680074007400700073003a002f002f00630068006f0063006f006c0061007400650079002e006f00720067002f0064006f00630073002f0069006e007300740061006c006c006100740069006f006e000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 org}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://chocolatey.org/docs/installation"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b52000000680074007400700073003a002f002f00630068006f0063006f006c0061007400650079002e006f00720067002f0064006f00630073002f0069006e007300740061006c006c006100740069006f006e000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 /}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://chocolatey.org/docs/installation"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b52000000680074007400700073003a002f002f00630068006f0063006f006c0061007400650079002e006f00720067002f0064006f00630073002f0069006e007300740061006c006c006100740069006f006e000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 docs}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://chocolatey.org/docs/installation"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b52000000680074007400700073003a002f002f00630068006f0063006f006c0061007400650079002e006f00720067002f0064006f00630073002f0069006e007300740061006c006c006100740069006f006e000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 /}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://chocolatey.org/docs/installation"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b52000000680074007400700073003a002f002f00630068006f0063006f006c0061007400650079002e006f00720067002f0064006f00630073002f0069006e007300740061006c006c006100740069006f006e000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 installation}}}{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0 +\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0 +\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0 +\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2 +\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 Run}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 all}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 the}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 below}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 commands}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 on}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 Powershell}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 (}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf3 Open}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ul\cf3 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf3 Powershell}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ul\cf3 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf3 as}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ul\cf3 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf3 Admin}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 )}{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ul\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar +\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\trowd\irow0\irowband0\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 choco}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 virtualbox}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 --}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 version}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 =7.0.8 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 y}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow0\irowband0\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow1\irowband1\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 choco}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 vagrant}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 --}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 version}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 =2.3.7 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 y}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow1\irowband1\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow2\irowband2\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 choco}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 git}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 y}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow2\irowband2\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow3\irowband3\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 choco}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 corretto}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 17}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 jdk}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 y}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow3\irowband3\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow4\irowband4\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 choco}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 maven}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 y}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow4\irowband4\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow5\irowband5\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 choco}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 awscli}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 y}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow5\irowband5\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow6\irowband6\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 choco}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 intellijidea}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 community}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 y}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow6\irowband6\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow7\irowband7\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 choco}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 vscode}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 y}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow7\irowband7\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow8\irowband8\lastrow\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0 +\trbrdrv\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40 +\clpadft3\clpadr40\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 choco}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 sublimetext}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 3 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 y}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow8\irowband8\lastrow\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0 +\trbrdrv\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth3945\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40 +\clpadft3\clpadr40\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx3905\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0 +\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0 +\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0 +\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2 +\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab\ai0\af2\alang1025\afs28\ltrch\b\i0\fs28\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 MacOS}{\rtlch\ab\ai0\af2\alang1025\afs28\ltrch\b\i0\fs28\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab\ai0\af2\alang1025\afs28\ltrch\b\i0\fs28\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 Tools}{\rtlch\ab\ai0\af2\afs28\ltrch\b\i0\fs28\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0 +\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0 +\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 Install} +{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2 +\dbch\af2\hich\f2\strike0\ulnone\cf1 brew}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 from}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 the}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 instructions}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 given}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 in}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 the}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 link}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 below}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 .}{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2 +\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw +\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://brew.sh/"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b22000000680074007400700073003a002f002f0062007200650077002e00730068002f000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 https}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://brew.sh/"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b22000000680074007400700073003a002f002f0062007200650077002e00730068002f000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 ://}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://brew.sh/"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b22000000680074007400700073003a002f002f0062007200650077002e00730068002f000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 brew}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://brew.sh/"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b22000000680074007400700073003a002f002f0062007200650077002e00730068002f000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 .}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://brew.sh/"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b22000000680074007400700073003a002f002f0062007200650077002e00730068002f000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 sh}}}{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://brew.sh/"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b22000000680074007400700073003a002f002f0062007200650077002e00730068002f000000}} +{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 /}}}{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 +\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{ +\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276 +\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf6\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum +\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 After}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 installing}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 homebrew}{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf6\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr +\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 Create}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 a}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 file}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 in}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 users}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 home}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 directory}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 with}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 name}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 .}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 curlrc}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 with}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 content}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 \u8220 -}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 k}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 \u8221 }{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2 +\hich\f2\insrsid10976062\strike0\ulnone\cf6\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 (-}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 k}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 without}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 quotes}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 and}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 give}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 a}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 new}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 line}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 character}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 after}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 -}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 k}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 .)}{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf6\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0 +\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf6\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0 +\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 Steps} +{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 :}{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf6\par} +\pard\plain\itap0\s0\ilvl0\ls1\tx360\tx1080\fi-360\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li1080\lin1080\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0 +\ulnone\cf1{\listtext\pard\plain\tx360\fi-360\aspalpha\aspnum\adjustright\ltrpar\li720\lin720\ri0\rin0\ql\faauto\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1 1.\tab }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 Open}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 Terminal}{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2 +\hich\f2\insrsid10976062\strike0\ulnone\cf6\par}\pard\plain\itap0\s0\ilvl0\ls1\tx360\tx1080\fi-360\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li1080\lin1080\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22 +\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\listtext\pard\plain\tx360\fi-360\aspalpha\aspnum\adjustright\ltrpar\li720\lin720\ri0\rin0\ql\faauto\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 2.\tab }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 echo}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 -}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 k}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 > ~/.}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 curlrc}{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2 +\hich\f2\insrsid10976062\strike0\ulnone\cf6\par}\pard\plain\itap0\s0\ilvl0\ls1\tx360\tx1080\fi-360\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li1080\lin1080\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22 +\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\listtext\pard\plain\tx360\fi-360\aspalpha\aspnum\adjustright\ltrpar\li720\lin720\ri0\rin0\ql\faauto\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 3.\tab }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 cat}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 ~/.}{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 curlrc}{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2 +\hich\f2\insrsid10976062\strike0\ulnone\cf6\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw +\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ul\cf1\par} +\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22 +\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ul\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22 +\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ul\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr +\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ul\cf1 +\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{ +\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ul\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276 +\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ul\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum +\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ul\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0 +\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ul\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql +\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 Run}{\rtlch\ab0\ai0\af2\alang1025\afs22 +\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 all}{\rtlch\ab0\ai0\af2\alang1025\afs22 +\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 the}{\rtlch\ab0\ai0\af2\alang1025\afs22 +\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 below}{\rtlch\ab0\ai0\af2\alang1025\afs22 +\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 commands}{\rtlch\ab0\ai0\af2\alang1025\afs22 +\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 in}{\rtlch\ab0\ai0\af2\alang1025\afs22 +\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf1 Terminal}{\rtlch\ab0\ai0\af2\afs22 +\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ul\cf1\par}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22 +\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\trowd\irow0\irowband0\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 brew}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 --}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 cask}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 virtualbox}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 (}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 Not}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 For}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 MacOs}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 M}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 1/}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 M}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf6 2)}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf6\cell}{\trowd\irow0\irowband0\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf6\row}\trowd\irow1\irowband1\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 brew}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 --}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 cask}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 vagrant}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow1\irowband1\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow2\irowband2\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 brew}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 --}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 cask}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 vagrant}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 manager}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow2\irowband2\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow3\irowband3\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 brew}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 git}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow3\irowband3\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow4\irowband4\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf7\chshdng10000\chcbpat8\chcfpat8 brew}{\rtlch\ab0\ai0\af2\alang1025\afs20 +\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf7\chshdng10000\chcbpat8\chcfpat8 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0 +\ulnone\cf7\chshdng10000\chcbpat8\chcfpat8 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf7\chshdng10000\chcbpat8\chcfpat8 }{\rtlch\ab0\ai0\af2\alang1025\afs20 +\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf7\chshdng10000\chcbpat8\chcfpat8 openjdk}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2 +\hich\f2\strike0\ulnone\cf7\chshdng10000\chcbpat8\chcfpat8 @17}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf7\chshdng10000\chcbpat8\chcfpat8\par} +\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 +{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\chshdng10000\chcbpat8\chcfpat8\cell}{\trowd\irow4\irowband4\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20 +\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\chshdng10000\chcbpat8\chcfpat8\row}\trowd\irow5\irowband5\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 sudo}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 ln}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 sfn}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 $}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 HOMEBREW}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 _}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 PREFIX}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 /}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 opt}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 /}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 openjdk}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 @17/}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 libexec}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 /}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 openjdk}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 .}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 jdk}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 /}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 Library}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 /}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 Java}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 /}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 JavaVirtualMachines}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 /}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 openjdk}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 .}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 jdk}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22 +\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow5\irowband5\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols +\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\row}\trowd\irow6\irowband6\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 exec}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 zsh}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 l}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow6\irowband6\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow7\irowband7\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 brew}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 maven}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow7\irowband7\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow8\irowband8\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 brew}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 --}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 cask}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 visual}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 studio}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 code}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow8\irowband8\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\clshdng10000\clcbpat5\clcfpat5\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow9\irowband9\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 brew}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 --}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 cask}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 intellij}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 idea}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow9\irowband9\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow10\irowband10\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 brew}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 --}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 cask}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 intellij}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 idea}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 ce}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow10\irowband10\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow11\irowband11\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 brew}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 --}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 cask}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 sublime}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 -}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 text}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow11\irowband11\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0\trbrdrv +\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40\clpadft3\clpadr40 +\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\trowd\irow12\irowband12\lastrow\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0 +\trbrdrv\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40 +\clpadft3\clpadr40\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\pard\plain\intbl\itap1\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\nowidctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 brew}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 install}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 }{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ulnone\cf1 awscli}{\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033 +\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\cell}{\trowd\irow12\irowband12\lastrow\ltrrow\trql\trgaph40\trpaddl40\trpaddfl3\trbrdrt\brdrs\brdrw10\brdrcf0\brsp0\trbrdrl\brdrs\brdrw10\brdrcf0\brsp0\trbrdrb\brdrs\brdrw10\brdrcf0\brsp0\trbrdrr\brdrs\brdrw10\brdrcf0\brsp0\trbrdrh\brdrs\brdrw10\brdrcf0\brsp0 +\trbrdrv\brdrs\brdrw10\brdrcf0\brsp0\trwWidth5000\trftsWidth2\trautofit1\trwWidthB0\trftsWidthB3\trpaddt0\trpaddft3\trpaddb0\trpaddfb3\trpaddr108\trpaddfr3\trrh315\trleft-40\clwWidth10785\clftsWidth3\clvertalb\clpadl40\clpadfl3\clpadb40\clpadfb3\clpadt40 +\clpadft3\clpadr40\clpadfr3\clbrdrl\brdrs\brdrw15\brdrcf4\brsp0\clbrdrr\brdrs\brdrw15\brdrcf4\brsp0\clbrdrt\brdrs\brdrw15\brdrcf4\brsp0\clbrdrb\brdrs\brdrw15\brdrcf4\brsp0\cldgll\brdrnone\cldglu\brdrnone\cellx10745\tbllkhdrrows\tbllkhdrcols\tbllknocolband\rtlch\ab0\ai0\af2\alang1025\afs20\ltrch\b0\i0\fs20\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0 +\ulnone\cf1\row}\pard\plain\itap0\s0\ilvl0\fi0\sb0\sa0\aspalpha\aspnum\adjustright\brdrt\brdrl\brdrb\brdrr\brdrbtw\brdrbar\widctlpar\ltrpar\li0\lin0\ri0\rin0\ql\faauto\sl276\slmult1\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\strike0 +\ulnone\cf1{\rtlch\ab0\ai0\af2\afs22\ltrch\b0\i0\fs22\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1\par}{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef0{\lsdlockedexcept\lsdqformat1 Normal;\lsdqformat1 heading 1;\lsdsemihidden1\lsdunhideused1\lsdqformat1 heading 2; +\lsdsemihidden1\lsdunhideused1\lsdqformat1 heading 3;\lsdsemihidden1\lsdunhideused1\lsdqformat1 heading 4;\lsdsemihidden1\lsdunhideused1\lsdqformat1 heading 5;\lsdsemihidden1\lsdunhideused1\lsdqformat1 heading 6;\lsdsemihidden1\lsdunhideused1\lsdqformat1 heading 7; +\lsdsemihidden1\lsdunhideused1\lsdqformat1 heading 8;\lsdsemihidden1\lsdunhideused1\lsdqformat1 heading 9;\lsdsemihidden1\lsdunhideused1\lsdqformat1 caption;\lsdqformat1 Title;\lsdqformat1 Subtitle;\lsdqformat1 Strong;\lsdqformat1 Emphasis;\lsdsemihidden1\lsdpriority99 Placeholder Text; +\lsdqformat1\lsdpriority1 No Spacing;\lsdpriority60 Light Shading;\lsdpriority61 Light List;\lsdpriority62 Light Grid;\lsdpriority63 Medium Shading 1;\lsdpriority64 Medium Shading 2;\lsdpriority65 Medium List 1;\lsdpriority66 Medium List 2;\lsdpriority67 Medium Grid 1; +\lsdpriority68 Medium Grid 2;\lsdpriority69 Medium Grid 3;\lsdpriority70 Dark List;\lsdpriority71 Colorful Shading;\lsdpriority72 Colorful List;\lsdpriority73 Colorful Grid;\lsdpriority60 Light Shading Accent 1;\lsdpriority61 Light List Accent 1;\lsdpriority62 Light Grid Accent 1; +\lsdpriority63 Medium Shading 1 Accent 1;\lsdpriority64 Medium Shading 2 Accent 1;\lsdpriority65 Medium List 1 Accent 1;\lsdsemihidden1\lsdpriority99 Revision;\lsdqformat1\lsdpriority34 List Paragraph;\lsdqformat1\lsdpriority29 Quote;\lsdqformat1\lsdpriority30 Intense Quote; +\lsdpriority66 Medium List 2 Accent 1;\lsdpriority67 Medium Grid 1 Accent 1;\lsdpriority68 Medium Grid 2 Accent 1;\lsdpriority69 Medium Grid 3 Accent 1;\lsdpriority70 Dark List Accent 1;\lsdpriority71 Colorful Shading Accent 1;\lsdpriority72 Colorful List Accent 1; +\lsdpriority73 Colorful Grid Accent 1;\lsdpriority60 Light Shading Accent 2;\lsdpriority61 Light List Accent 2;\lsdpriority62 Light Grid Accent 2;\lsdpriority63 Medium Shading 1 Accent 2;\lsdpriority64 Medium Shading 2 Accent 2;\lsdpriority65 Medium List 1 Accent 2; +\lsdpriority66 Medium List 2 Accent 2;\lsdpriority67 Medium Grid 1 Accent 2;\lsdpriority68 Medium Grid 2 Accent 2;\lsdpriority69 Medium Grid 3 Accent 2;\lsdpriority70 Dark List Accent 2;\lsdpriority71 Colorful Shading Accent 2;\lsdpriority72 Colorful List Accent 2; +\lsdpriority73 Colorful Grid Accent 2;\lsdpriority60 Light Shading Accent 3;\lsdpriority61 Light List Accent 3;\lsdpriority62 Light Grid Accent 3;\lsdpriority63 Medium Shading 1 Accent 3;\lsdpriority64 Medium Shading 2 Accent 3;\lsdpriority65 Medium List 1 Accent 3; +\lsdpriority66 Medium List 2 Accent 3;\lsdpriority67 Medium Grid 1 Accent 3;\lsdpriority68 Medium Grid 2 Accent 3;\lsdpriority69 Medium Grid 3 Accent 3;\lsdpriority70 Dark List Accent 3;\lsdpriority71 Colorful Shading Accent 3;\lsdpriority72 Colorful List Accent 3; +\lsdpriority73 Colorful Grid Accent 3;\lsdpriority60 Light Shading Accent 4;\lsdpriority61 Light List Accent 4;\lsdpriority62 Light Grid Accent 4;\lsdpriority63 Medium Shading 1 Accent 4;\lsdpriority64 Medium Shading 2 Accent 4;\lsdpriority65 Medium List 1 Accent 4; +\lsdpriority66 Medium List 2 Accent 4;\lsdpriority67 Medium Grid 1 Accent 4;\lsdpriority68 Medium Grid 2 Accent 4;\lsdpriority69 Medium Grid 3 Accent 4;\lsdpriority70 Dark List Accent 4;\lsdpriority71 Colorful Shading Accent 4;\lsdpriority72 Colorful List Accent 4; +\lsdpriority73 Colorful Grid Accent 4;\lsdpriority60 Light Shading Accent 5;\lsdpriority61 Light List Accent 5;\lsdpriority62 Light Grid Accent 5;\lsdpriority63 Medium Shading 1 Accent 5;\lsdpriority64 Medium Shading 2 Accent 5;\lsdpriority65 Medium List 1 Accent 5; +\lsdpriority66 Medium List 2 Accent 5;\lsdpriority67 Medium Grid 1 Accent 5;\lsdpriority68 Medium Grid 2 Accent 5;\lsdpriority69 Medium Grid 3 Accent 5;\lsdpriority70 Dark List Accent 5;\lsdpriority71 Colorful Shading Accent 5;\lsdpriority72 Colorful List Accent 5; +\lsdpriority73 Colorful Grid Accent 5;\lsdpriority60 Light Shading Accent 6;\lsdpriority61 Light List Accent 6;\lsdpriority62 Light Grid Accent 6;\lsdpriority63 Medium Shading 1 Accent 6;\lsdpriority64 Medium Shading 2 Accent 6;\lsdpriority65 Medium List 1 Accent 6; +\lsdpriority66 Medium List 2 Accent 6;\lsdpriority67 Medium Grid 1 Accent 6;\lsdpriority68 Medium Grid 2 Accent 6;\lsdpriority69 Medium Grid 3 Accent 6;\lsdpriority70 Dark List Accent 6;\lsdpriority71 Colorful Shading Accent 6;\lsdpriority72 Colorful List Accent 6; +\lsdpriority73 Colorful Grid Accent 6;\lsdqformat1\lsdpriority19 Subtle Emphasis;\lsdqformat1\lsdpriority21 Intense Emphasis;\lsdqformat1\lsdpriority31 Subtle Reference;\lsdqformat1\lsdpriority32 Intense Reference;\lsdqformat1\lsdpriority33 Book Title;\lsdsemihidden1\lsdunhideused1\lsdpriority37 Bibliography; +\lsdsemihidden1\lsdunhideused1\lsdqformat1\lsdpriority39 TOC Heading;}}} \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 88fd3cbba..000000000 --- a/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# Prerequisites -# -- JDK 11 -- Maven 3 -- MySQL 8 - -# Technologies -- Spring MVC -- Spring Security -- Spring Data JPA -- Maven -- JSP -- Tomcat -- MySQL -- Memcached -- Rabbitmq -- ElasticSearch -# Database -Here,we used Mysql DB -sql dump file: -- /src/main/resources/db_backup.sql -- db_backup.sql file is a mysql dump file.we have to import this dump to mysql db server -- > mysql -u -p accounts < db_backup.sql - - diff --git a/ansible/ansible.cfg b/ansible/ansible.cfg deleted file mode 100644 index 6d2dcd6a9..000000000 --- a/ansible/ansible.cfg +++ /dev/null @@ -1,3 +0,0 @@ -[defaults] -host_key_checking = False -timeout = 30 diff --git a/ansible/site.yml b/ansible/site.yml deleted file mode 100644 index 59aebc9bf..000000000 --- a/ansible/site.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- import_playbook: tomcat_setup.yml -- import_playbook: vpro-app-setup.yml - -#### diff --git a/ansible/templates/application.j2 b/ansible/templates/application.j2 deleted file mode 100644 index d930446bb..000000000 --- a/ansible/templates/application.j2 +++ /dev/null @@ -1,25 +0,0 @@ -#JDBC Configutation for Database Connection -jdbc.driverClassName=com.mysql.jdbc.Driver -jdbc.url=jdbc:mysql://dbhost:3306/accounts?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull -jdbc.username=db_user -jdbc.password=db_password - -#Memcached Configuration For Active and StandBy Host -#For Active Host -memcached.active.host=127.0.0.1 -memcached.active.port=11211 -#For StandBy Host -memcached.standBy.host=127.0.0.2 -memcached.standBy.port=11211 - -#RabbitMq Configuration -rabbitmq.address=18.220.62.126 -rabbitmq.port=5672 -rabbitmq.username=test -rabbitmq.password=test - -#Elasticesearch Configuration -elasticsearch.host =192.168.1.85 -elasticsearch.port =9300 -elasticsearch.cluster=vprofile -elasticsearch.node=vprofilenode diff --git a/ansible/templates/epel6-svcfile.j2 b/ansible/templates/epel6-svcfile.j2 deleted file mode 100644 index 379d55164..000000000 --- a/ansible/templates/epel6-svcfile.j2 +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -### BEGIN INIT INFO -# Provides: tomcat7 -# Required-Start: $network -# Required-Stop: $network -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start/Stop Tomcat server -### END INIT INFO - -PATH=/sbin:/bin:/usr/sbin:/usr/bin - -start() { -sh /usr/local/tomcat8/bin/startup.sh -} - -stop() { -sh /usr/local/tomcat8/bin/shutdown.sh -} - -status() { -pid=$(ps -fe | grep '/usr/local/tomcat8' | grep -v grep | tr -s " " | cut -d" " -f2) - if [ -n "$pid" ]; then - echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m" - else - echo -e "\e[00;31mTomcat is not running\e[00m" - fi -} - -case $1 in -start|stop|status) $1;; -restart) stop; start;; -*) echo "Run as $0 "; exit 1;; -esac -exit 0 - - diff --git a/ansible/templates/epel7-svcfile.j2 b/ansible/templates/epel7-svcfile.j2 deleted file mode 100644 index feb317ccd..000000000 --- a/ansible/templates/epel7-svcfile.j2 +++ /dev/null @@ -1,18 +0,0 @@ -[Unit] -Description=Tomcat -After=network.target - -[Service] -User=tomcat -WorkingDirectory=/usr/local/tomcat8 -Environment=JRE_HOME=/usr/lib/jvm/jre -Environment=JAVA_HOME=/usr/lib/jvm/jre -Environment=CATALINA_HOME=/usr/local/tomcat8 -Environment=CATALINE_BASE=/usr/local/tomcat8 -ExecStart=/usr/local/tomcat8/bin/catalina.sh run -ExecStop=/usr/local/tomcat8/bin/shutdown.sh -SyslogIdentifier=tomcat-%i - -[Install] -WantedBy=multi-user.target - diff --git a/ansible/templates/ubuntu14_15-svcfile.j2 b/ansible/templates/ubuntu14_15-svcfile.j2 deleted file mode 100644 index 379d55164..000000000 --- a/ansible/templates/ubuntu14_15-svcfile.j2 +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -### BEGIN INIT INFO -# Provides: tomcat7 -# Required-Start: $network -# Required-Stop: $network -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start/Stop Tomcat server -### END INIT INFO - -PATH=/sbin:/bin:/usr/sbin:/usr/bin - -start() { -sh /usr/local/tomcat8/bin/startup.sh -} - -stop() { -sh /usr/local/tomcat8/bin/shutdown.sh -} - -status() { -pid=$(ps -fe | grep '/usr/local/tomcat8' | grep -v grep | tr -s " " | cut -d" " -f2) - if [ -n "$pid" ]; then - echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m" - else - echo -e "\e[00;31mTomcat is not running\e[00m" - fi -} - -case $1 in -start|stop|status) $1;; -restart) stop; start;; -*) echo "Run as $0 "; exit 1;; -esac -exit 0 - - diff --git a/ansible/templates/ubuntu16-svcfile.j2 b/ansible/templates/ubuntu16-svcfile.j2 deleted file mode 100644 index 423b00d60..000000000 --- a/ansible/templates/ubuntu16-svcfile.j2 +++ /dev/null @@ -1,18 +0,0 @@ -[Unit] -Description=Tomcat -After=network.target - -[Service] -User=tomcat -WorkingDirectory=/usr/local/tomcat8 -Environment=JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre -Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre -Environment=CATALINA_HOME=/usr/local/tomcat8 -Environment=CATALINE_BASE=/usr/local/tomcat8 -ExecStart=/usr/local/tomcat8/bin/catalina.sh run -ExecStop=/usr/local/tomcat8/bin/shutdown.sh -SyslogIdentifier=tomcat-%i - -[Install] -WantedBy=multi-user.target - diff --git a/ansible/tomcat_setup.yml b/ansible/tomcat_setup.yml deleted file mode 100644 index 66dff8904..000000000 --- a/ansible/tomcat_setup.yml +++ /dev/null @@ -1,113 +0,0 @@ -- name: Common tool setup on all the servers - hosts: appsrvgrp - become: yes - vars: - tom_url: https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz - - tasks: - - name: Install JDK on Centos 6/7 - yum: - name: java-1.8.0-openjdk.x86_64 - state: present - when: ansible_distribution == 'CentOS' - - - name: Install JDK on Ubuntu 14/15/16/18 - apt: - name: openjdk-8-jdk - state: present - update_cache: yes - when: ansible_distribution == 'Ubuntu' - - - name: Download Tomcat Tar Ball/Binaries - get_url: - url: "{{tom_url}}" - dest: /tmp/tomcat-8.tar.gz - - - name: Add tomcat group - group: - name: tomcat - state: present - - - name: Add tomcat user - user: - name: tomcat - group: tomcat - shell: /bin/nologin - home: /usr/local/tomcat8 - - - file: - path: /tmp/tomcat8 - state: directory - - - name: Extract tomcat - unarchive: - src: /tmp/tomcat-8.tar.gz - dest: /tmp/tomcat8/ - remote_src: yes - list_files: yes - register: unarchive_info - - - debug: - msg: "{{unarchive_info.files[0].split('/')[0]}}" - - - name: Synchronize /tmp/tomcat8/tomcat_cont /usr/local/tomcat8. - synchronize: - src: "/tmp/tomcat8/{{unarchive_info.files[0].split('/')[0]}}/" - dest: /usr/local/tomcat8/ - delegate_to: "{{ inventory_hostname }}" - - - name: Change ownership of /usr/local/tomcat8 - file: - path: /usr/local/tomcat8 - owner: tomcat - group: tomcat - recurse: yes - - - name: Setup tomcat SVC file on Centos 7 - template: - src: templates/epel7-svcfile.j2 - dest: /etc/systemd/system/tomcat.service - mode: "a+x" - when: ansible_distribution == 'CentOS' and ansible_distribution_major_version == '7' - - - name: Setup tomcat SVC file on Centos 6 - template: - src: templates/epel6-svcfile.j2 - dest: /etc/init.d/tomcat - mode: "a+x" - when: ansible_distribution == 'CentOS' and ansible_distribution_major_version == '6' - - - name: Setup tomcat SVC file on ubuntu 14/15 - template: - src: templates/ubuntu14_15-svcfile.j2 - dest: /etc/init.d/tomcat - mode: "a+x" - when: ansible_distribution == 'Ubuntu' and ansible_distribution_major_version < '16' - - - name: Setup tomcat SVC file on ubuntu 16 and 18 - template: - src: templates/ubuntu16-svcfile.j2 - dest: /etc/systemd/system/tomcat.service - mode: "a+x" - when: ansible_distribution == 'Ubuntu' and ansible_distribution_major_version >= '16' - - - name: Reload tomcat svc config in ubuntu 14/15 - command: update-rc.d tomcat defaults - when: ansible_distribution == 'Ubuntu' and ansible_distribution_major_version < '16' - - - name: Reload tomcat svc config in Centos 6 - command: chkconfig --add tomcat - when: ansible_distribution == 'CentOS' and ansible_distribution_major_version == '6' - - - name: just force systemd to reread configs (2.4 and above) - systemd: - daemon_reload: yes - when: ansible_distribution_major_version > '6' or ansible_distribution_major_version > '15' - - - name: Start & Enable TOmcat 8 - service: - name: tomcat - state: started - enabled: yes - - diff --git a/ansible/vpro-app-setup.yml b/ansible/vpro-app-setup.yml deleted file mode 100644 index 0c3f5d4a5..000000000 --- a/ansible/vpro-app-setup.yml +++ /dev/null @@ -1,105 +0,0 @@ - -- name: Setup Tomcat8 & Deploy Artifact - hosts: appsrvgrp - become: yes - vars: - timestamp: "{{ansible_date_time.date}}_{{ansible_date_time.hour}}_{{ansible_date_time.minute}}" - tasks: - - name: Download latest VProfile.war from nexus - get_url: - url: "http://{{USER}}:{{PASS}}@{{nexusip}}:8081/repository/{{reponame}}/{{groupid}}/{{time}}/{{build}}/{{vprofile_version}}" - dest: "/tmp/vproapp-{{vprofile_version}}" - register: wardeploy - tags: - - deploy - - - stat: - path: /usr/local/tomcat8/webapps/ROOT - register: artifact_stat - tags: - - deploy - - - name: Stop tomcat svc - service: - name: tomcat - state: stopped - tags: - - deploy - - - name: Try Backup and Deploy - block: - - name: Archive ROOT dir with timestamp - archive: - path: /usr/local/tomcat8/webapps/ROOT - dest: "/opt/ROOT_{{timestamp}}.tgz" - when: artifact_stat.stat.exists - register: archive_info - tags: - - deploy - - - name: copy ROOT dir with old_ROOT name - shell: cp -r ROOT old_ROOT - args: - chdir: /usr/local/tomcat8/webapps/ - - - name: Delete current artifact - file: - path: "{{item}}" - state: absent - when: archive_info.changed - loop: - - /usr/local/tomcat8/webapps/ROOT - - /usr/local/tomcat8/webapps/ROOT.war - tags: - - deploy - - - name: Try deploy artifact else restore from previos old_ROOT - block: - - name: Deploy vprofile artifact - copy: - src: "/tmp/vproapp-{{vprofile_version}}" - dest: /usr/local/tomcat8/webapps/ROOT.war - remote_src: yes - register: deploy_info - tags: - - deploy - rescue: - - shell: cp -r old_ROOT ROOT - args: - chdir: /usr/local/tomcat8/webapps/ - - rescue: - - name: Start tomcat svc - service: - name: tomcat - state: started - - - name: Start tomcat svc - service: - name: tomcat - state: started - when: deploy_info.changed - tags: - - deploy - - - name: Wait until ROOT.war is extracted to ROOT directory - wait_for: - path: /usr/local/tomcat8/webapps/ROOT - tags: - - deploy - -# - name: Deploy web configuration file -# template: -# src: templates/application.j2 -# dest: /usr/local/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties -# force: yes -# notify: -# - Restart Tomcat -# tags: -# - deploy - - handlers: - - name: Restart Tomcat - service: - name: tomcat - state: restarted diff --git a/pom.xml b/pom.xml deleted file mode 100644 index 03bba333b..000000000 --- a/pom.xml +++ /dev/null @@ -1,211 +0,0 @@ - - 4.0.0 - com.visualpathit - vprofile - war - v2 - Visualpathit VProfile Webapp - http://maven.apache.org - - 4.2.0.RELEASE - 4.0.2.RELEASE - 1.8.2.RELEASE - 4.3.11.Final - 5.2.1.Final - 8.0.32 - 1.4 - 1.2 - 4.10 - 1.1.3 - 1.8 - 1.8 - - - - - org.springframework - spring-web - ${spring.version} - - - - org.springframework - spring-webmvc - ${spring.version} - - - - org.springframework.security - spring-security-web - ${spring-security.version} - - - - org.springframework.security - spring-security-config - ${spring-security.version} - - - - org.hibernate - hibernate-validator - ${hibernate-validator.version} - - - - org.springframework.data - spring-data-jpa - ${spring-data-jpa.version} - - - - org.hibernate - hibernate-entitymanager - ${hibernate.version} - - - - mysql - mysql-connector-java - ${mysql-connector.version} - - - - commons-dbcp - commons-dbcp - ${commons-dbcp.version} - - - - javax.servlet - jstl - ${jstl.version} - - - - junit - junit - ${junit.version} - test - - - org.mockito - mockito-core - 1.9.5 - test - - - org.springframework - spring-test - 3.2.3.RELEASE - test - - - javax.servlet - javax.servlet-api - 3.1.0 - provided - - - ch.qos.logback - logback-classic - ${logback.version} - - - org.hamcrest - hamcrest-all - 1.3 - test - - - commons-fileupload - commons-fileupload - 1.3.1 - - - - net.spy - spymemcached - 2.12.3 - - - commons-io - commons-io - 2.4 - - - - org.springframework.amqp - spring-rabbit - 1.7.1.RELEASE - - - - com.rabbitmq - amqp-client - 4.0.2 - - - - org.elasticsearch - elasticsearch - 5.6.4 - - - - org.elasticsearch.client - transport - 5.6.4 - - - - com.google.code.gson - gson - 2.8.2 - - - - - - org.eclipse.jetty - jetty-maven-plugin - 9.2.11.v20150529 - - 10 - - / - - - - - - org.apache.maven.plugins - maven-war-plugin - 3.2.2 - - - org.jacoco - jacoco-maven-plugin - 0.8.4 - - - jacoco-initialize - process-resources - - prepare-agent - - - - jacoco-site - post-integration-test - - report - - - - - - - - diff --git a/src/main/java/com/visualpathit/account/beans/Components.java b/src/main/java/com/visualpathit/account/beans/Components.java deleted file mode 100644 index f58b21fa9..000000000 --- a/src/main/java/com/visualpathit/account/beans/Components.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.visualpathit.account.beans; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -@Component -public class Components { - - @Value("${memcached.active.host}") - private String activeHost; - @Value("${memcached.active.port}") - private String activePort; - @Value("${memcached.standBy.host}") - private String standByHost; - @Value("${memcached.standBy.port}") - private String standByPort; - - @Value("${rabbitmq.address}") - private String rabbitMqHost; - @Value("${rabbitmq.port}") - private String rabbitMqPort; - @Value("${rabbitmq.username}") - private String rabbitMqUser; - @Value("${rabbitmq.password}") - private String rabbitMqPassword; - - @Value("${elasticsearch.host}") - private String elasticsearchHost; - @Value("${elasticsearch.port}") - private String elasticsearchPort; - @Value("${elasticsearch.cluster}") - private String elasticsearchCluster; - @Value("${elasticsearch.node}") - private String elasticsearchNode; - - - public String getActiveHost() { - return activeHost; - } - public String getActivePort() { - return activePort; - } - public String getStandByHost() { - return standByHost; - } - public String getStandByPort() { - return standByPort; - } - public void setActiveHost(String activeHost) { - this.activeHost = activeHost; - } - public void setActivePort(String activePort) { - this.activePort = activePort; - } - public void setStandByHost(String standByHost) { - this.standByHost = standByHost; - } - public void setStandByPort(String standByPort) { - this.standByPort = standByPort; - } - public String getRabbitMqHost() { - return rabbitMqHost; - } - public void setRabbitMqHost(String rabbitMqHost) { - this.rabbitMqHost = rabbitMqHost; - } - public String getRabbitMqPort() { - return rabbitMqPort; - } - public void setRabbitMqPort(String rabbitMqPort) { - this.rabbitMqPort = rabbitMqPort; - } - public String getRabbitMqUser() { - return rabbitMqUser; - } - public void setRabbitMqUser(String rabbitMqUser) { - this.rabbitMqUser = rabbitMqUser; - } - public String getRabbitMqPassword() { - return rabbitMqPassword; - } - public void setRabbitMqPassword(String rabbitMqPassword) { - this.rabbitMqPassword = rabbitMqPassword; - } - public String getElasticsearchHost() { - return elasticsearchHost; - } - public void setElasticsearchHost(String elasticsearchHost) { - this.elasticsearchHost = elasticsearchHost; - } - public String getElasticsearchPort() { - return elasticsearchPort; - } - public void setElasticsearchPort(String elasticsearchPort) { - this.elasticsearchPort = elasticsearchPort; - } - public String getElasticsearchCluster() { - return elasticsearchCluster; - } - public void setElasticsearchCluster(String elasticsearchCluster) { - this.elasticsearchCluster = elasticsearchCluster; - } - public String getElasticsearchNode() { - return elasticsearchNode; - } - public void setElasticsearchNode(String elasticsearchNode) { - this.elasticsearchNode = elasticsearchNode; - } - - -} diff --git a/src/main/java/com/visualpathit/account/controller/ElasticSearchController.java b/src/main/java/com/visualpathit/account/controller/ElasticSearchController.java deleted file mode 100644 index 6fe7f4104..000000000 --- a/src/main/java/com/visualpathit/account/controller/ElasticSearchController.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.visualpathit.account.controller; - -import java.io.IOException; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ExecutionException; - -import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; -import org.elasticsearch.action.delete.DeleteResponse; -import org.elasticsearch.action.get.GetResponse; -import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.action.index.IndexResponse; -import org.elasticsearch.action.update.UpdateRequest; -import org.elasticsearch.action.update.UpdateResponse; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; - -import com.google.gson.Gson; -import com.visualpathit.account.model.User; -import com.visualpathit.account.service.UserService; -import com.visualpathit.account.utils.ElasticsearchUtil; - -import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; - -@Controller -public class ElasticSearchController { - @Autowired - private UserService userService; - - @RequestMapping(value="/user/elasticsearch", method=RequestMethod.GET) - public String insert(final Model model) throws IOException { - List users = userService.getList(); - //contextMapping(); - - /* for (User user : users) { - //IndexRequest indexRequest = new IndexRequest("users","user", String.valueOf(user.getId())); - //indexRequest.source(new Gson().toJson(user)); - //IndexResponse response = ElasticsearchUtil.trannsportClient().index(indexRequest).actionGet(); - System.out.println("User" +new Gson().toJson(user)); - }*/ - String result =""; - for (User user : users) { - IndexResponse response = ElasticsearchUtil.trannsportClient().prepareIndex("users","user", String.valueOf(user.getId())) - .setSource(jsonBuilder() - .startObject() - .field("name", user.getUsername()) - .field("DOB",user.getDateOfBirth()) - .field("fatherName",user.getFatherName()) - .field("motherName",user.getMotherName()) - .field("gender",user.getGender()) - .field("nationality",user.getNationality()) - .field("phoneNumber", user.getPhoneNumber()) - .endObject() - ) - .get(); - String res =response.getResult().toString(); - System.out.println(res); - result="Users"; - } - model.addAttribute(result); - return "elasticeSearchRes"; - - } - - @RequestMapping(value="/rest/users/view/{id}", method=RequestMethod.GET) - public String view(@PathVariable final String id,final Model model) { - GetResponse getResponse = ElasticsearchUtil.trannsportClient().prepareGet("users", "user", id).get(); - System.out.println(getResponse.getSource()); - - model.addAttribute("res", getResponse.getSource().get("name")); - - return "elasticeSearchRes"; - } - /*@RequestMapping(value = "/get_user_list", method = RequestMethod.GET) - public @ResponseBody List getTagList(@RequestParam("term") String query) { - List users = userService.getList(); - List tagList = null; - for (User user : users) { - GetResponse getResponse = ElasticsearchUtil.trannsportClient().prepareGet("users", "user" ,String.valueOf(user.getId())).get(); - System.out.println(getResponse.getSource()); - - tagList.add(getResponse.getSource()); - } - return tagList; - }*/ - - @RequestMapping(value="/rest/users/update/{id}", method=RequestMethod.GET) - public String update(@PathVariable final String id,final Model model) throws IOException { - - UpdateRequest updateRequest = new UpdateRequest(); - updateRequest.index("employee") - .type("id") - .id(id) - .doc(jsonBuilder() - .startObject() - .field("gender", "male") - .endObject()); - try { - UpdateResponse updateResponse = ElasticsearchUtil.trannsportClient().update(updateRequest).get(); - System.out.println(updateResponse.status()); - model.addAttribute("res", updateResponse.status()); - return "elasticeSearchRes"; - } catch (InterruptedException | ExecutionException e) { - System.out.println(e); - } - return "elasticeSearchRes"; - } - @RequestMapping(value="/rest/users/delete/{id}", method=RequestMethod.GET) - public String delete(@PathVariable final String id,final Model model) { - - DeleteResponse deleteResponse =ElasticsearchUtil.trannsportClient().prepareDelete("employee", "id", id).get(); - System.out.println(deleteResponse.getResult().toString()); - model.addAttribute("res", deleteResponse.getResult().toString()); - return "elasticeSearchRes"; - } - /*public void contextMapping() throws IOException{ - String json ="{" - + "\"mappings\":{" - + "\"users\":\" {" - + "\"properties\" : {" - + "\"name\" : { \"type\" : \"string\" }," - + " \"city\" : { \"type\" : \"string\" }," - + "\"name_suggest\" : {" - + "\"type\" : \"completion\"" - + "}}" - + "}"; - IndexResponse response = ElasticsearchUtil.trannsportClient().prepareIndex("users", "data") - .setSource(json).execute().actionGet(); - - }*/ -} diff --git a/src/main/java/com/visualpathit/account/controller/FileUploadController.java b/src/main/java/com/visualpathit/account/controller/FileUploadController.java deleted file mode 100644 index 0de040a2d..000000000 --- a/src/main/java/com/visualpathit/account/controller/FileUploadController.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.visualpathit.account.controller; - -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.util.List; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.multipart.MultipartFile; - -import com.visualpathit.account.model.User; -import com.visualpathit.account.service.UserService; - -@Controller -public class FileUploadController { - @Autowired - private UserService userService; - private static final Logger logger = LoggerFactory - .getLogger(FileUploadController.class); - - /** - * Upload single file using Spring Controller - */ - @RequestMapping(value = { "/upload"} , method = RequestMethod.GET) - public final String upload(final Model model) { - return "upload"; - } - @RequestMapping(value = "/uploadFile", method = RequestMethod.POST) - public @ResponseBody - String uploadFileHandler(@RequestParam("name") String name,@RequestParam("userName") String userName, - @RequestParam("file") MultipartFile file) { - - System.out.println("Called the upload file :::" ); - if (!file.isEmpty()) { - try { - byte[] bytes = file.getBytes(); - - // Creating the directory to store file - String rootPath = System.getProperty("catalina.home"); - System.out.println("Path ::::" +rootPath); - File dir = new File(rootPath + File.separator + "tmpFiles"); - if (!dir.exists()) - dir.mkdirs(); - - // Create the file on server - File serverFile = new File(dir.getAbsolutePath() - + File.separator + name+".png"); - //image saving - User user = userService.findByUsername(userName); - user.setProfileImg(name +".png"); - user.setProfileImgPath(serverFile.getAbsolutePath()); - userService.save(user); - - BufferedOutputStream stream = new BufferedOutputStream( - new FileOutputStream(serverFile)); - stream.write(bytes); - stream.close(); - - logger.info("Server File Location=" - + serverFile.getAbsolutePath()); - - return "You successfully uploaded file=" + name +".png"; - } catch (Exception e) { - return "You failed to upload " + name +".png" + " => " + e.getMessage(); - } - } else { - return "You failed to upload " + name +".png" - + " because the file was empty."; - } - } - -} diff --git a/src/main/java/com/visualpathit/account/controller/UserController.java b/src/main/java/com/visualpathit/account/controller/UserController.java deleted file mode 100644 index c370682e2..000000000 --- a/src/main/java/com/visualpathit/account/controller/UserController.java +++ /dev/null @@ -1,174 +0,0 @@ -package com.visualpathit.account.controller; - -import com.visualpathit.account.model.User; -import com.visualpathit.account.service.ProducerService; -import com.visualpathit.account.service.SecurityService; -import com.visualpathit.account.service.UserService; -import com.visualpathit.account.utils.MemcachedUtils; -import com.visualpathit.account.validator.UserValidator; - -import java.util.List; -import java.util.UUID; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -/**{@author imrant}*/ -@Controller -public class UserController { - @Autowired - private UserService userService; - - @Autowired - private SecurityService securityService; - - @Autowired - private UserValidator userValidator; - - @Autowired - private ProducerService producerService; - - /** {@inheritDoc} */ - @RequestMapping(value = "/registration", method = RequestMethod.GET) - public final String registration(final Model model) { - model.addAttribute("userForm", new User()); - return "registration"; - } - /** {@inheritDoc} */ - @RequestMapping(value = "/registration", method = RequestMethod.POST) - public final String registration(final @ModelAttribute("userForm") User userForm, - final BindingResult bindingResult, final Model model) { - - userValidator.validate(userForm, bindingResult); - if (bindingResult.hasErrors()) { - return "registration"; - } - System.out.println("User PWD:"+userForm.getPassword()); - userService.save(userForm); - - securityService.autologin(userForm.getUsername(), userForm.getPasswordConfirm()); - - return "redirect:/welcome"; - } - /** {@inheritDoc} */ - @RequestMapping(value = "/login", method = RequestMethod.GET) - public final String login(final Model model, final String error, final String logout) { - System.out.println("Model data"+model.toString()); - if (error != null){ - model.addAttribute("error", "Your username and password is invalid."); - } - if (logout != null){ - model.addAttribute("message", "You have been logged out successfully."); - } - return "login"; - } - /** {@inheritDoc} */ - @RequestMapping(value = { "/", "/welcome"}, method = RequestMethod.GET) - public final String welcome(final Model model) { - return "welcome"; - } - /** {@inheritDoc} */ - @RequestMapping(value = { "/index"} , method = RequestMethod.GET) - public final String indexHome(final Model model) { - return "index_home"; - } - @RequestMapping(value = "/users", method = RequestMethod.GET) - public String getAllUsers(Model model) - { - - List users = userService.getList(); - //JSONObject jsonObject - System.out.println("All User Data:::" + users); - model.addAttribute("users", users); - return "userList"; - } - - @RequestMapping(value = "/users/{id}", method = RequestMethod.GET) - public String getOneUser(@PathVariable(value="id") String id,Model model) - { - String Result =""; - try{ - if( id != null && MemcachedUtils.memcachedGetData(id)!= null){ - User userData = MemcachedUtils.memcachedGetData(id); - Result ="Data is From Cache"; - System.out.println("--------------------------------------------"); - System.out.println("Data is From Cache !!"); - System.out.println("--------------------------------------------"); - System.out.println("Father ::: "+userData.getFatherName()); - model.addAttribute("user", userData); - model.addAttribute("Result", Result); - } - else{ - User user = userService.findById(Long.parseLong(id)); - Result = MemcachedUtils.memcachedSetData(user,id); - if(Result == null ){ - Result ="Memcached Connection Failure !!"; - } - System.out.println("--------------------------------------------"); - System.out.println("Data is From Database"); - System.out.println("--------------------------------------------"); - System.out.println("Result ::: "+ Result); - model.addAttribute("user", user); - model.addAttribute("Result", Result); - } - } catch (Exception e) { - System.out.println( e.getMessage() ); - } - return "user"; - } - - /** {@inheritDoc} */ - @RequestMapping(value = { "/user/{username}"} , method = RequestMethod.GET) - public final String userUpdate(@PathVariable(value="username") String username,final Model model) { - User user = userService.findByUsername(username); - System.out.println("User Data:::" + user); - model.addAttribute("user", user); - return "userUpdate"; - } - @RequestMapping(value = { "/user/{username}"} , method = RequestMethod.POST) - public final String userUpdateProfile(@PathVariable(value="username") String username,final @ModelAttribute("user") User userForm,final Model model) { - User user = userService.findByUsername(username); - user.setUsername(userForm.getUsername()); - user.setUserEmail(userForm.getUserEmail()); - user.setDateOfBirth(userForm.getDateOfBirth()); - user.setFatherName(userForm.getFatherName()); - user.setMotherName(userForm.getMotherName()); - user.setGender(userForm.getGender()); - user.setLanguage(userForm.getLanguage()); - user.setMaritalStatus(userForm.getMaritalStatus()); - user.setNationality(userForm.getNationality()); - user.setPermanentAddress(userForm.getPermanentAddress()); - user.setTempAddress(userForm.getTempAddress()); - user.setPhoneNumber(userForm.getPhoneNumber()); - user.setSecondaryPhoneNumber(userForm.getSecondaryPhoneNumber()); - user.setPrimaryOccupation(userForm.getPrimaryOccupation()); - user.setSecondaryOccupation(userForm.getSecondaryOccupation()); - user.setSkills(userForm.getSkills()); - user.setWorkingExperience(userForm.getWorkingExperience()); - userService.save(user); - /*model.addAttribute("user", user);*/ - return "welcome"; - } - - @RequestMapping(value={"/user/rabbit"}, method={RequestMethod.GET}) - public String rabbitmqSetUp() { - System.out.println("Rabbit mq method is callled!!!"); - for (int i = 0; i < 20; i++) { - producerService.produceMessage(generateString()); - } - return "rabbitmq"; - } - - private static String generateString() { - String uuid = UUID.randomUUID().toString(); - return "uuid = " + uuid; - } - - - -} diff --git a/src/main/java/com/visualpathit/account/model/Role.java b/src/main/java/com/visualpathit/account/model/Role.java deleted file mode 100644 index af821ad0e..000000000 --- a/src/main/java/com/visualpathit/account/model/Role.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.visualpathit.account.model; - -import javax.persistence.*; -import java.util.Set; -/**{@author imrant} !*/ -@Entity -@Table(name = "role") -public class Role { - /** the id field !*/ - private Long id; - /** the name field !*/ - private String name; - /** the user field !*/ - private Set users; - /** {@inheritDoc}} !*/ - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - /** - * {@link Role#id} - !*/ - public Long getId() { - return id; - } - /** {@inheritDoc}} !*/ - public void setId(final Long id) { - this.id = id; - } - /** - * {@link Role#name} - !*/ - public String getName() { - return name; - } - /** {@inheritDoc}} !*/ - public void setName(final String name) { - this.name = name; - } - /** - * {@inheritDoc}} - !*/ - @ManyToMany(fetch = FetchType.EAGER, mappedBy = "roles",cascade = CascadeType.ALL) - /** - * {@link Role#id} - !*/ - public Set getUsers() { - return users; - } - /** - * {@inheritDoc}} - !*/ - public final void setUsers(Set users) { - this.users = users; - } -} diff --git a/src/main/java/com/visualpathit/account/model/User.java b/src/main/java/com/visualpathit/account/model/User.java deleted file mode 100644 index 23050ce94..000000000 --- a/src/main/java/com/visualpathit/account/model/User.java +++ /dev/null @@ -1,215 +0,0 @@ -package com.visualpathit.account.model; - - -import javax.persistence.*; - -import java.io.Serializable; -import java.util.Set; -/**{@author imrant} !*/ -@Entity -@Table(name = "user") -public class User implements Serializable { - /** the id field !*/ - private Long id; - /** the user name field !*/ - private String username; - /** the password field !*/ - private String password; - /** the userEmail field !*/ - private String userEmail; - /** the passwordConfirm field !*/ - private String passwordConfirm; - /** the profileImg field !*/ - private String profileImg; - /** the profileImgPath field !*/ - private String profileImgPath; - private String dateOfBirth; - private String fatherName; - private String motherName; - private String gender; - private String maritalStatus; - private String permanentAddress; - private String tempAddress; - private String primaryOccupation; - private String secondaryOccupation; - private String skills; - private String phoneNumber; - private String secondaryPhoneNumber; - private String nationality; - private String language; - private String workingExperience; - - - /** the roles field !*/ - private Set roles; - /** {@inheritDoc}} !*/ - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - /** {@link User#id} */ - public Long getId() { - return id; - } - /** {@inheritDoc}} !*/ - public void setId(final Long id) { - this.id = id; - } - /**{@inheritDoc}} !*/ - public String getUsername() { - return username; - } - /** {@inheritDoc}} !*/ - public void setUsername(final String username) { - this.username = username; - } - /** - * {@link User#password} - * @return The {@link String} instance representing password - !*/ - public String getPassword() { - return password; - } - /** - * {@inheritDoc}} - !*/ - public void setPassword(final String password) { - this.password = password; - } - /** - * {@link User#userEmail} - * @return The {@link String} instance representing userEmail. - !*/ - public String getUserEmail() { - return userEmail; - } - /** {@inheritDoc}} !*/ - public void setUserEmail(final String userEmail) { - this.userEmail = userEmail; - } - - /** {@inheritDoc}} !*/ - @Transient - /** - * {@link User#passwordConfirm} - !*/ - public String getPasswordConfirm() { - return passwordConfirm; - } - /** {@inheritDoc}} !*/ - public void setPasswordConfirm(final String passwordConfirm) { - this.passwordConfirm = passwordConfirm; - } - /** {@inheritDoc}} !*/ - @ManyToMany - @JoinTable(name = "user_role", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "role_id")) - public Set getRoles() { - return roles; - } - /** {@inheritDoc}} !*/ - public void setRoles(final Set roles) { - this.roles = roles; - } - public String getProfileImg() { - return profileImg; - } - public void setProfileImg(String profileImg) { - this.profileImg = profileImg; - } - public String getProfileImgPath() { - return profileImgPath; - } - public void setProfileImgPath(String profileImgPath) { - this.profileImgPath = profileImgPath; - } - public String getDateOfBirth() { - return dateOfBirth; - } - public void setDateOfBirth(String dateOfBirth) { - this.dateOfBirth = dateOfBirth; - } - public String getFatherName() { - return fatherName; - } - public void setFatherName(String fatherName) { - this.fatherName = fatherName; - } - public String getMotherName() { - return motherName; - } - public void setMotherName(String motherName) { - this.motherName = motherName; - } - public String getGender() { - return gender; - } - public void setGender(String gender) { - this.gender = gender; - } - public String getMaritalStatus() { - return maritalStatus; - } - public void setMaritalStatus(String maritalStatus) { - this.maritalStatus = maritalStatus; - } - public String getPermanentAddress() { - return permanentAddress; - } - public void setPermanentAddress(String permanentAddress) { - this.permanentAddress = permanentAddress; - } - public String getTempAddress() { - return tempAddress; - } - public void setTempAddress(String tempAddress) { - this.tempAddress = tempAddress; - } - public String getPrimaryOccupation() { - return primaryOccupation; - } - public void setPrimaryOccupation(String primaryOccupation) { - this.primaryOccupation = primaryOccupation; - } - public String getSecondaryOccupation() { - return secondaryOccupation; - } - public void setSecondaryOccupation(String secondaryOccupation) { - this.secondaryOccupation = secondaryOccupation; - } - public String getSkills() { - return skills; - } - public void setSkills(String skills) { - this.skills = skills; - } - public String getPhoneNumber() { - return phoneNumber; - } - public void setPhoneNumber(String phoneNumber) { - this.phoneNumber = phoneNumber; - } - public String getSecondaryPhoneNumber() { - return secondaryPhoneNumber; - } - public void setSecondaryPhoneNumber(String secondaryPhoneNumber) { - this.secondaryPhoneNumber = secondaryPhoneNumber; - } - public String getNationality() { - return nationality; - } - public void setNationality(String nationality) { - this.nationality = nationality; - } - public String getLanguage() { - return language; - } - public void setLanguage(String language) { - this.language = language; - } - public String getWorkingExperience() { - return workingExperience; - } - public void setWorkingExperience(String workingExperience) { - this.workingExperience = workingExperience; - } - - -} diff --git a/src/main/java/com/visualpathit/account/repository/RoleRepository.java b/src/main/java/com/visualpathit/account/repository/RoleRepository.java deleted file mode 100644 index c091709a5..000000000 --- a/src/main/java/com/visualpathit/account/repository/RoleRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.visualpathit.account.repository; - -import org.springframework.data.jpa.repository.JpaRepository; - -import com.visualpathit.account.model.Role; - -public interface RoleRepository extends JpaRepository{ -} diff --git a/src/main/java/com/visualpathit/account/repository/UserRepository.java b/src/main/java/com/visualpathit/account/repository/UserRepository.java deleted file mode 100644 index 149b656cf..000000000 --- a/src/main/java/com/visualpathit/account/repository/UserRepository.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.visualpathit.account.repository; - -import java.util.List; - -import org.springframework.data.jpa.repository.JpaRepository; - -import com.visualpathit.account.model.User; - -public interface UserRepository extends JpaRepository { - User findByUsername(String username); - User findById(long id); - /*public void updateUser(User user)*/; - -} diff --git a/src/main/java/com/visualpathit/account/service/ConsumerService.java b/src/main/java/com/visualpathit/account/service/ConsumerService.java deleted file mode 100644 index a638bf0d6..000000000 --- a/src/main/java/com/visualpathit/account/service/ConsumerService.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.visualpathit.account.service; - -public interface ConsumerService { - - void consumerMessage(byte[] data); -} diff --git a/src/main/java/com/visualpathit/account/service/ConsumerServiceImpl.java b/src/main/java/com/visualpathit/account/service/ConsumerServiceImpl.java deleted file mode 100644 index ecbd1b6b1..000000000 --- a/src/main/java/com/visualpathit/account/service/ConsumerServiceImpl.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.visualpathit.account.service; - -import org.springframework.amqp.core.ExchangeTypes; -import org.springframework.amqp.rabbit.annotation.Exchange; -import org.springframework.amqp.rabbit.annotation.Queue; -import org.springframework.amqp.rabbit.annotation.QueueBinding; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Service; - -@Service -public class ConsumerServiceImpl implements ConsumerService { - - /** - The name of the exchange. - */ - private static final String EXCHANGE_NAME = "messages"; - - /** - * The function that consumes messages from the broker(RabbitMQ) - * @param data - */ - @Override - @RabbitListener(bindings = @QueueBinding( value = @Queue(), - exchange = @Exchange(value = EXCHANGE_NAME, type = ExchangeTypes.FANOUT))) - public void consumerMessage(byte[] data) { - String consumedMessage = new String(data); - System.out.println(" [x] Consumed '" + consumedMessage + "'"); - } -} diff --git a/src/main/java/com/visualpathit/account/service/ProducerService.java b/src/main/java/com/visualpathit/account/service/ProducerService.java deleted file mode 100644 index ac89af238..000000000 --- a/src/main/java/com/visualpathit/account/service/ProducerService.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.visualpathit.account.service; - -public interface ProducerService { - - public String produceMessage(String message); -} diff --git a/src/main/java/com/visualpathit/account/service/ProducerServiceImpl.java b/src/main/java/com/visualpathit/account/service/ProducerServiceImpl.java deleted file mode 100644 index 46970e609..000000000 --- a/src/main/java/com/visualpathit/account/service/ProducerServiceImpl.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.visualpathit.account.service; - -import com.rabbitmq.client.Connection; -import com.rabbitmq.client.ConnectionFactory; -import com.visualpathit.account.utils.RabbitMqUtil; - -import org.springframework.stereotype.Service; -import com.rabbitmq.client.Channel; - -import java.io.IOException; -import java.util.concurrent.TimeoutException; - -@Service -public class ProducerServiceImpl implements ProducerService { - - /** - * The name of the Exchange - */ - private static final String EXCHANGE_NAME = "messages"; - - /** - * This method publishes a message - * @param message - */ - @Override - public String produceMessage(String message) { - try { - ConnectionFactory factory = new ConnectionFactory(); - /** - * System.out.println("Rabitmq host: ::" + RabbitMqUtil.getRabbitMqHost()); - * System.out.println("Rabitmq port: ::" + RabbitMqUtil.getRabbitMqPort()); - * System.out.println("Rabitmq user: ::" + RabbitMqUtil.getRabbitMqUser()); - * System.out.println("Rabitmq password: ::" + RabbitMqUtil.getRabbitMqPassword()); - **/ - factory.setHost(RabbitMqUtil.getRabbitMqHost()); - factory.setPort(Integer.parseInt(RabbitMqUtil.getRabbitMqPort())); - factory.setUsername(RabbitMqUtil.getRabbitMqUser()); - factory.setPassword(RabbitMqUtil.getRabbitMqPassword()); - Connection connection = factory.newConnection(); - System.out.println("Connection open status"+connection.isOpen()); - Channel channel = connection.createChannel(); - channel.exchangeDeclare(EXCHANGE_NAME, "fanout"); - channel.basicPublish(EXCHANGE_NAME, "", null, message.getBytes()); - System.out.println(" [x] Sent '" + message + "'"); - channel.close(); - connection.close(); - } catch (IOException io) { - System.out.println("IOException"); - io.printStackTrace(); - } catch (TimeoutException toe) { - System.out.println("TimeoutException : " + toe.getMessage()); - toe.printStackTrace(); - } - return "response"; - } -} diff --git a/src/main/java/com/visualpathit/account/service/SecurityService.java b/src/main/java/com/visualpathit/account/service/SecurityService.java deleted file mode 100644 index dbd4d9bc5..000000000 --- a/src/main/java/com/visualpathit/account/service/SecurityService.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.visualpathit.account.service; - -/** method for finding already added user !*/ -public interface SecurityService { - /** {@inheritDoc}} !*/ - String findLoggedInUsername(); - - void autologin(String username, String password); -} diff --git a/src/main/java/com/visualpathit/account/service/SecurityServiceImpl.java b/src/main/java/com/visualpathit/account/service/SecurityServiceImpl.java deleted file mode 100644 index 14fee640d..000000000 --- a/src/main/java/com/visualpathit/account/service/SecurityServiceImpl.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.visualpathit.account.service; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.security.authentication - .UsernamePasswordAuthenticationToken; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UserDetailsService; -import org.springframework.stereotype.Service; -/** {@author imrant} !*/ -@Service -public class SecurityServiceImpl implements SecurityService { - /** authenticationManager !*/ - @Autowired - private AuthenticationManager authenticationManager; - /** userDetailsService !*/ - @Autowired - private UserDetailsService userDetailsService; - - /** Logger creation !*/ - private static final Logger logger = LoggerFactory - .getLogger(SecurityServiceImpl.class); - - @Override - public String findLoggedInUsername() { - Object userDetails = SecurityContextHolder.getContext() - .getAuthentication().getDetails(); - if (userDetails instanceof UserDetails) { - return ((UserDetails) userDetails).getUsername(); - } - - return null; - } - - @Override - public void autologin(final String username, final String password) { - UserDetails userDetails = userDetailsService.loadUserByUsername(username); - UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken = - new UsernamePasswordAuthenticationToken(userDetails, password, userDetails.getAuthorities()); - - authenticationManager.authenticate(usernamePasswordAuthenticationToken); - - if (usernamePasswordAuthenticationToken.isAuthenticated()) { - SecurityContextHolder.getContext() - .setAuthentication(usernamePasswordAuthenticationToken); - logger.debug(String.format("Auto login %s successfully!", username)); - } - } -} diff --git a/src/main/java/com/visualpathit/account/service/UserDetailsServiceImpl.java b/src/main/java/com/visualpathit/account/service/UserDetailsServiceImpl.java deleted file mode 100644 index 04c68ae80..000000000 --- a/src/main/java/com/visualpathit/account/service/UserDetailsServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.visualpathit.account.service; - -import com.visualpathit.account.model.Role; -import com.visualpathit.account.model.User; -import com.visualpathit.account.repository.UserRepository; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UserDetailsService; -import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.transaction.annotation.Transactional; - -import java.util.HashSet; -import java.util.Set; -/** {@author imrant} !*/ -public class UserDetailsServiceImpl implements UserDetailsService { - @Autowired - /** userRepository !*/ - private UserRepository userRepository; - - @Override - @Transactional(readOnly = true) - public UserDetails loadUserByUsername(final String username) - throws UsernameNotFoundException { - User user = userRepository.findByUsername(username); - - Set grantedAuthorities = new HashSet<>(); - for (Role role : user.getRoles()) { - grantedAuthorities.add(new SimpleGrantedAuthority(role.getName())); - } - - return new org.springframework.security.core - .userdetails.User(user.getUsername(), user.getPassword(), grantedAuthorities); - } -} diff --git a/src/main/java/com/visualpathit/account/service/UserService.java b/src/main/java/com/visualpathit/account/service/UserService.java deleted file mode 100644 index c85351e86..000000000 --- a/src/main/java/com/visualpathit/account/service/UserService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.visualpathit.account.service; - -import java.util.List; - -import com.visualpathit.account.model.User; - -/** {@author imrant}!*/ -public interface UserService { - /** {@inheritDoc}} !*/ - void save(User user); - /** {@inheritDoc}} !*/ - User findByUsername(String username); - User findById(long id); - /*public void updateUser(User user);*/ - public List getList(); -} diff --git a/src/main/java/com/visualpathit/account/service/UserServiceImpl.java b/src/main/java/com/visualpathit/account/service/UserServiceImpl.java deleted file mode 100644 index 2426b853f..000000000 --- a/src/main/java/com/visualpathit/account/service/UserServiceImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.visualpathit.account.service; - -import com.visualpathit.account.model.User; -import com.visualpathit.account.repository.RoleRepository; -import com.visualpathit.account.repository.UserRepository; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.stereotype.Service; - -import java.util.HashSet; -import java.util.List; - -/** {@author imrant}!*/ -@Service -public class UserServiceImpl implements UserService { - @Autowired - /** userRepository !*/ - private UserRepository userRepository; - @Autowired - /** roleRepository !*/ - private RoleRepository roleRepository; - @Autowired - /** bCryptPasswordEncoder !*/ - private BCryptPasswordEncoder bCryptPasswordEncoder; - - @Override - public void save(final User user) { - user.setPassword(bCryptPasswordEncoder.encode(user.getPassword())); - user.setRoles(new HashSet<>(roleRepository.findAll())); - userRepository.save(user); - } - - @Override - public User findByUsername(final String username) { - return userRepository.findByUsername(username); - } - - @Override - public List getList() { - return userRepository.findAll(); - } - @Override - public User findById(long id){ - return userRepository.findOne(id); - } -} diff --git a/src/main/java/com/visualpathit/account/utils/ElasticsearchUtil.java b/src/main/java/com/visualpathit/account/utils/ElasticsearchUtil.java deleted file mode 100644 index 838fa536e..000000000 --- a/src/main/java/com/visualpathit/account/utils/ElasticsearchUtil.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.visualpathit.account.utils; - -import java.net.InetSocketAddress; - -import org.elasticsearch.client.transport.TransportClient; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.transport.InetSocketTransportAddress; -import org.elasticsearch.transport.client.PreBuiltTransportClient; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.visualpathit.account.beans.Components; -@Service -public class ElasticsearchUtil { - - private static Components object; - @Autowired - public void setComponents(Components object){ - ElasticsearchUtil.object = object; - - } - public static TransportClient trannsportClient() { - System.out.println(" elasticsearch client"); - String elasticsearchHost =object.getElasticsearchHost(); - String elasticsearchPort =object.getElasticsearchPort(); - String elasticsearchCluster =object.getElasticsearchCluster(); - String elasticsearchNode =object.getElasticsearchNode(); - System.out.println(" elasticsearchHost ........"+ elasticsearchHost); - System.out.println(" elasticsearchHost ........"+ elasticsearchPort); - TransportClient client = null; - try { - Settings settings = Settings.builder() - .put("cluster.name",elasticsearchCluster) - .put("node.name",elasticsearchNode) - .build(); - client = new PreBuiltTransportClient(settings) - .addTransportAddress( - new InetSocketTransportAddress( - new InetSocketAddress(elasticsearchHost, Integer.parseInt(elasticsearchPort)))); - - - } - catch (Exception e) { - e.printStackTrace(); - } - return client; - } -} diff --git a/src/main/java/com/visualpathit/account/utils/MemcachedUtils.java b/src/main/java/com/visualpathit/account/utils/MemcachedUtils.java deleted file mode 100644 index 98e539154..000000000 --- a/src/main/java/com/visualpathit/account/utils/MemcachedUtils.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.visualpathit.account.utils; - -import java.net.InetSocketAddress; -import java.net.SocketAddress; -import java.util.concurrent.Future; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.visualpathit.account.beans.Components; -import com.visualpathit.account.model.User; - -import net.spy.memcached.MemcachedClient; -@Service -public class MemcachedUtils { - - private static Components object; - @Autowired - public void setComponents(Components object){ - MemcachedUtils.object = object; - } - public static String memcachedSetData(User user,String key){ - String Result = ""; - int expireTime = 900; - try{ - MemcachedClient mactiveClient = memcachedConnection(); - System.out.println("--------------------------------------------"); - System.out.println("Client is ::"+ mactiveClient.getStats()); - System.out.println("--------------------------------------------"); - Future future = mactiveClient.set(key,expireTime, user); - System.out.println("set status:" + future.get()); - Result =" Data is From DB and Data Inserted In Cache !!"; - mactiveClient.shutdown(); - - - } catch (Exception e) { - System.out.println( e.getMessage() ); - } - return Result; - } - public static User memcachedGetData(String key){ - String Result = ""; - User userData = null; - try{ - MemcachedClient mclient = memcachedConnection(); - System.out.println("--------------------------------------------"); - System.out.println("Client Status :: "+mclient.getStats()); - System.out.println("--------------------------------------------"); - userData = (User) mclient.get(key); - System.out.println("user value in cache - " + mclient.get(key)); - Result =" Data Retrieval From Cache !!"; - System.out.println(Result); - mclient.shutdown(); - - } catch (Exception e) { - System.out.println( e.getMessage() ); - } - return userData; - } - public static MemcachedClient memcachedConnection(){ - MemcachedClient mcconn = null; - boolean active = true; - String key="pid"; - String port = ""; - String activeHost =object.getActiveHost(); - String activePort =object.getActivePort(); - try{ - if(!activeHost.isEmpty() && !activePort.isEmpty() && active){ - mcconn = new MemcachedClient(new InetSocketAddress(activeHost,Integer.parseInt(activePort))); - for(SocketAddress innerKey:mcconn.getStats().keySet()){ - System.out.println("Connection SocketAddress ::" + innerKey); - //System.out.println("Connection port ::" + mcconn.getStats().get(innerKey).get(key)); - port = mcconn.getStats().get(innerKey).get(key); - } - if(port == null){ - System.out.println("Port::"+ port); - mcconn.shutdown(); - System.out.println("--------------------------------------------"); - System.out.println("Connection Failure By Active Host ::" + activeHost); - System.out.println("--------------------------------------------"); - mcconn = null; - active =false; - return mcconn = standByMemcachedConn(); - } - if(!port.isEmpty()){ - System.out.println("--------------------------------------------"); - System.out.println("Connection to server sucessfull for active Host ::"+activeHost); - System.out.println("--------------------------------------------"); - active =true; - return mcconn; - } - }else if(!activeHost.isEmpty() && !activePort.isEmpty() && !active){ - return mcconn = standByMemcachedConn(); - }else { - System.out.println("--------------------------------------------"); - System.out.println("Connection to Failure Due to Incorrect or Empty Host:: "); - System.out.println("--------------------------------------------"); - } - } - catch (Exception e) { - System.out.println( e.getMessage() ); - } - return mcconn; - } - public static MemcachedClient standByMemcachedConn(){ - MemcachedClient mcconn = null; - String port = ""; - String key="pid"; - String standByHost = object.getStandByHost(); - String standByPort = object.getStandByPort(); - try{ - if(!standByHost.isEmpty() && !standByPort.isEmpty() && mcconn == null && port.isEmpty()){ - mcconn = new MemcachedClient(new InetSocketAddress(standByHost,Integer.parseInt(standByPort))); - for(SocketAddress innerKey:mcconn.getStats().keySet()){ - port = mcconn.getStats().get(innerKey).get(key); - } - if(!port.isEmpty()){ - System.out.println("--------------------------------------------"); - System.out.println("Connection to server sucessful by StandBy Host::" + standByHost); - System.out.println("--------------------------------------------"); - return mcconn; - }else { - mcconn.shutdown(); - System.out.println("--------------------------------------------"); - System.out.println("Connection Failure By StandBy Host ::" +standByHost); - System.out.println("--------------------------------------------"); - } - } - }catch (Exception e) { - System.out.println( e.getMessage() ); - } - return mcconn; - } -} diff --git a/src/main/java/com/visualpathit/account/utils/RabbitMqUtil.java b/src/main/java/com/visualpathit/account/utils/RabbitMqUtil.java deleted file mode 100644 index cbef39120..000000000 --- a/src/main/java/com/visualpathit/account/utils/RabbitMqUtil.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.visualpathit.account.utils; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.visualpathit.account.beans.Components; - -@Service -public class RabbitMqUtil { - private static Components object; - - public RabbitMqUtil() {} - - @Autowired - public void setComponents(Components object) { - RabbitMqUtil.object = object; - } - - public static String getRabbitMqHost() { return object.getRabbitMqHost(); } - - public static String getRabbitMqPort() { - return object.getRabbitMqPort(); - } - - public static String getRabbitMqUser() { return object.getRabbitMqUser(); } - - public static String getRabbitMqPassword() { - return object.getRabbitMqPassword(); - } -} \ No newline at end of file diff --git a/src/main/java/com/visualpathit/account/validator/UserValidator.java b/src/main/java/com/visualpathit/account/validator/UserValidator.java deleted file mode 100644 index a6185b33a..000000000 --- a/src/main/java/com/visualpathit/account/validator/UserValidator.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.visualpathit.account.validator; - -import com.visualpathit.account.model.User; -import com.visualpathit.account.service.UserService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import org.springframework.validation.Errors; -import org.springframework.validation.ValidationUtils; -import org.springframework.validation.Validator; - -@Component -public class UserValidator implements Validator { - @Autowired - private UserService userService; - - @Override - public boolean supports(Class aClass) { - return User.class.equals(aClass); - } - - @Override - public void validate(Object o, Errors errors) { - User user = (User) o; - - ValidationUtils.rejectIfEmptyOrWhitespace(errors, "username", "NotEmpty"); - if (user.getUsername().length() < 6 || user.getUsername().length() > 32) { - errors.rejectValue("username", "Size.userForm.username"); - } - if (userService.findByUsername(user.getUsername()) != null) { - errors.rejectValue("username", "Duplicate.userForm.username"); - } - - ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "NotEmpty"); - if (user.getPassword().length() < 8 || user.getPassword().length() > 32) { - errors.rejectValue("password", "Size.userForm.password"); - } - - if (!user.getPasswordConfirm().equals(user.getPassword())) { - errors.rejectValue("passwordConfirm", "Diff.userForm.passwordConfirm"); - } - } -} diff --git a/src/main/resources/accountsdb.sql b/src/main/resources/accountsdb.sql deleted file mode 100644 index d224d810f..000000000 --- a/src/main/resources/accountsdb.sql +++ /dev/null @@ -1,104 +0,0 @@ --- MySQL dump 10.13 Distrib 5.7.18, for Linux (x86_64) --- --- Host: localhost Database: accounts --- ------------------------------------------------------ --- Server version 5.7.18-0ubuntu0.16.10.1 - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - --- --- Table structure for table `role` --- - -DROP TABLE IF EXISTS `role`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `role` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(45) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `role` --- - -LOCK TABLES `role` WRITE; -/*!40000 ALTER TABLE `role` DISABLE KEYS */; -INSERT INTO `role` VALUES (1,'ROLE_USER'); -/*!40000 ALTER TABLE `role` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `user` --- - -DROP TABLE IF EXISTS `user`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `user` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `username` varchar(255) DEFAULT NULL, - `userEmail` varchar(255) DEFAULT NULL, - `password` varchar(255) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `user` --- - -LOCK TABLES `user` WRITE; -/*!40000 ALTER TABLE `user` DISABLE KEYS */; -INSERT INTO `user` VALUES (4,'admin_vp','admin@visualpathit.com','$2a$11$DSEIKJNrgPjG.iCYUwErvOkREtC67mqzQ.ogkZbc/KOW1OPOpZfY6'); -/*!40000 ALTER TABLE `user` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `user_role` --- - -DROP TABLE IF EXISTS `user_role`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `user_role` ( - `user_id` int(11) NOT NULL, - `role_id` int(11) NOT NULL, - PRIMARY KEY (`user_id`,`role_id`), - KEY `fk_user_role_roleid_idx` (`role_id`), - CONSTRAINT `fk_user_role_roleid` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `fk_user_role_userid` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `user_role` --- - -LOCK TABLES `user_role` WRITE; -/*!40000 ALTER TABLE `user_role` DISABLE KEYS */; -INSERT INTO `user_role` VALUES (4,1); -/*!40000 ALTER TABLE `user_role` ENABLE KEYS */; -UNLOCK TABLES; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2017-08-28 10:50:51 diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index c04343d72..000000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1,25 +0,0 @@ -#JDBC Configutation for Database Connection -jdbc.driverClassName=com.mysql.jdbc.Driver -jdbc.url=jdbc:mysql://db01:3306/accounts?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull -jdbc.username=admin -jdbc.password=admin123 - -#Memcached Configuration For Active and StandBy Host -#For Active Host -memcached.active.host=mc01 -memcached.active.port=11211 -#For StandBy Host -memcached.standBy.host=127.0.0.2 -memcached.standBy.port=11211 - -#RabbitMq Configuration -rabbitmq.address=rmq01 -rabbitmq.port=5672 -rabbitmq.username=test -rabbitmq.password=test - -#Elasticesearch Configuration -elasticsearch.host =192.168.1.85 -elasticsearch.port =9300 -elasticsearch.cluster=vprofile -elasticsearch.node=vprofilenode diff --git a/src/main/resources/db_backup.sql b/src/main/resources/db_backup.sql deleted file mode 100644 index 2f17a4df3..000000000 --- a/src/main/resources/db_backup.sql +++ /dev/null @@ -1,133 +0,0 @@ --- MySQL dump 10.13 Distrib 5.7.18, for Linux (x86_64) --- --- Host: localhost Database: accounts --- ------------------------------------------------------ --- Server version 5.7.18-0ubuntu0.16.10.1 - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - --- --- Table structure for table `role` --- - -DROP TABLE IF EXISTS `role`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `role` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(45) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `role` --- - -LOCK TABLES `role` WRITE; -/*!40000 ALTER TABLE `role` DISABLE KEYS */; -INSERT INTO `role` VALUES (1,'ROLE_USER'); -/*!40000 ALTER TABLE `role` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `user` --- - -DROP TABLE IF EXISTS `user`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `user` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `username` varchar(255) DEFAULT NULL, - `userEmail` varchar(255) DEFAULT NULL, - `profileImg` varchar(255) DEFAULT NULL, - `profileImgPath` varchar(255) DEFAULT NULL, - `dateOfBirth` varchar(255) DEFAULT NULL, - `fatherName` varchar(255) DEFAULT NULL, - `motherName` varchar(255) DEFAULT NULL, - `gender` varchar(255) DEFAULT NULL, - `maritalStatus` varchar(255) DEFAULT NULL, - `permanentAddress` varchar(255) DEFAULT NULL, - `tempAddress` varchar(255) DEFAULT NULL, - `primaryOccupation` varchar(255) DEFAULT NULL, - `secondaryOccupation` varchar(255) DEFAULT NULL, - `skills` varchar(255) DEFAULT NULL, - `phoneNumber` varchar(255) DEFAULT NULL, - `secondaryPhoneNumber` varchar(255) DEFAULT NULL, - `nationality` varchar(255) DEFAULT NULL, - `language` varchar(255) DEFAULT NULL, - `workingExperience` varchar(255) DEFAULT NULL, - `password` varchar(255) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `user` --- - -LOCK TABLES `user` WRITE; -/*!40000 ALTER TABLE `user` DISABLE KEYS */; - -INSERT INTO `user` VALUES (7,'admin_vp','admin@hkhinfo.com',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'$2a$11$0a7VdTr4rfCQqtsvpng6GuJnzUmQ7gZiHXgzGPgm5hkRa3avXgBLK') -,(8,'Abrar Nirban','abrar.nirban74@gmail.com',NULL,NULL,'27/01/2002','A nirban','T nirban','male','unMarried','Dubai,UAE','Dubai,UAE','Software Engineer','Software Engineer','Java HTML CSS ','8888888888','8888888888','Indian','english','2 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6JAW'), -(9,'Amayra Fatima','amayra@gmail.com',NULL,NULL,'20/06/1993','K','L','female','unMarried','Dubai,UAE','Dubai,UAE','Software Engineer','Software Engineer','Java HTML CSS ','9999999999','9999999999','India','english','5','$2a$11$gwvsvUrFU.YirMM1Yb7NweFudLUM91AzH5BDFnhkNzfzpjG.FplYO'), -(10,'Aron','aron.DSilva@gmail.com',NULL,NULL,'27/01/2002','M nirban','R nirban','male','unMarried','Dubai,UAE','Dubai,UAE','Software Engineer','Software Engineer','Java HTML CSS ','7777777777','777777777','India','english','7','$2a$11$6oZEgfGGQAH23EaXLVZ2WOSKxcEJFnBSw2N2aghab0s2kcxSQwjhC'), -(11,'Kiran Kumar','kiran@gmail.com',NULL,NULL,'8/12/1993','K K','RK','male','unMarried','SanFrancisco','James Street','Software Engineer','Software Engineer','Java HTML CSS ','1010101010','1010101010','India','english','10','$2a$11$EXwpna1MlFFlKW5ut1iVi.AoeIulkPPmcOHFO8pOoQt1IYU9COU0m'), -(12,'Balbir Singh','balbir@gmail.com',NULL,NULL,'20/06/1993','balbir RK','balbir AK','male','unMarried','SanFrancisco','US','Software Engineer','Software Engineer','Java HTML CSS AWS','8888888111','8888888111','India','english','8','$2a$11$pzWNzzR.HUkHzz2zhAgqOeCl0WaTgY33NxxJ7n0l.rnEqjB9JO7vy'), -(4,'Hibo Prince','hibo.prince@gmail.com',NULL,NULL,'6/09/2000','Abara','Queen','male','unMarried','Electronic City,UAE','Electronic City,UAE','Tester','Freelancing','Python PHP ','9146389863','9146389871','Indian','hindi','3 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6JAR'), -(5,'Aejaaz Habeeb','aejaaz.habeeb@gmail.com',NULL,NULL,'16/02/2001','Imran','Ziya','male','unMarried','AbuDhabi,UAE','AbuDhabi,UAE','Developer','Developer','Azure Devops ','9566489863','9566489863','Indian','hindi','4 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6JAR'), -(6,'Jackie','jackie.chan@gmail.com',NULL,NULL,'28/09/1992','Charles','Chan','male','Married','HongKong,China','HongKong,China','MartialArtist','MartialArtist','KungFu ','9246488863','9246488863','Chinese','Mandrian','1 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6RAR'), -(13,'Srinath Goud','sgoud@gmail.com',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'$2a$11$6BSmYPrT8I8b9yHmx.uTRu/QxnQM2vhZYQa8mR33aReWA4WFihyGK'); - - -/*!40000 ALTER TABLE `user` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `user_role` --- - -DROP TABLE IF EXISTS `user_role`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `user_role` ( - `user_id` int(11) NOT NULL, - `role_id` int(11) NOT NULL, - PRIMARY KEY (`user_id`,`role_id`), - KEY `fk_user_role_roleid_idx` (`role_id`), - CONSTRAINT `fk_user_role_roleid` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `fk_user_role_userid` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `user_role` --- - -LOCK TABLES `user_role` WRITE; -/*!40000 ALTER TABLE `user_role` DISABLE KEYS */; -INSERT INTO `user_role` VALUES (4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1),(11,1),(12,1),(13,1); -/*!40000 ALTER TABLE `user_role` ENABLE KEYS */; -UNLOCK TABLES; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2023-21-06 05:49:31 diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml deleted file mode 100644 index 35b81df4d..000000000 --- a/src/main/resources/logback.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - %date{HH:mm:ss.SSS} [%thread] %-5level %logger{15}#%line %msg\n - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/validation.properties b/src/main/resources/validation.properties deleted file mode 100644 index 0453cdd3a..000000000 --- a/src/main/resources/validation.properties +++ /dev/null @@ -1,5 +0,0 @@ -NotEmpty=This field is required. -Size.userForm.username=Please use between 6 and 32 characters. -Duplicate.userForm.username= User has already taken this Username. -Size.userForm.password=Try one with at least 8 characters. -Diff.userForm.passwordConfirm=These passwords don't match. \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/appconfig-data.xml b/src/main/webapp/WEB-INF/appconfig-data.xml deleted file mode 100644 index 7be0032b5..000000000 --- a/src/main/webapp/WEB-INF/appconfig-data.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - org.hibernate.dialect.MySQL5Dialect - true - - - - - - - - - - - - - - - - - diff --git a/src/main/webapp/WEB-INF/appconfig-mvc.xml b/src/main/webapp/WEB-INF/appconfig-mvc.xml deleted file mode 100644 index 58f404dc5..000000000 --- a/src/main/webapp/WEB-INF/appconfig-mvc.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - classpath:validation - - - - - - /WEB-INF/views/ - - - .jsp - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/appconfig-rabbitmq.xml b/src/main/webapp/WEB-INF/appconfig-rabbitmq.xml deleted file mode 100644 index 989faec37..000000000 --- a/src/main/webapp/WEB-INF/appconfig-rabbitmq.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/appconfig-root.xml b/src/main/webapp/WEB-INF/appconfig-root.xml deleted file mode 100644 index 064cc5e7a..000000000 --- a/src/main/webapp/WEB-INF/appconfig-root.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/appconfig-security.xml b/src/main/webapp/WEB-INF/appconfig-security.xml deleted file mode 100644 index 5e2acf137..000000000 --- a/src/main/webapp/WEB-INF/appconfig-security.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/webapp/WEB-INF/views/elasticeSearchRes.jsp b/src/main/webapp/WEB-INF/views/elasticeSearchRes.jsp deleted file mode 100644 index 7a3161618..000000000 --- a/src/main/webapp/WEB-INF/views/elasticeSearchRes.jsp +++ /dev/null @@ -1,19 +0,0 @@ - -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> - - - - - -vp-elasticsearch - - -

Data is ${result} into Elasticsearch

-

Please go to elastic search dash board and verify link ip:9200/users/user/id

- - - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/index_home.jsp b/src/main/webapp/WEB-INF/views/index_home.jsp deleted file mode 100644 index 4579f61fe..000000000 --- a/src/main/webapp/WEB-INF/views/index_home.jsp +++ /dev/null @@ -1,156 +0,0 @@ -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> - - - - - - - - - -
-
- -
-
- -
- Architecture -
-

DevOps

-
-
-
-

-

Keep Learning ..

-

Learning is a Treasure that will follow it's Owner Everywhere..

-
- -
- - -
-

TECHNOLOGIES

-
- -
-
-
- DevOps -
-
-
-
- DevOps -
-
-
-
- DevOps -
-
-
-
- DevOps -
-
-
- -
-
-
- DevOps -
-
-
-
- DevOps -
-
-
-
- DevOps -
-
-
-
- DevOps -
-
-
- - -
-

ABOUT

-
-

VisualPath is an IT Educational Institute.Established in 2001,and Institute offers world class quality of education and wide range of courses.VisualPath Institute has a dedicated placement team to help students get job placement in various IT job roles with major companies. -

-

Address: Flat no: 205, 2nd Floor,NILGIRI Block,Aditya Encalve,Ameerpet, Hyderabad-16

-

Ph No: +91-9704455959,9618245689

-

E-Mail ID : visualpath999@gmail.com

-
-
- - -
-

CONTACT

-

Lets get in touch and talk about your and our next project.

-
- - - - - -
-
- - -
- - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/login.jsp b/src/main/webapp/WEB-INF/views/login.jsp deleted file mode 100644 index 0a41ac1c4..000000000 --- a/src/main/webapp/WEB-INF/views/login.jsp +++ /dev/null @@ -1,95 +0,0 @@ -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> - - - - - - - - - - - - - - LOGIN - - - - - - - - Welcome - - - - - - - - -
-
- -
-
-
- - - -
- - - - - diff --git a/src/main/webapp/WEB-INF/views/rabbitmq.jsp b/src/main/webapp/WEB-INF/views/rabbitmq.jsp deleted file mode 100644 index 2220694d4..000000000 --- a/src/main/webapp/WEB-INF/views/rabbitmq.jsp +++ /dev/null @@ -1,14 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - - - -Rabbitmq - - -

Rabbitmq initiated

-

Generated 2 Connections

-

6 Chanels 1 Exchage and 2 Que

- - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/registration.jsp b/src/main/webapp/WEB-INF/views/registration.jsp deleted file mode 100644 index be726ccd9..000000000 --- a/src/main/webapp/WEB-INF/views/registration.jsp +++ /dev/null @@ -1,112 +0,0 @@ -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> - - - - - - - - - - - - - - SIGNUP - - - - - - - - - - - - -
-
- -
-
- -
- - - -
- - - - - diff --git a/src/main/webapp/WEB-INF/views/upload.jsp b/src/main/webapp/WEB-INF/views/upload.jsp deleted file mode 100644 index 3e52f833a..000000000 --- a/src/main/webapp/WEB-INF/views/upload.jsp +++ /dev/null @@ -1,56 +0,0 @@ -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> -<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> -<%@ page session="false" %> - - - -Upload File Request Page - - - - - - -
-
-

Upload Image

-
- ${pageContext.request.userPrincipal.name}
-
- - -
-
- - -
-
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/user.jsp b/src/main/webapp/WEB-INF/views/user.jsp deleted file mode 100644 index 480bf6e24..000000000 --- a/src/main/webapp/WEB-INF/views/user.jsp +++ /dev/null @@ -1,163 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - - - - - -UserData - - - - - - - - - - - -
-
- -
-
- - -
-
-

${{Result}} Back

-

User Primary Details

- - - - - - - - - - - - - - - - - -
IdNameFather's NameMother's NameEmailPhone Number
- - - - - - - - - - - -
-

User Extra Details

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Date Of BirthGenderMarital StatusPermanent AddressTemporary AddressPrimary OccupationSecondary OccupationSkillsSecondary PhoneNumberNationalityLanguageWorking Experience
- - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/userList.jsp b/src/main/webapp/WEB-INF/views/userList.jsp deleted file mode 100644 index 1973e91be..000000000 --- a/src/main/webapp/WEB-INF/views/userList.jsp +++ /dev/null @@ -1,93 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> -<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - - - - - allUser - - - - - - - - - - - - -
-
- -
-
- -
-
-

Users List

- - - - - - - - - - - - -
User NameUser Id
- - - -
-
-
- - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/userUpdate.jsp b/src/main/webapp/WEB-INF/views/userUpdate.jsp deleted file mode 100644 index 7ae381668..000000000 --- a/src/main/webapp/WEB-INF/views/userUpdate.jsp +++ /dev/null @@ -1,314 +0,0 @@ -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> - - - - - - - - - - - - - - update user - - - - - - - - - -
-
-
- -
- -
- - Name : -
-
-
- -
- -
-
-
-
-
- - Email : -
-
-
- -
- -
-
-
-
-
- - Date Of Birth : -
-
-
- -
- -
-
-
-
-
- - Father's Name : -
-
-
- -
- -
-
-
-
-
- - Mother's Name : -
-
-
- -
- -
-
-
-
-
- - Gender -
- - - Male - - - - Female - - - - Other - -
-
-
-
- - Marital Status: -
- - - Married - - - - Unmarried - -
-
-
- -
- - Permanent Address : -
-
-
- -
- -
-
-
-
-
- - Temporary Address : -
-
-
- -
- -
-
-
-
-
- - Primary Occupation : -
-
-
- -
- -
-
-
-
-
- - Secondary Occupation : -
-
-
- -
- -
-
-
-
-
- - Skills : -
-
-
- -
- -
-
-
-
-
- - Phone Number : -
-
-
- -
- -
-
-
-
-
- - Secondary PhoneNumber : -
-
-
- -
- -
-
-
-
-
- - Nationality : -
-
-
- -
- -
-
-
-
-
- - Mother Tongue -
- - - English - - - - Spanish - - - - German - - - - Hindi - - - - Other - -
-
-
-
- - Work Experience : -
-
-
- -
- -
-
-
-
-
- -
- - Cancel -
-
-
-
-
-
-
- - - - diff --git a/src/main/webapp/WEB-INF/views/welcome.jsp b/src/main/webapp/WEB-INF/views/welcome.jsp deleted file mode 100644 index 1d5d193ff..000000000 --- a/src/main/webapp/WEB-INF/views/welcome.jsp +++ /dev/null @@ -1,486 +0,0 @@ -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> - - - - - - - Welcome - - - - - - - -
-
- -
.
- -
-
-
- -

${pageContext.request.userPrincipal.name}   ${pageContext.request.userPrincipal.name}@visualpath.co.in

- -
-

- #DevOps #Continuous Integration #Continuous Delivery #Automation - - All Users - - - RabbitMq - - - Elasticsearch - -


- - Posts - Photos 42 - Contacts 42 - - - - - - -
-
-
- -
-
-
- - - -
-

${pageContext.request.userPrincipal.name} 42 minutes ago

- - - -
-
-

"The Key to DevOps Success."

-

The Key to DevOps Success" Collaboration". Collaboration is essential to DevOps,yet how to do it is often unclear with many teams falling back on ineffective conference calls, instant messaging, documents, and SharePoint sites. In this keynote,we will share a vision for a next generation DevOps where collaboration, continuous documentation, and knowledge capture are combined with automation toolchains to enable rapid innovation and deployment.

-
-
-
- -
-

Public

-
-
-
-
-
-
- - - -
-
- -
-
-
-
- -
-
-
- - - -
-

${pageContext.request.userPrincipal.name} 42 minutes ago

- - - -
-
-
-
-
- - - -
-

Abrar nirban about 10 hours ago

-
-
-

What are DevOps skills?

-

Our respondents identified the top three skill areas for DevOps staff:

-

1) Coding or scripting 2)Process re-engineering 3)Communicating and collaborating with others Extensive knowledge of software build cycles 4)Experience deploying code 5)Experience in software architecture 6)Familiarity with application programming 7)Database management 8)System design.

-

These skills all point to a growing recognition that software is not written in the old way anymore. Where software used to be written from scratch in a highly complex and lengthy process, creating new products is now often a matter of choosing open source components and stitching them together with code. The complexity of todays software lies less in the authoring, and more in ensuring that the new software will work across a diverse set of operating systems and platforms right away. Likewise, testing and deployment are now done much more frequently. That is, they can be more frequent,if developers communicate early and regularly with the operations team, and if ops people bring their knowledge of the production environment to design of testing and staging environments.

-

Demand for people with DevOps skills is growing rapidly because businesses get great results from DevOps. Organizations using DevOps practices are overwhelmingly high-functioning: They deploy code up to 30 times more frequently than their competitors.

-
-
-
-
-
-
- -
-

Public

-
-
-
-
-
-
- - - -
-
- -
-
-
-
- -
-
-
- - - -
-

${pageContext.request.userPrincipal.name} 42 minutes ago

- - - -
-
-

" Manager Reaction On Your Work without DevOps "

- -


# I want DevOps # DevOps..

-
-
-
- -
-

Public via mobile

-
-
-
-
-
-
- - - -
-
- -
-
-
-
- -
-
-
- - - -
-

${pageContext.request.userPrincipal.name} 42 minutes ago

- - - -
-
-

"Feeling Happy to be a DevOps."

-
-
-
- -
-

Limited

-
-
-
-
-
- Show 12 more comments -
-
-
-
-
- - - -
-

Kiran Kumar

-
-
-

DevOps has significant importance to any company delivering software or technical services today.Defining DevOps is trickier than you would think, primarily because of its wide usage. It is essentially shorthand, and nothing more than that, for a lean approach to software delivery.

-
12 minutes ago -
-
-
-
-
-
-
-
-
- - - -
-

Mi Chleen

-
-
-

The secret to DevOps maturity is not technology or process, but people. It takes engaged leadership and all for one cooperation to achieve the kind of results that lead companies to superior IT performance. High-performing DevOps teams can recover 168 times faster from failures and have 60 times fewer failures due to changes, according to the 2015 State of DevOps Report by Puppet Labs. High-performing teams also release code at significantly increasing velocity as their teams grow in size, approaching three deploys per day per developer, for teams of around 1000 developers.

-
9 minutes ago -
-
-
-
-
-
-
-
-
- - - -
-

${pageContext.request.userPrincipal.name}

-
-
-

At a time when the speed of application development is vital to commercial success, the DevOps methodology based on communication, collaboration, integration and automation has become one of the biggest IT moves around. However, it is more than just a business philosophy;to do it right requires genuine infrastructure investment and development.

-
2 minutes ago -
-
-
-
-
-
-
- - - -
-
- -
-
-
-
-
-
-
-
- -
- -
-
-
- - - - - - diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 0f82cbdbf..000000000 --- a/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - Account Registration Web Application - - contextConfigLocation - /WEB-INF/appconfig-root.xml - - - springSecurityFilterChain - org.springframework.web.filter.DelegatingFilterProxy - - - springSecurityFilterChain - /* - - - dispatcher - org.springframework.web.servlet.DispatcherServlet - - contextConfigLocation - - - 1 - - - dispatcher - / - - - org.springframework.web.context.ContextLoaderListener - - \ No newline at end of file diff --git a/src/main/webapp/resources/Images/background.png b/src/main/webapp/resources/Images/background.png deleted file mode 100644 index e2d5dd3a9..000000000 Binary files a/src/main/webapp/resources/Images/background.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/header.jpg b/src/main/webapp/resources/Images/header.jpg deleted file mode 100644 index 702a1c3f3..000000000 Binary files a/src/main/webapp/resources/Images/header.jpg and /dev/null differ diff --git a/src/main/webapp/resources/Images/hkh-infotech-logo.png b/src/main/webapp/resources/Images/hkh-infotech-logo.png deleted file mode 100644 index 81e4ff1d5..000000000 Binary files a/src/main/webapp/resources/Images/hkh-infotech-logo.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/login-background.png b/src/main/webapp/resources/Images/login-background.png deleted file mode 100644 index 284d84a02..000000000 Binary files a/src/main/webapp/resources/Images/login-background.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/technologies/Ansible_logo.png b/src/main/webapp/resources/Images/technologies/Ansible_logo.png deleted file mode 100644 index c72d308c4..000000000 Binary files a/src/main/webapp/resources/Images/technologies/Ansible_logo.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/technologies/Vagrant.png b/src/main/webapp/resources/Images/technologies/Vagrant.png deleted file mode 100644 index 863621614..000000000 Binary files a/src/main/webapp/resources/Images/technologies/Vagrant.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/technologies/aws.png b/src/main/webapp/resources/Images/technologies/aws.png deleted file mode 100644 index 205c991ef..000000000 Binary files a/src/main/webapp/resources/Images/technologies/aws.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/technologies/docker.png b/src/main/webapp/resources/Images/technologies/docker.png deleted file mode 100644 index 580f2a1da..000000000 Binary files a/src/main/webapp/resources/Images/technologies/docker.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/technologies/git.jpg b/src/main/webapp/resources/Images/technologies/git.jpg deleted file mode 100644 index 037bb9aa0..000000000 Binary files a/src/main/webapp/resources/Images/technologies/git.jpg and /dev/null differ diff --git a/src/main/webapp/resources/Images/technologies/jenkins.png b/src/main/webapp/resources/Images/technologies/jenkins.png deleted file mode 100644 index 356ec31f2..000000000 Binary files a/src/main/webapp/resources/Images/technologies/jenkins.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/technologies/puppet.jpg b/src/main/webapp/resources/Images/technologies/puppet.jpg deleted file mode 100644 index e4d3fed6d..000000000 Binary files a/src/main/webapp/resources/Images/technologies/puppet.jpg and /dev/null differ diff --git a/src/main/webapp/resources/Images/technologies/python-logo.png b/src/main/webapp/resources/Images/technologies/python-logo.png deleted file mode 100644 index 738f6ed41..000000000 Binary files a/src/main/webapp/resources/Images/technologies/python-logo.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/user.png b/src/main/webapp/resources/Images/user.png deleted file mode 100644 index 6a3c4e24b..000000000 Binary files a/src/main/webapp/resources/Images/user.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/user/giphy.gif b/src/main/webapp/resources/Images/user/giphy.gif deleted file mode 100644 index 8cf166f7c..000000000 Binary files a/src/main/webapp/resources/Images/user/giphy.gif and /dev/null differ diff --git a/src/main/webapp/resources/Images/user/logo.png b/src/main/webapp/resources/Images/user/logo.png deleted file mode 100644 index c18fc6eba..000000000 Binary files a/src/main/webapp/resources/Images/user/logo.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/user/user.png b/src/main/webapp/resources/Images/user/user.png deleted file mode 100644 index 6a3c4e24b..000000000 Binary files a/src/main/webapp/resources/Images/user/user.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/user/user2.png b/src/main/webapp/resources/Images/user/user2.png deleted file mode 100644 index 9c600c3a6..000000000 Binary files a/src/main/webapp/resources/Images/user/user2.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/user/user3.png b/src/main/webapp/resources/Images/user/user3.png deleted file mode 100644 index 079ecba2e..000000000 Binary files a/src/main/webapp/resources/Images/user/user3.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/visualpath.png b/src/main/webapp/resources/Images/visualpath.png deleted file mode 100644 index 9c86eddbb..000000000 Binary files a/src/main/webapp/resources/Images/visualpath.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/visualpathlogo2.png b/src/main/webapp/resources/Images/visualpathlogo2.png deleted file mode 100644 index 4bd9e01fb..000000000 Binary files a/src/main/webapp/resources/Images/visualpathlogo2.png and /dev/null differ diff --git a/src/main/webapp/resources/Images/visualpathlogo3.png b/src/main/webapp/resources/Images/visualpathlogo3.png deleted file mode 100644 index 16ce5de36..000000000 Binary files a/src/main/webapp/resources/Images/visualpathlogo3.png and /dev/null differ diff --git a/src/main/webapp/resources/css/bootstrap.min.css b/src/main/webapp/resources/css/bootstrap.min.css deleted file mode 100644 index 5fd698e7b..000000000 --- a/src/main/webapp/resources/css/bootstrap.min.css +++ /dev/null @@ -1,7199 +0,0 @@ -/*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ -html { - font-family: sans-serif; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100% -} - -body { - margin: 0 -} - -article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { - display: block -} - -audio, canvas, progress, video { - display: inline-block; - vertical-align: baseline -} - -audio:not([controls]) { - display: none; - height: 0 -} - -[hidden], template { - display: none -} - -a { - background-color: transparent -} - -a:active, a:hover { - outline: 0 -} - -abbr[title] { - border-bottom: 1px dotted -} - -b, strong { - font-weight: 700 -} - -dfn { - font-style: italic -} - -h1 { - margin: .67em 0; - font-size: 2em -} - -mark { - color: #000; - background: #ff0 -} - -small { - font-size: 80% -} - -sub, sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline -} - -sup { - top: -.5em -} - -sub { - bottom: -.25em -} - -img { - border: 0 -} - -svg:not(:root) { - overflow: hidden -} - -figure { - margin: 1em 40px -} - -hr { - height: 0; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box -} - -pre { - overflow: auto -} - -code, kbd, pre, samp { - font-family: monospace, monospace; - font-size: 1em -} - -button, input, optgroup, select, textarea { - margin: 0; - font: inherit; - color: inherit -} - -button { - overflow: visible -} - -button, select { - text-transform: none -} - -button, html input[type=button], input[type=reset], input[type=submit] { - -webkit-appearance: button; - cursor: pointer -} - -button[disabled], html input[disabled] { - cursor: default -} - -button::-moz-focus-inner, input::-moz-focus-inner { - padding: 0; - border: 0 -} - -input { - line-height: normal -} - -input[type=checkbox], input[type=radio] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0 -} - -input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { - height: auto -} - -input[type=search] { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - -webkit-appearance: textfield -} - -input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { - -webkit-appearance: none -} - -fieldset { - padding: .35em .625em .75em; - margin: 0 2px; - border: 1px solid silver -} - -legend { - padding: 0; - border: 0 -} - -textarea { - overflow: auto -} - -optgroup { - font-weight: 700 -} - -table { - border-spacing: 0; - border-collapse: collapse -} - -td, th { - padding: 0 -} - -/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ -@media print { - *, :after, :before { - color: #000 !important; - text-shadow: none !important; - background: 0 0 !important; - -webkit-box-shadow: none !important; - box-shadow: none !important - } - - a, a:visited { - text-decoration: underline - } - - a[href]:after { - content: " (" attr(href) ")" - } - - abbr[title]:after { - content: " (" attr(title) ")" - } - - a[href^="javascript:"]:after, a[href^="#"]:after { - content: "" - } - - blockquote, pre { - border: 1px solid #999; - page-break-inside: avoid - } - - thead { - display: table-header-group - } - - img, tr { - page-break-inside: avoid - } - - img { - max-width: 100% !important - } - - h2, h3, p { - orphans: 3; - widows: 3 - } - - h2, h3 { - page-break-after: avoid - } - - .navbar { - display: none - } - - .btn > .caret, .dropup > .btn > .caret { - border-top-color: #000 !important - } - - .label { - border: 1px solid #000 - } - - .table { - border-collapse: collapse !important - } - - .table td, .table th { - background-color: #fff !important - } - - .table-bordered td, .table-bordered th { - border: 1px solid #ddd !important - } -} - -@font-face { - font-family: 'Glyphicons Halflings'; - src: url(../fonts/glyphicons-halflings-regular.eot); - src: url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'), url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'), url(../fonts/glyphicons-halflings-regular.woff) format('woff'), url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'), url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg') -} - -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: 400; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale -} - -.glyphicon-asterisk:before { - content: "\2a" -} - -.glyphicon-plus:before { - content: "\2b" -} - -.glyphicon-eur:before, .glyphicon-euro:before { - content: "\20ac" -} - -.glyphicon-minus:before { - content: "\2212" -} - -.glyphicon-cloud:before { - content: "\2601" -} - -.glyphicon-envelope:before { - content: "\2709" -} - -.glyphicon-pencil:before { - content: "\270f" -} - -.glyphicon-glass:before { - content: "\e001" -} - -.glyphicon-music:before { - content: "\e002" -} - -.glyphicon-search:before { - content: "\e003" -} - -.glyphicon-heart:before { - content: "\e005" -} - -.glyphicon-star:before { - content: "\e006" -} - -.glyphicon-star-empty:before { - content: "\e007" -} - -.glyphicon-user:before { - content: "\e008" -} - -.glyphicon-film:before { - content: "\e009" -} - -.glyphicon-th-large:before { - content: "\e010" -} - -.glyphicon-th:before { - content: "\e011" -} - -.glyphicon-th-list:before { - content: "\e012" -} - -.glyphicon-ok:before { - content: "\e013" -} - -.glyphicon-remove:before { - content: "\e014" -} - -.glyphicon-zoom-in:before { - content: "\e015" -} - -.glyphicon-zoom-out:before { - content: "\e016" -} - -.glyphicon-off:before { - content: "\e017" -} - -.glyphicon-signal:before { - content: "\e018" -} - -.glyphicon-cog:before { - content: "\e019" -} - -.glyphicon-trash:before { - content: "\e020" -} - -.glyphicon-home:before { - content: "\e021" -} - -.glyphicon-file:before { - content: "\e022" -} - -.glyphicon-time:before { - content: "\e023" -} - -.glyphicon-road:before { - content: "\e024" -} - -.glyphicon-download-alt:before { - content: "\e025" -} - -.glyphicon-download:before { - content: "\e026" -} - -.glyphicon-upload:before { - content: "\e027" -} - -.glyphicon-inbox:before { - content: "\e028" -} - -.glyphicon-play-circle:before { - content: "\e029" -} - -.glyphicon-repeat:before { - content: "\e030" -} - -.glyphicon-refresh:before { - content: "\e031" -} - -.glyphicon-list-alt:before { - content: "\e032" -} - -.glyphicon-lock:before { - content: "\e033" -} - -.glyphicon-flag:before { - content: "\e034" -} - -.glyphicon-headphones:before { - content: "\e035" -} - -.glyphicon-volume-off:before { - content: "\e036" -} - -.glyphicon-volume-down:before { - content: "\e037" -} - -.glyphicon-volume-up:before { - content: "\e038" -} - -.glyphicon-qrcode:before { - content: "\e039" -} - -.glyphicon-barcode:before { - content: "\e040" -} - -.glyphicon-tag:before { - content: "\e041" -} - -.glyphicon-tags:before { - content: "\e042" -} - -.glyphicon-book:before { - content: "\e043" -} - -.glyphicon-bookmark:before { - content: "\e044" -} - -.glyphicon-print:before { - content: "\e045" -} - -.glyphicon-camera:before { - content: "\e046" -} - -.glyphicon-font:before { - content: "\e047" -} - -.glyphicon-bold:before { - content: "\e048" -} - -.glyphicon-italic:before { - content: "\e049" -} - -.glyphicon-text-height:before { - content: "\e050" -} - -.glyphicon-text-width:before { - content: "\e051" -} - -.glyphicon-align-left:before { - content: "\e052" -} - -.glyphicon-align-center:before { - content: "\e053" -} - -.glyphicon-align-right:before { - content: "\e054" -} - -.glyphicon-align-justify:before { - content: "\e055" -} - -.glyphicon-list:before { - content: "\e056" -} - -.glyphicon-indent-left:before { - content: "\e057" -} - -.glyphicon-indent-right:before { - content: "\e058" -} - -.glyphicon-facetime-video:before { - content: "\e059" -} - -.glyphicon-picture:before { - content: "\e060" -} - -.glyphicon-map-marker:before { - content: "\e062" -} - -.glyphicon-adjust:before { - content: "\e063" -} - -.glyphicon-tint:before { - content: "\e064" -} - -.glyphicon-edit:before { - content: "\e065" -} - -.glyphicon-share:before { - content: "\e066" -} - -.glyphicon-check:before { - content: "\e067" -} - -.glyphicon-move:before { - content: "\e068" -} - -.glyphicon-step-backward:before { - content: "\e069" -} - -.glyphicon-fast-backward:before { - content: "\e070" -} - -.glyphicon-backward:before { - content: "\e071" -} - -.glyphicon-play:before { - content: "\e072" -} - -.glyphicon-pause:before { - content: "\e073" -} - -.glyphicon-stop:before { - content: "\e074" -} - -.glyphicon-forward:before { - content: "\e075" -} - -.glyphicon-fast-forward:before { - content: "\e076" -} - -.glyphicon-step-forward:before { - content: "\e077" -} - -.glyphicon-eject:before { - content: "\e078" -} - -.glyphicon-chevron-left:before { - content: "\e079" -} - -.glyphicon-chevron-right:before { - content: "\e080" -} - -.glyphicon-plus-sign:before { - content: "\e081" -} - -.glyphicon-minus-sign:before { - content: "\e082" -} - -.glyphicon-remove-sign:before { - content: "\e083" -} - -.glyphicon-ok-sign:before { - content: "\e084" -} - -.glyphicon-question-sign:before { - content: "\e085" -} - -.glyphicon-info-sign:before { - content: "\e086" -} - -.glyphicon-screenshot:before { - content: "\e087" -} - -.glyphicon-remove-circle:before { - content: "\e088" -} - -.glyphicon-ok-circle:before { - content: "\e089" -} - -.glyphicon-ban-circle:before { - content: "\e090" -} - -.glyphicon-arrow-left:before { - content: "\e091" -} - -.glyphicon-arrow-right:before { - content: "\e092" -} - -.glyphicon-arrow-up:before { - content: "\e093" -} - -.glyphicon-arrow-down:before { - content: "\e094" -} - -.glyphicon-share-alt:before { - content: "\e095" -} - -.glyphicon-resize-full:before { - content: "\e096" -} - -.glyphicon-resize-small:before { - content: "\e097" -} - -.glyphicon-exclamation-sign:before { - content: "\e101" -} - -.glyphicon-gift:before { - content: "\e102" -} - -.glyphicon-leaf:before { - content: "\e103" -} - -.glyphicon-fire:before { - content: "\e104" -} - -.glyphicon-eye-open:before { - content: "\e105" -} - -.glyphicon-eye-close:before { - content: "\e106" -} - -.glyphicon-warning-sign:before { - content: "\e107" -} - -.glyphicon-plane:before { - content: "\e108" -} - -.glyphicon-calendar:before { - content: "\e109" -} - -.glyphicon-random:before { - content: "\e110" -} - -.glyphicon-comment:before { - content: "\e111" -} - -.glyphicon-magnet:before { - content: "\e112" -} - -.glyphicon-chevron-up:before { - content: "\e113" -} - -.glyphicon-chevron-down:before { - content: "\e114" -} - -.glyphicon-retweet:before { - content: "\e115" -} - -.glyphicon-shopping-cart:before { - content: "\e116" -} - -.glyphicon-folder-close:before { - content: "\e117" -} - -.glyphicon-folder-open:before { - content: "\e118" -} - -.glyphicon-resize-vertical:before { - content: "\e119" -} - -.glyphicon-resize-horizontal:before { - content: "\e120" -} - -.glyphicon-hdd:before { - content: "\e121" -} - -.glyphicon-bullhorn:before { - content: "\e122" -} - -.glyphicon-bell:before { - content: "\e123" -} - -.glyphicon-certificate:before { - content: "\e124" -} - -.glyphicon-thumbs-up:before { - content: "\e125" -} - -.glyphicon-thumbs-down:before { - content: "\e126" -} - -.glyphicon-hand-right:before { - content: "\e127" -} - -.glyphicon-hand-left:before { - content: "\e128" -} - -.glyphicon-hand-up:before { - content: "\e129" -} - -.glyphicon-hand-down:before { - content: "\e130" -} - -.glyphicon-circle-arrow-right:before { - content: "\e131" -} - -.glyphicon-circle-arrow-left:before { - content: "\e132" -} - -.glyphicon-circle-arrow-up:before { - content: "\e133" -} - -.glyphicon-circle-arrow-down:before { - content: "\e134" -} - -.glyphicon-globe:before { - content: "\e135" -} - -.glyphicon-wrench:before { - content: "\e136" -} - -.glyphicon-tasks:before { - content: "\e137" -} - -.glyphicon-filter:before { - content: "\e138" -} - -.glyphicon-briefcase:before { - content: "\e139" -} - -.glyphicon-fullscreen:before { - content: "\e140" -} - -.glyphicon-dashboard:before { - content: "\e141" -} - -.glyphicon-paperclip:before { - content: "\e142" -} - -.glyphicon-heart-empty:before { - content: "\e143" -} - -.glyphicon-link:before { - content: "\e144" -} - -.glyphicon-phone:before { - content: "\e145" -} - -.glyphicon-pushpin:before { - content: "\e146" -} - -.glyphicon-usd:before { - content: "\e148" -} - -.glyphicon-gbp:before { - content: "\e149" -} - -.glyphicon-sort:before { - content: "\e150" -} - -.glyphicon-sort-by-alphabet:before { - content: "\e151" -} - -.glyphicon-sort-by-alphabet-alt:before { - content: "\e152" -} - -.glyphicon-sort-by-order:before { - content: "\e153" -} - -.glyphicon-sort-by-order-alt:before { - content: "\e154" -} - -.glyphicon-sort-by-attributes:before { - content: "\e155" -} - -.glyphicon-sort-by-attributes-alt:before { - content: "\e156" -} - -.glyphicon-unchecked:before { - content: "\e157" -} - -.glyphicon-expand:before { - content: "\e158" -} - -.glyphicon-collapse-down:before { - content: "\e159" -} - -.glyphicon-collapse-up:before { - content: "\e160" -} - -.glyphicon-log-in:before { - content: "\e161" -} - -.glyphicon-flash:before { - content: "\e162" -} - -.glyphicon-log-out:before { - content: "\e163" -} - -.glyphicon-new-window:before { - content: "\e164" -} - -.glyphicon-record:before { - content: "\e165" -} - -.glyphicon-save:before { - content: "\e166" -} - -.glyphicon-open:before { - content: "\e167" -} - -.glyphicon-saved:before { - content: "\e168" -} - -.glyphicon-import:before { - content: "\e169" -} - -.glyphicon-export:before { - content: "\e170" -} - -.glyphicon-send:before { - content: "\e171" -} - -.glyphicon-floppy-disk:before { - content: "\e172" -} - -.glyphicon-floppy-saved:before { - content: "\e173" -} - -.glyphicon-floppy-remove:before { - content: "\e174" -} - -.glyphicon-floppy-save:before { - content: "\e175" -} - -.glyphicon-floppy-open:before { - content: "\e176" -} - -.glyphicon-credit-card:before { - content: "\e177" -} - -.glyphicon-transfer:before { - content: "\e178" -} - -.glyphicon-cutlery:before { - content: "\e179" -} - -.glyphicon-header:before { - content: "\e180" -} - -.glyphicon-compressed:before { - content: "\e181" -} - -.glyphicon-earphone:before { - content: "\e182" -} - -.glyphicon-phone-alt:before { - content: "\e183" -} - -.glyphicon-tower:before { - content: "\e184" -} - -.glyphicon-stats:before { - content: "\e185" -} - -.glyphicon-sd-video:before { - content: "\e186" -} - -.glyphicon-hd-video:before { - content: "\e187" -} - -.glyphicon-subtitles:before { - content: "\e188" -} - -.glyphicon-sound-stereo:before { - content: "\e189" -} - -.glyphicon-sound-dolby:before { - content: "\e190" -} - -.glyphicon-sound-5-1:before { - content: "\e191" -} - -.glyphicon-sound-6-1:before { - content: "\e192" -} - -.glyphicon-sound-7-1:before { - content: "\e193" -} - -.glyphicon-copyright-mark:before { - content: "\e194" -} - -.glyphicon-registration-mark:before { - content: "\e195" -} - -.glyphicon-cloud-download:before { - content: "\e197" -} - -.glyphicon-cloud-upload:before { - content: "\e198" -} - -.glyphicon-tree-conifer:before { - content: "\e199" -} - -.glyphicon-tree-deciduous:before { - content: "\e200" -} - -.glyphicon-cd:before { - content: "\e201" -} - -.glyphicon-save-file:before { - content: "\e202" -} - -.glyphicon-open-file:before { - content: "\e203" -} - -.glyphicon-level-up:before { - content: "\e204" -} - -.glyphicon-copy:before { - content: "\e205" -} - -.glyphicon-paste:before { - content: "\e206" -} - -.glyphicon-alert:before { - content: "\e209" -} - -.glyphicon-equalizer:before { - content: "\e210" -} - -.glyphicon-king:before { - content: "\e211" -} - -.glyphicon-queen:before { - content: "\e212" -} - -.glyphicon-pawn:before { - content: "\e213" -} - -.glyphicon-bishop:before { - content: "\e214" -} - -.glyphicon-knight:before { - content: "\e215" -} - -.glyphicon-baby-formula:before { - content: "\e216" -} - -.glyphicon-tent:before { - content: "\26fa" -} - -.glyphicon-blackboard:before { - content: "\e218" -} - -.glyphicon-bed:before { - content: "\e219" -} - -.glyphicon-apple:before { - content: "\f8ff" -} - -.glyphicon-erase:before { - content: "\e221" -} - -.glyphicon-hourglass:before { - content: "\231b" -} - -.glyphicon-lamp:before { - content: "\e223" -} - -.glyphicon-duplicate:before { - content: "\e224" -} - -.glyphicon-piggy-bank:before { - content: "\e225" -} - -.glyphicon-scissors:before { - content: "\e226" -} - -.glyphicon-bitcoin:before { - content: "\e227" -} - -.glyphicon-btc:before { - content: "\e227" -} - -.glyphicon-xbt:before { - content: "\e227" -} - -.glyphicon-yen:before { - content: "\00a5" -} - -.glyphicon-jpy:before { - content: "\00a5" -} - -.glyphicon-ruble:before { - content: "\20bd" -} - -.glyphicon-rub:before { - content: "\20bd" -} - -.glyphicon-scale:before { - content: "\e230" -} - -.glyphicon-ice-lolly:before { - content: "\e231" -} - -.glyphicon-ice-lolly-tasted:before { - content: "\e232" -} - -.glyphicon-education:before { - content: "\e233" -} - -.glyphicon-option-horizontal:before { - content: "\e234" -} - -.glyphicon-option-vertical:before { - content: "\e235" -} - -.glyphicon-menu-hamburger:before { - content: "\e236" -} - -.glyphicon-modal-window:before { - content: "\e237" -} - -.glyphicon-oil:before { - content: "\e238" -} - -.glyphicon-grain:before { - content: "\e239" -} - -.glyphicon-sunglasses:before { - content: "\e240" -} - -.glyphicon-text-size:before { - content: "\e241" -} - -.glyphicon-text-color:before { - content: "\e242" -} - -.glyphicon-text-background:before { - content: "\e243" -} - -.glyphicon-object-align-top:before { - content: "\e244" -} - -.glyphicon-object-align-bottom:before { - content: "\e245" -} - -.glyphicon-object-align-horizontal:before { - content: "\e246" -} - -.glyphicon-object-align-left:before { - content: "\e247" -} - -.glyphicon-object-align-vertical:before { - content: "\e248" -} - -.glyphicon-object-align-right:before { - content: "\e249" -} - -.glyphicon-triangle-right:before { - content: "\e250" -} - -.glyphicon-triangle-left:before { - content: "\e251" -} - -.glyphicon-triangle-bottom:before { - content: "\e252" -} - -.glyphicon-triangle-top:before { - content: "\e253" -} - -.glyphicon-console:before { - content: "\e254" -} - -.glyphicon-superscript:before { - content: "\e255" -} - -.glyphicon-subscript:before { - content: "\e256" -} - -.glyphicon-menu-left:before { - content: "\e257" -} - -.glyphicon-menu-right:before { - content: "\e258" -} - -.glyphicon-menu-down:before { - content: "\e259" -} - -.glyphicon-menu-up:before { - content: "\e260" -} - -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box -} - -:after, :before { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box -} - -html { - font-size: 10px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0) -} - -body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #333; - background-color: #fff -} - -button, input, select, textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit -} - -a { - color: #337ab7; - text-decoration: none -} - -a:focus, a:hover { - color: #23527c; - text-decoration: underline -} - -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px -} - -figure { - margin: 0 -} - -img { - vertical-align: middle -} - -.carousel-inner > .item > a > img, .carousel-inner > .item > img, .img-responsive, .thumbnail a > img, .thumbnail > img { - display: block; - max-width: 100%; - height: auto -} - -.img-rounded { - border-radius: 6px -} - -.img-thumbnail { - display: inline-block; - max-width: 100%; - height: auto; - padding: 4px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out -} - -.img-circle { - border-radius: 50% -} - -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eee -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0 -} - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto -} - -[role=button] { - cursor: pointer -} - -.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit -} - -.h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, .h4 .small, .h4 small, .h5 .small, .h5 small, .h6 .small, .h6 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small, h4 .small, h4 small, h5 .small, h5 small, h6 .small, h6 small { - font-weight: 400; - line-height: 1; - color: #777 -} - -.h1, .h2, .h3, h1, h2, h3 { - margin-top: 20px; - margin-bottom: 10px -} - -.h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small { - font-size: 65% -} - -.h4, .h5, .h6, h4, h5, h6 { - margin-top: 10px; - margin-bottom: 10px -} - -.h4 .small, .h4 small, .h5 .small, .h5 small, .h6 .small, .h6 small, h4 .small, h4 small, h5 .small, h5 small, h6 .small, h6 small { - font-size: 75% -} - -.h1, h1 { - font-size: 36px -} - -.h2, h2 { - font-size: 30px -} - -.h3, h3 { - font-size: 24px -} - -.h4, h4 { - font-size: 18px -} - -.h5, h5 { - font-size: 14px -} - -.h6, h6 { - font-size: 12px -} - -p { - margin: 0 0 10px -} - -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 300; - line-height: 1.4 -} - -@media (min-width: 768px) { - .lead { - font-size: 21px - } -} - -.small, small { - font-size: 85% -} - -.mark, mark { - padding: .2em; - background-color: #fcf8e3 -} - -.text-left { - text-align: left -} - -.text-right { - text-align: right -} - -.text-center { - text-align: center -} - -.text-justify { - text-align: justify -} - -.text-nowrap { - white-space: nowrap -} - -.text-lowercase { - text-transform: lowercase -} - -.text-uppercase { - text-transform: uppercase -} - -.text-capitalize { - text-transform: capitalize -} - -.text-muted { - color: #777 -} - -.text-primary { - color: #337ab7 -} - -a.text-primary:focus, a.text-primary:hover { - color: #286090 -} - -.text-success { - color: #3c763d -} - -a.text-success:focus, a.text-success:hover { - color: #2b542c -} - -.text-info { - color: #31708f -} - -a.text-info:focus, a.text-info:hover { - color: #245269 -} - -.text-warning { - color: #8a6d3b -} - -a.text-warning:focus, a.text-warning:hover { - color: #66512c -} - -.text-danger { - color: #a94442 -} - -a.text-danger:focus, a.text-danger:hover { - color: #843534 -} - -.bg-primary { - color: #fff; - background-color: #337ab7 -} - -a.bg-primary:focus, a.bg-primary:hover { - background-color: #286090 -} - -.bg-success { - background-color: #dff0d8 -} - -a.bg-success:focus, a.bg-success:hover { - background-color: #c1e2b3 -} - -.bg-info { - background-color: #d9edf7 -} - -a.bg-info:focus, a.bg-info:hover { - background-color: #afd9ee -} - -.bg-warning { - background-color: #fcf8e3 -} - -a.bg-warning:focus, a.bg-warning:hover { - background-color: #f7ecb5 -} - -.bg-danger { - background-color: #f2dede -} - -a.bg-danger:focus, a.bg-danger:hover { - background-color: #e4b9b9 -} - -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eee -} - -ol, ul { - margin-top: 0; - margin-bottom: 10px -} - -ol ol, ol ul, ul ol, ul ul { - margin-bottom: 0 -} - -.list-unstyled { - padding-left: 0; - list-style: none -} - -.list-inline { - padding-left: 0; - margin-left: -5px; - list-style: none -} - -.list-inline > li { - display: inline-block; - padding-right: 5px; - padding-left: 5px -} - -dl { - margin-top: 0; - margin-bottom: 20px -} - -dd, dt { - line-height: 1.42857143 -} - -dt { - font-weight: 700 -} - -dd { - margin-left: 0 -} - -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - overflow: hidden; - clear: left; - text-align: right; - text-overflow: ellipsis; - white-space: nowrap - } - - .dl-horizontal dd { - margin-left: 180px - } -} - -abbr[data-original-title], abbr[title] { - cursor: help; - border-bottom: 1px dotted #777 -} - -.initialism { - font-size: 90%; - text-transform: uppercase -} - -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #eee -} - -blockquote ol:last-child, blockquote p:last-child, blockquote ul:last-child { - margin-bottom: 0 -} - -blockquote .small, blockquote footer, blockquote small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #777 -} - -blockquote .small:before, blockquote footer:before, blockquote small:before { - content: '\2014 \00A0' -} - -.blockquote-reverse, blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - text-align: right; - border-right: 5px solid #eee; - border-left: 0 -} - -.blockquote-reverse .small:before, .blockquote-reverse footer:before, .blockquote-reverse small:before, blockquote.pull-right .small:before, blockquote.pull-right footer:before, blockquote.pull-right small:before { - content: '' -} - -.blockquote-reverse .small:after, .blockquote-reverse footer:after, .blockquote-reverse small:after, blockquote.pull-right .small:after, blockquote.pull-right footer:after, blockquote.pull-right small:after { - content: '\00A0 \2014' -} - -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.42857143 -} - -code, kbd, pre, samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace -} - -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - border-radius: 4px -} - -kbd { - padding: 2px 4px; - font-size: 90%; - color: #fff; - background-color: #333; - border-radius: 3px; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25) -} - -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700; - -webkit-box-shadow: none; - box-shadow: none -} - -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - color: #333; - word-break: break-all; - word-wrap: break-word; - background-color: #f5f5f5; - border: 1px solid #ccc; - border-radius: 4px -} - -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0 -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll -} - -.container { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto -} - -@media (min-width: 768px) { - .container { - width: 750px - } -} - -@media (min-width: 992px) { - .container { - width: 970px - } -} - -@media (min-width: 1200px) { - .container { - width: 1170px - } -} - -.container-fluid { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto -} - -.row { - margin-right: -15px; - margin-left: -15px -} - -.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 { - position: relative; - min-height: 1px; - padding-right: 15px; - padding-left: 15px -} - -.col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 { - float: left -} - -.col-xs-12 { - width: 100% -} - -.col-xs-11 { - width: 91.66666667% -} - -.col-xs-10 { - width: 83.33333333% -} - -.col-xs-9 { - width: 75% -} - -.col-xs-8 { - width: 66.66666667% -} - -.col-xs-7 { - width: 58.33333333% -} - -.col-xs-6 { - width: 50% -} - -.col-xs-5 { - width: 41.66666667% -} - -.col-xs-4 { - width: 33.33333333% -} - -.col-xs-3 { - width: 25% -} - -.col-xs-2 { - width: 16.66666667% -} - -.col-xs-1 { - width: 8.33333333% -} - -.col-xs-pull-12 { - right: 100% -} - -.col-xs-pull-11 { - right: 91.66666667% -} - -.col-xs-pull-10 { - right: 83.33333333% -} - -.col-xs-pull-9 { - right: 75% -} - -.col-xs-pull-8 { - right: 66.66666667% -} - -.col-xs-pull-7 { - right: 58.33333333% -} - -.col-xs-pull-6 { - right: 50% -} - -.col-xs-pull-5 { - right: 41.66666667% -} - -.col-xs-pull-4 { - right: 33.33333333% -} - -.col-xs-pull-3 { - right: 25% -} - -.col-xs-pull-2 { - right: 16.66666667% -} - -.col-xs-pull-1 { - right: 8.33333333% -} - -.col-xs-pull-0 { - right: auto -} - -.col-xs-push-12 { - left: 100% -} - -.col-xs-push-11 { - left: 91.66666667% -} - -.col-xs-push-10 { - left: 83.33333333% -} - -.col-xs-push-9 { - left: 75% -} - -.col-xs-push-8 { - left: 66.66666667% -} - -.col-xs-push-7 { - left: 58.33333333% -} - -.col-xs-push-6 { - left: 50% -} - -.col-xs-push-5 { - left: 41.66666667% -} - -.col-xs-push-4 { - left: 33.33333333% -} - -.col-xs-push-3 { - left: 25% -} - -.col-xs-push-2 { - left: 16.66666667% -} - -.col-xs-push-1 { - left: 8.33333333% -} - -.col-xs-push-0 { - left: auto -} - -.col-xs-offset-12 { - margin-left: 100% -} - -.col-xs-offset-11 { - margin-left: 91.66666667% -} - -.col-xs-offset-10 { - margin-left: 83.33333333% -} - -.col-xs-offset-9 { - margin-left: 75% -} - -.col-xs-offset-8 { - margin-left: 66.66666667% -} - -.col-xs-offset-7 { - margin-left: 58.33333333% -} - -.col-xs-offset-6 { - margin-left: 50% -} - -.col-xs-offset-5 { - margin-left: 41.66666667% -} - -.col-xs-offset-4 { - margin-left: 33.33333333% -} - -.col-xs-offset-3 { - margin-left: 25% -} - -.col-xs-offset-2 { - margin-left: 16.66666667% -} - -.col-xs-offset-1 { - margin-left: 8.33333333% -} - -.col-xs-offset-0 { - margin-left: 0 -} - -@media (min-width: 768px) { - .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9 { - float: left - } - - .col-sm-12 { - width: 100% - } - - .col-sm-11 { - width: 91.66666667% - } - - .col-sm-10 { - width: 83.33333333% - } - - .col-sm-9 { - width: 75% - } - - .col-sm-8 { - width: 66.66666667% - } - - .col-sm-7 { - width: 58.33333333% - } - - .col-sm-6 { - width: 50% - } - - .col-sm-5 { - width: 41.66666667% - } - - .col-sm-4 { - width: 33.33333333% - } - - .col-sm-3 { - width: 25% - } - - .col-sm-2 { - width: 16.66666667% - } - - .col-sm-1 { - width: 8.33333333% - } - - .col-sm-pull-12 { - right: 100% - } - - .col-sm-pull-11 { - right: 91.66666667% - } - - .col-sm-pull-10 { - right: 83.33333333% - } - - .col-sm-pull-9 { - right: 75% - } - - .col-sm-pull-8 { - right: 66.66666667% - } - - .col-sm-pull-7 { - right: 58.33333333% - } - - .col-sm-pull-6 { - right: 50% - } - - .col-sm-pull-5 { - right: 41.66666667% - } - - .col-sm-pull-4 { - right: 33.33333333% - } - - .col-sm-pull-3 { - right: 25% - } - - .col-sm-pull-2 { - right: 16.66666667% - } - - .col-sm-pull-1 { - right: 8.33333333% - } - - .col-sm-pull-0 { - right: auto - } - - .col-sm-push-12 { - left: 100% - } - - .col-sm-push-11 { - left: 91.66666667% - } - - .col-sm-push-10 { - left: 83.33333333% - } - - .col-sm-push-9 { - left: 75% - } - - .col-sm-push-8 { - left: 66.66666667% - } - - .col-sm-push-7 { - left: 58.33333333% - } - - .col-sm-push-6 { - left: 50% - } - - .col-sm-push-5 { - left: 41.66666667% - } - - .col-sm-push-4 { - left: 33.33333333% - } - - .col-sm-push-3 { - left: 25% - } - - .col-sm-push-2 { - left: 16.66666667% - } - - .col-sm-push-1 { - left: 8.33333333% - } - - .col-sm-push-0 { - left: auto - } - - .col-sm-offset-12 { - margin-left: 100% - } - - .col-sm-offset-11 { - margin-left: 91.66666667% - } - - .col-sm-offset-10 { - margin-left: 83.33333333% - } - - .col-sm-offset-9 { - margin-left: 75% - } - - .col-sm-offset-8 { - margin-left: 66.66666667% - } - - .col-sm-offset-7 { - margin-left: 58.33333333% - } - - .col-sm-offset-6 { - margin-left: 50% - } - - .col-sm-offset-5 { - margin-left: 41.66666667% - } - - .col-sm-offset-4 { - margin-left: 33.33333333% - } - - .col-sm-offset-3 { - margin-left: 25% - } - - .col-sm-offset-2 { - margin-left: 16.66666667% - } - - .col-sm-offset-1 { - margin-left: 8.33333333% - } - - .col-sm-offset-0 { - margin-left: 0 - } -} - -@media (min-width: 992px) { - .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9 { - float: left - } - - .col-md-12 { - width: 100% - } - - .col-md-11 { - width: 91.66666667% - } - - .col-md-10 { - width: 83.33333333% - } - - .col-md-9 { - width: 75% - } - - .col-md-8 { - width: 66.66666667% - } - - .col-md-7 { - width: 58.33333333% - } - - .col-md-6 { - width: 50% - } - - .col-md-5 { - width: 41.66666667% - } - - .col-md-4 { - width: 33.33333333% - } - - .col-md-3 { - width: 25% - } - - .col-md-2 { - width: 16.66666667% - } - - .col-md-1 { - width: 8.33333333% - } - - .col-md-pull-12 { - right: 100% - } - - .col-md-pull-11 { - right: 91.66666667% - } - - .col-md-pull-10 { - right: 83.33333333% - } - - .col-md-pull-9 { - right: 75% - } - - .col-md-pull-8 { - right: 66.66666667% - } - - .col-md-pull-7 { - right: 58.33333333% - } - - .col-md-pull-6 { - right: 50% - } - - .col-md-pull-5 { - right: 41.66666667% - } - - .col-md-pull-4 { - right: 33.33333333% - } - - .col-md-pull-3 { - right: 25% - } - - .col-md-pull-2 { - right: 16.66666667% - } - - .col-md-pull-1 { - right: 8.33333333% - } - - .col-md-pull-0 { - right: auto - } - - .col-md-push-12 { - left: 100% - } - - .col-md-push-11 { - left: 91.66666667% - } - - .col-md-push-10 { - left: 83.33333333% - } - - .col-md-push-9 { - left: 75% - } - - .col-md-push-8 { - left: 66.66666667% - } - - .col-md-push-7 { - left: 58.33333333% - } - - .col-md-push-6 { - left: 50% - } - - .col-md-push-5 { - left: 41.66666667% - } - - .col-md-push-4 { - left: 33.33333333% - } - - .col-md-push-3 { - left: 25% - } - - .col-md-push-2 { - left: 16.66666667% - } - - .col-md-push-1 { - left: 8.33333333% - } - - .col-md-push-0 { - left: auto - } - - .col-md-offset-12 { - margin-left: 100% - } - - .col-md-offset-11 { - margin-left: 91.66666667% - } - - .col-md-offset-10 { - margin-left: 83.33333333% - } - - .col-md-offset-9 { - margin-left: 75% - } - - .col-md-offset-8 { - margin-left: 66.66666667% - } - - .col-md-offset-7 { - margin-left: 58.33333333% - } - - .col-md-offset-6 { - margin-left: 50% - } - - .col-md-offset-5 { - margin-left: 41.66666667% - } - - .col-md-offset-4 { - margin-left: 33.33333333% - } - - .col-md-offset-3 { - margin-left: 25% - } - - .col-md-offset-2 { - margin-left: 16.66666667% - } - - .col-md-offset-1 { - margin-left: 8.33333333% - } - - .col-md-offset-0 { - margin-left: 0 - } -} - -@media (min-width: 1200px) { - .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9 { - float: left - } - - .col-lg-12 { - width: 100% - } - - .col-lg-11 { - width: 91.66666667% - } - - .col-lg-10 { - width: 83.33333333% - } - - .col-lg-9 { - width: 75% - } - - .col-lg-8 { - width: 66.66666667% - } - - .col-lg-7 { - width: 58.33333333% - } - - .col-lg-6 { - width: 50% - } - - .col-lg-5 { - width: 41.66666667% - } - - .col-lg-4 { - width: 33.33333333% - } - - .col-lg-3 { - width: 25% - } - - .col-lg-2 { - width: 16.66666667% - } - - .col-lg-1 { - width: 8.33333333% - } - - .col-lg-pull-12 { - right: 100% - } - - .col-lg-pull-11 { - right: 91.66666667% - } - - .col-lg-pull-10 { - right: 83.33333333% - } - - .col-lg-pull-9 { - right: 75% - } - - .col-lg-pull-8 { - right: 66.66666667% - } - - .col-lg-pull-7 { - right: 58.33333333% - } - - .col-lg-pull-6 { - right: 50% - } - - .col-lg-pull-5 { - right: 41.66666667% - } - - .col-lg-pull-4 { - right: 33.33333333% - } - - .col-lg-pull-3 { - right: 25% - } - - .col-lg-pull-2 { - right: 16.66666667% - } - - .col-lg-pull-1 { - right: 8.33333333% - } - - .col-lg-pull-0 { - right: auto - } - - .col-lg-push-12 { - left: 100% - } - - .col-lg-push-11 { - left: 91.66666667% - } - - .col-lg-push-10 { - left: 83.33333333% - } - - .col-lg-push-9 { - left: 75% - } - - .col-lg-push-8 { - left: 66.66666667% - } - - .col-lg-push-7 { - left: 58.33333333% - } - - .col-lg-push-6 { - left: 50% - } - - .col-lg-push-5 { - left: 41.66666667% - } - - .col-lg-push-4 { - left: 33.33333333% - } - - .col-lg-push-3 { - left: 25% - } - - .col-lg-push-2 { - left: 16.66666667% - } - - .col-lg-push-1 { - left: 8.33333333% - } - - .col-lg-push-0 { - left: auto - } - - .col-lg-offset-12 { - margin-left: 100% - } - - .col-lg-offset-11 { - margin-left: 91.66666667% - } - - .col-lg-offset-10 { - margin-left: 83.33333333% - } - - .col-lg-offset-9 { - margin-left: 75% - } - - .col-lg-offset-8 { - margin-left: 66.66666667% - } - - .col-lg-offset-7 { - margin-left: 58.33333333% - } - - .col-lg-offset-6 { - margin-left: 50% - } - - .col-lg-offset-5 { - margin-left: 41.66666667% - } - - .col-lg-offset-4 { - margin-left: 33.33333333% - } - - .col-lg-offset-3 { - margin-left: 25% - } - - .col-lg-offset-2 { - margin-left: 16.66666667% - } - - .col-lg-offset-1 { - margin-left: 8.33333333% - } - - .col-lg-offset-0 { - margin-left: 0 - } -} - -table { - background-color: transparent -} - -caption { - padding-top: 8px; - padding-bottom: 8px; - color: #777; - text-align: left -} - -th { - text-align: left -} - -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px -} - -.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #ddd -} - -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #ddd -} - -.table > caption + thead > tr:first-child > td, .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > td, .table > thead:first-child > tr:first-child > th { - border-top: 0 -} - -.table > tbody + tbody { - border-top: 2px solid #ddd -} - -.table .table { - background-color: #fff -} - -.table-condensed > tbody > tr > td, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > td, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > thead > tr > th { - padding: 5px -} - -.table-bordered { - border: 1px solid #ddd -} - -.table-bordered > tbody > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > thead > tr > th { - border: 1px solid #ddd -} - -.table-bordered > thead > tr > td, .table-bordered > thead > tr > th { - border-bottom-width: 2px -} - -.table-striped > tbody > tr:nth-of-type(odd) { - background-color: #f9f9f9 -} - -.table-hover > tbody > tr:hover { - background-color: #f5f5f5 -} - -table col[class*=col-] { - position: static; - display: table-column; - float: none -} - -table td[class*=col-], table th[class*=col-] { - position: static; - display: table-cell; - float: none -} - -.table > tbody > tr.active > td, .table > tbody > tr.active > th, .table > tbody > tr > td.active, .table > tbody > tr > th.active, .table > tfoot > tr.active > td, .table > tfoot > tr.active > th, .table > tfoot > tr > td.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, .table > thead > tr > td.active, .table > thead > tr > th.active { - background-color: #f5f5f5 -} - -.table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr.active:hover > th, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover { - background-color: #e8e8e8 -} - -.table > tbody > tr.success > td, .table > tbody > tr.success > th, .table > tbody > tr > td.success, .table > tbody > tr > th.success, .table > tfoot > tr.success > td, .table > tfoot > tr.success > th, .table > tfoot > tr > td.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, .table > thead > tr > td.success, .table > thead > tr > th.success { - background-color: #dff0d8 -} - -.table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr.success:hover > th, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover { - background-color: #d0e9c6 -} - -.table > tbody > tr.info > td, .table > tbody > tr.info > th, .table > tbody > tr > td.info, .table > tbody > tr > th.info, .table > tfoot > tr.info > td, .table > tfoot > tr.info > th, .table > tfoot > tr > td.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th, .table > thead > tr > td.info, .table > thead > tr > th.info { - background-color: #d9edf7 -} - -.table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr.info:hover > th, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover { - background-color: #c4e3f3 -} - -.table > tbody > tr.warning > td, .table > tbody > tr.warning > th, .table > tbody > tr > td.warning, .table > tbody > tr > th.warning, .table > tfoot > tr.warning > td, .table > tfoot > tr.warning > th, .table > tfoot > tr > td.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, .table > thead > tr > td.warning, .table > thead > tr > th.warning { - background-color: #fcf8e3 -} - -.table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr.warning:hover > th, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover { - background-color: #faf2cc -} - -.table > tbody > tr.danger > td, .table > tbody > tr.danger > th, .table > tbody > tr > td.danger, .table > tbody > tr > th.danger, .table > tfoot > tr.danger > td, .table > tfoot > tr.danger > th, .table > tfoot > tr > td.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, .table > thead > tr > td.danger, .table > thead > tr > th.danger { - background-color: #f2dede -} - -.table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr.danger:hover > th, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover { - background-color: #ebcccc -} - -.table-responsive { - min-height: .01%; - overflow-x: auto -} - -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-y: hidden; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #ddd - } - - .table-responsive > .table { - margin-bottom: 0 - } - - .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > td, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > thead > tr > th { - white-space: nowrap - } - - .table-responsive > .table-bordered { - border: 0 - } - - .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > thead > tr > th:first-child { - border-left: 0 - } - - .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > thead > tr > th:last-child { - border-right: 0 - } - - .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0 - } -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0 -} - -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333; - border: 0; - border-bottom: 1px solid #e5e5e5 -} - -label { - display: inline-block; - max-width: 100%; - margin-bottom: 5px; - font-weight: 700 -} - -input[type=search] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box -} - -input[type=checkbox], input[type=radio] { - margin: 4px 0 0; - margin-top: 1px \9; - line-height: normal -} - -input[type=file] { - display: block -} - -input[type=range] { - display: block; - width: 100% -} - -select[multiple], select[size] { - height: auto -} - -input[type=file]:focus, input[type=checkbox]:focus, input[type=radio]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px -} - -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.42857143; - color: #555 -} - -.form-control { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - color: #555; - background-color: #fff; - background-image: none; - border: 1px solid #ccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s -} - -.form-control:focus { - border-color: #66afe9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6) -} - -.form-control::-moz-placeholder { - color: #999; - opacity: 1 -} - -.form-control:-ms-input-placeholder { - color: #999 -} - -.form-control::-webkit-input-placeholder { - color: #999 -} - -.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { - background-color: #eee; - opacity: 1 -} - -.form-control[disabled], fieldset[disabled] .form-control { - cursor: not-allowed -} - -textarea.form-control { - height: auto -} - -input[type=search] { - -webkit-appearance: none -} - -@media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type=date].form-control, input[type=time].form-control, input[type=datetime-local].form-control, input[type=month].form-control { - line-height: 34px - } - - .input-group-sm input[type=date], .input-group-sm input[type=time], .input-group-sm input[type=datetime-local], .input-group-sm input[type=month], input[type=date].input-sm, input[type=time].input-sm, input[type=datetime-local].input-sm, input[type=month].input-sm { - line-height: 30px - } - - .input-group-lg input[type=date], .input-group-lg input[type=time], .input-group-lg input[type=datetime-local], .input-group-lg input[type=month], input[type=date].input-lg, input[type=time].input-lg, input[type=datetime-local].input-lg, input[type=month].input-lg { - line-height: 46px - } -} - -.form-group { - margin-bottom: 15px -} - -.checkbox, .radio { - position: relative; - display: block; - margin-top: 10px; - margin-bottom: 10px -} - -.checkbox label, .radio label { - min-height: 20px; - padding-left: 20px; - margin-bottom: 0; - font-weight: 400; - cursor: pointer -} - -.checkbox input[type=checkbox], .checkbox-inline input[type=checkbox], .radio input[type=radio], .radio-inline input[type=radio] { - position: absolute; - margin-top: 4px \9; - margin-left: -20px -} - -.checkbox + .checkbox, .radio + .radio { - margin-top: -5px -} - -.checkbox-inline, .radio-inline { - position: relative; - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - font-weight: 400; - vertical-align: middle; - cursor: pointer -} - -.checkbox-inline + .checkbox-inline, .radio-inline + .radio-inline { - margin-top: 0; - margin-left: 10px -} - -fieldset[disabled] input[type=checkbox], fieldset[disabled] input[type=radio], input[type=checkbox].disabled, input[type=checkbox][disabled], input[type=radio].disabled, input[type=radio][disabled] { - cursor: not-allowed -} - -.checkbox-inline.disabled, .radio-inline.disabled, fieldset[disabled] .checkbox-inline, fieldset[disabled] .radio-inline { - cursor: not-allowed -} - -.checkbox.disabled label, .radio.disabled label, fieldset[disabled] .checkbox label, fieldset[disabled] .radio label { - cursor: not-allowed -} - -.form-control-static { - min-height: 34px; - padding-top: 7px; - padding-bottom: 7px; - margin-bottom: 0 -} - -.form-control-static.input-lg, .form-control-static.input-sm { - padding-right: 0; - padding-left: 0 -} - -.input-sm { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px -} - -select.input-sm { - height: 30px; - line-height: 30px -} - -select[multiple].input-sm, textarea.input-sm { - height: auto -} - -.form-group-sm .form-control { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px -} - -.form-group-sm select.form-control { - height: 30px; - line-height: 30px -} - -.form-group-sm select[multiple].form-control, .form-group-sm textarea.form-control { - height: auto -} - -.form-group-sm .form-control-static { - height: 30px; - min-height: 32px; - padding: 6px 10px; - font-size: 12px; - line-height: 1.5 -} - -.input-lg { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px -} - -select.input-lg { - height: 46px; - line-height: 46px -} - -select[multiple].input-lg, textarea.input-lg { - height: auto -} - -.form-group-lg .form-control { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px -} - -.form-group-lg select.form-control { - height: 46px; - line-height: 46px -} - -.form-group-lg select[multiple].form-control, .form-group-lg textarea.form-control { - height: auto -} - -.form-group-lg .form-control-static { - height: 46px; - min-height: 38px; - padding: 11px 16px; - font-size: 18px; - line-height: 1.3333333 -} - -.has-feedback { - position: relative -} - -.has-feedback .form-control { - padding-right: 42.5px -} - -.form-control-feedback { - position: absolute; - top: 0; - right: 0; - z-index: 2; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; - pointer-events: none -} - -.form-group-lg .form-control + .form-control-feedback, .input-group-lg + .form-control-feedback, .input-lg + .form-control-feedback { - width: 46px; - height: 46px; - line-height: 46px -} - -.form-group-sm .form-control + .form-control-feedback, .input-group-sm + .form-control-feedback, .input-sm + .form-control-feedback { - width: 30px; - height: 30px; - line-height: 30px -} - -.has-success .checkbox, .has-success .checkbox-inline, .has-success .control-label, .has-success .help-block, .has-success .radio, .has-success .radio-inline, .has-success.checkbox label, .has-success.checkbox-inline label, .has-success.radio label, .has-success.radio-inline label { - color: #3c763d -} - -.has-success .form-control { - border-color: #3c763d; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075) -} - -.has-success .form-control:focus { - border-color: #2b542c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168 -} - -.has-success .input-group-addon { - color: #3c763d; - background-color: #dff0d8; - border-color: #3c763d -} - -.has-success .form-control-feedback { - color: #3c763d -} - -.has-warning .checkbox, .has-warning .checkbox-inline, .has-warning .control-label, .has-warning .help-block, .has-warning .radio, .has-warning .radio-inline, .has-warning.checkbox label, .has-warning.checkbox-inline label, .has-warning.radio label, .has-warning.radio-inline label { - color: #8a6d3b -} - -.has-warning .form-control { - border-color: #8a6d3b; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075) -} - -.has-warning .form-control:focus { - border-color: #66512c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b -} - -.has-warning .input-group-addon { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #8a6d3b -} - -.has-warning .form-control-feedback { - color: #8a6d3b -} - -.has-error .checkbox, .has-error .checkbox-inline, .has-error .control-label, .has-error .help-block, .has-error .radio, .has-error .radio-inline, .has-error.checkbox label, .has-error.checkbox-inline label, .has-error.radio label, .has-error.radio-inline label { - color: #a94442 -} - -.has-error .form-control { - border-color: #a94442; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075) -} - -.has-error .form-control:focus { - border-color: #843534; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483 -} - -.has-error .input-group-addon { - color: #a94442; - background-color: #f2dede; - border-color: #a94442 -} - -.has-error .form-control-feedback { - color: #a94442 -} - -.has-feedback label ~ .form-control-feedback { - top: 25px -} - -.has-feedback label.sr-only ~ .form-control-feedback { - top: 0 -} - -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373 -} - -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle - } - - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle - } - - .form-inline .form-control-static { - display: inline-block - } - - .form-inline .input-group { - display: inline-table; - vertical-align: middle - } - - .form-inline .input-group .form-control, .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn { - width: auto - } - - .form-inline .input-group > .form-control { - width: 100% - } - - .form-inline .control-label { - margin-bottom: 0; - vertical-align: middle - } - - .form-inline .checkbox, .form-inline .radio { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle - } - - .form-inline .checkbox label, .form-inline .radio label { - padding-left: 0 - } - - .form-inline .checkbox input[type=checkbox], .form-inline .radio input[type=radio] { - position: relative; - margin-left: 0 - } - - .form-inline .has-feedback .form-control-feedback { - top: 0 - } -} - -.form-horizontal .checkbox, .form-horizontal .checkbox-inline, .form-horizontal .radio, .form-horizontal .radio-inline { - padding-top: 7px; - margin-top: 0; - margin-bottom: 0 -} - -.form-horizontal .checkbox, .form-horizontal .radio { - min-height: 27px -} - -.form-horizontal .form-group { - margin-right: -15px; - margin-left: -15px -} - -@media (min-width: 768px) { - .form-horizontal .control-label { - padding-top: 7px; - margin-bottom: 0; - text-align: right - } -} - -.form-horizontal .has-feedback .form-control-feedback { - right: 15px -} - -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 14.33px; - font-size: 18px - } -} - -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 6px; - font-size: 12px - } -} - -.btn { - display: inline-block; - padding: 6px 12px; - margin-bottom: 0; - font-size: 14px; - font-weight: 400; - line-height: 1.42857143; - text-align: center; - white-space: nowrap; - vertical-align: middle; - -ms-touch-action: manipulation; - touch-action: manipulation; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-image: none; - border: 1px solid transparent; - border-radius: 4px -} - -.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px -} - -.btn.focus, .btn:focus, .btn:hover { - color: #333; - text-decoration: none -} - -.btn.active, .btn:active { - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) -} - -.btn.disabled, .btn[disabled], fieldset[disabled] .btn { - cursor: not-allowed; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; - opacity: .65 -} - -a.btn.disabled, fieldset[disabled] a.btn { - pointer-events: none -} - -.btn-default { - color: #333; - background-color: #fff; - border-color: #ccc -} - -.btn-default.focus, .btn-default:focus { - color: #333; - background-color: #e6e6e6; - border-color: #8c8c8c -} - -.btn-default:hover { - color: #333; - background-color: #e6e6e6; - border-color: #adadad -} - -.btn-default.active, .btn-default:active, .open > .dropdown-toggle.btn-default { - color: #333; - background-color: #e6e6e6; - border-color: #adadad -} - -.btn-default.active.focus, .btn-default.active:focus, .btn-default.active:hover, .btn-default:active.focus, .btn-default:active:focus, .btn-default:active:hover, .open > .dropdown-toggle.btn-default.focus, .open > .dropdown-toggle.btn-default:focus, .open > .dropdown-toggle.btn-default:hover { - color: #333; - background-color: #d4d4d4; - border-color: #8c8c8c -} - -.btn-default.active, .btn-default:active, .open > .dropdown-toggle.btn-default { - background-image: none -} - -.btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled].active, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default.active, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover { - background-color: #fff; - border-color: #ccc -} - -.btn-default .badge { - color: #fff; - background-color: #333 -} - -.btn-primary { - color: #fff; - background-color: #337ab7; - border-color: #2e6da4 -} - -.btn-primary.focus, .btn-primary:focus { - color: #fff; - background-color: #286090; - border-color: #122b40 -} - -.btn-primary:hover { - color: #fff; - background-color: #286090; - border-color: #204d74 -} - -.btn-primary.active, .btn-primary:active, .open > .dropdown-toggle.btn-primary { - color: #fff; - background-color: #286090; - border-color: #204d74 -} - -.btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover, .btn-primary:active.focus, .btn-primary:active:focus, .btn-primary:active:hover, .open > .dropdown-toggle.btn-primary.focus, .open > .dropdown-toggle.btn-primary:focus, .open > .dropdown-toggle.btn-primary:hover { - color: #fff; - background-color: #204d74; - border-color: #122b40 -} - -.btn-primary.active, .btn-primary:active, .open > .dropdown-toggle.btn-primary { - background-image: none -} - -.btn-primary.disabled, .btn-primary.disabled.active, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled], .btn-primary[disabled].active, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary.active, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover { - background-color: #337ab7; - border-color: #2e6da4 -} - -.btn-primary .badge { - color: #337ab7; - background-color: #fff -} - -.btn-success { - color: #fff; - background-color: #5cb85c; - border-color: #4cae4c -} - -.btn-success.focus, .btn-success:focus { - color: #fff; - background-color: #449d44; - border-color: #255625 -} - -.btn-success:hover { - color: #fff; - background-color: #449d44; - border-color: #398439 -} - -.btn-success.active, .btn-success:active, .open > .dropdown-toggle.btn-success { - color: #fff; - background-color: #449d44; - border-color: #398439 -} - -.btn-success.active.focus, .btn-success.active:focus, .btn-success.active:hover, .btn-success:active.focus, .btn-success:active:focus, .btn-success:active:hover, .open > .dropdown-toggle.btn-success.focus, .open > .dropdown-toggle.btn-success:focus, .open > .dropdown-toggle.btn-success:hover { - color: #fff; - background-color: #398439; - border-color: #255625 -} - -.btn-success.active, .btn-success:active, .open > .dropdown-toggle.btn-success { - background-image: none -} - -.btn-success.disabled, .btn-success.disabled.active, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled:focus, .btn-success.disabled:hover, .btn-success[disabled], .btn-success[disabled].active, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled]:focus, .btn-success[disabled]:hover, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success.active, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:hover { - background-color: #5cb85c; - border-color: #4cae4c -} - -.btn-success .badge { - color: #5cb85c; - background-color: #fff -} - -.btn-info { - color: #fff; - background-color: #5bc0de; - border-color: #46b8da -} - -.btn-info.focus, .btn-info:focus { - color: #fff; - background-color: #31b0d5; - border-color: #1b6d85 -} - -.btn-info:hover { - color: #fff; - background-color: #31b0d5; - border-color: #269abc -} - -.btn-info.active, .btn-info:active, .open > .dropdown-toggle.btn-info { - color: #fff; - background-color: #31b0d5; - border-color: #269abc -} - -.btn-info.active.focus, .btn-info.active:focus, .btn-info.active:hover, .btn-info:active.focus, .btn-info:active:focus, .btn-info:active:hover, .open > .dropdown-toggle.btn-info.focus, .open > .dropdown-toggle.btn-info:focus, .open > .dropdown-toggle.btn-info:hover { - color: #fff; - background-color: #269abc; - border-color: #1b6d85 -} - -.btn-info.active, .btn-info:active, .open > .dropdown-toggle.btn-info { - background-image: none -} - -.btn-info.disabled, .btn-info.disabled.active, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled:focus, .btn-info.disabled:hover, .btn-info[disabled], .btn-info[disabled].active, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled]:focus, .btn-info[disabled]:hover, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info.active, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:hover { - background-color: #5bc0de; - border-color: #46b8da -} - -.btn-info .badge { - color: #5bc0de; - background-color: #fff -} - -.btn-warning { - color: #fff; - background-color: #f0ad4e; - border-color: #eea236 -} - -.btn-warning.focus, .btn-warning:focus { - color: #fff; - background-color: #ec971f; - border-color: #985f0d -} - -.btn-warning:hover { - color: #fff; - background-color: #ec971f; - border-color: #d58512 -} - -.btn-warning.active, .btn-warning:active, .open > .dropdown-toggle.btn-warning { - color: #fff; - background-color: #ec971f; - border-color: #d58512 -} - -.btn-warning.active.focus, .btn-warning.active:focus, .btn-warning.active:hover, .btn-warning:active.focus, .btn-warning:active:focus, .btn-warning:active:hover, .open > .dropdown-toggle.btn-warning.focus, .open > .dropdown-toggle.btn-warning:focus, .open > .dropdown-toggle.btn-warning:hover { - color: #fff; - background-color: #d58512; - border-color: #985f0d -} - -.btn-warning.active, .btn-warning:active, .open > .dropdown-toggle.btn-warning { - background-image: none -} - -.btn-warning.disabled, .btn-warning.disabled.active, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled:focus, .btn-warning.disabled:hover, .btn-warning[disabled], .btn-warning[disabled].active, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled]:focus, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning.active, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:hover { - background-color: #f0ad4e; - border-color: #eea236 -} - -.btn-warning .badge { - color: #f0ad4e; - background-color: #fff -} - -.btn-danger { - color: #fff; - background-color: #d9534f; - border-color: #d43f3a -} - -.btn-danger.focus, .btn-danger:focus { - color: #fff; - background-color: #c9302c; - border-color: #761c19 -} - -.btn-danger:hover { - color: #fff; - background-color: #c9302c; - border-color: #ac2925 -} - -.btn-danger.active, .btn-danger:active, .open > .dropdown-toggle.btn-danger { - color: #fff; - background-color: #c9302c; - border-color: #ac2925 -} - -.btn-danger.active.focus, .btn-danger.active:focus, .btn-danger.active:hover, .btn-danger:active.focus, .btn-danger:active:focus, .btn-danger:active:hover, .open > .dropdown-toggle.btn-danger.focus, .open > .dropdown-toggle.btn-danger:focus, .open > .dropdown-toggle.btn-danger:hover { - color: #fff; - background-color: #ac2925; - border-color: #761c19 -} - -.btn-danger.active, .btn-danger:active, .open > .dropdown-toggle.btn-danger { - background-image: none -} - -.btn-danger.disabled, .btn-danger.disabled.active, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled:focus, .btn-danger.disabled:hover, .btn-danger[disabled], .btn-danger[disabled].active, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled]:focus, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger.active, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:hover { - background-color: #d9534f; - border-color: #d43f3a -} - -.btn-danger .badge { - color: #d9534f; - background-color: #fff -} - -.btn-link { - font-weight: 400; - color: #337ab7; - border-radius: 0 -} - -.btn-link, .btn-link.active, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none -} - -.btn-link, .btn-link:active, .btn-link:focus, .btn-link:hover { - border-color: transparent -} - -.btn-link:focus, .btn-link:hover { - color: #23527c; - text-decoration: underline; - background-color: transparent -} - -.btn-link[disabled]:focus, .btn-link[disabled]:hover, fieldset[disabled] .btn-link:focus, fieldset[disabled] .btn-link:hover { - color: #777; - text-decoration: none -} - -.btn-group-lg > .btn, .btn-lg { - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px -} - -.btn-group-sm > .btn, .btn-sm { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px -} - -.btn-group-xs > .btn, .btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px -} - -.btn-block { - display: block; - width: 100% -} - -.btn-block + .btn-block { - margin-top: 5px -} - -input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].btn-block { - width: 100% -} - -.fade { - opacity: 0; - -webkit-transition: opacity .15s linear; - -o-transition: opacity .15s linear; - transition: opacity .15s linear -} - -.fade.in { - opacity: 1 -} - -.collapse { - display: none -} - -.collapse.in { - display: block -} - -tr.collapse.in { - display: table-row -} - -tbody.collapse.in { - display: table-row-group -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition-timing-function: ease; - -o-transition-timing-function: ease; - transition-timing-function: ease; - -webkit-transition-duration: .35s; - -o-transition-duration: .35s; - transition-duration: .35s; - -webkit-transition-property: height, visibility; - -o-transition-property: height, visibility; - transition-property: height, visibility -} - -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px dashed; - border-top: 4px solid \9; - border-right: 4px solid transparent; - border-left: 4px solid transparent -} - -.dropdown, .dropup { - position: relative -} - -.dropdown-toggle:focus { - outline: 0 -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - font-size: 14px; - text-align: left; - list-style: none; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); - box-shadow: 0 6px 12px rgba(0, 0, 0, .175) -} - -.dropdown-menu.pull-right { - right: 0; - left: auto -} - -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5 -} - -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: 400; - line-height: 1.42857143; - color: #333; - white-space: nowrap -} - -.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover { - color: #262626; - text-decoration: none; - background-color: #f5f5f5 -} - -.dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover { - color: #fff; - text-decoration: none; - background-color: #337ab7; - outline: 0 -} - -.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:focus, .dropdown-menu > .disabled > a:hover { - color: #777 -} - -.dropdown-menu > .disabled > a:focus, .dropdown-menu > .disabled > a:hover { - text-decoration: none; - cursor: not-allowed; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false) -} - -.open > .dropdown-menu { - display: block -} - -.open > a { - outline: 0 -} - -.dropdown-menu-right { - right: 0; - left: auto -} - -.dropdown-menu-left { - right: auto; - left: 0 -} - -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #777; - white-space: nowrap -} - -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990 -} - -.pull-right > .dropdown-menu { - right: 0; - left: auto -} - -.dropup .caret, .navbar-fixed-bottom .dropdown .caret { - content: ""; - border-top: 0; - border-bottom: 4px dashed; - border-bottom: 4px solid \9 -} - -.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 2px -} - -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - right: 0; - left: auto - } - - .navbar-right .dropdown-menu-left { - right: auto; - left: 0 - } -} - -.btn-group, .btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle -} - -.btn-group-vertical > .btn, .btn-group > .btn { - position: relative; - float: left -} - -.btn-group-vertical > .btn.active, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:hover, .btn-group > .btn.active, .btn-group > .btn:active, .btn-group > .btn:focus, .btn-group > .btn:hover { - z-index: 2 -} - -.btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { - margin-left: -1px -} - -.btn-toolbar { - margin-left: -5px -} - -.btn-toolbar .btn, .btn-toolbar .btn-group, .btn-toolbar .input-group { - float: left -} - -.btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { - margin-left: 5px -} - -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0 -} - -.btn-group > .btn:first-child { - margin-left: 0 -} - -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.btn-group > .btn-group { - float: left -} - -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0 -} - -.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { - outline: 0 -} - -.btn-group > .btn + .dropdown-toggle { - padding-right: 8px; - padding-left: 8px -} - -.btn-group > .btn-lg + .dropdown-toggle { - padding-right: 12px; - padding-left: 12px -} - -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) -} - -.btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none -} - -.btn .caret { - margin-left: 0 -} - -.btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0 -} - -.dropup .btn-lg .caret { - border-width: 0 5px 5px -} - -.btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100% -} - -.btn-group-vertical > .btn-group > .btn { - float: none -} - -.btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0 -} - -.btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0 -} - -.btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0 -} - -.btn-group-vertical > .btn:last-child:not(:first-child) { - border-top-left-radius: 0; - border-top-right-radius: 0; - border-bottom-left-radius: 4px -} - -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0 -} - -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0 -} - -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate -} - -.btn-group-justified > .btn, .btn-group-justified > .btn-group { - display: table-cell; - float: none; - width: 1% -} - -.btn-group-justified > .btn-group .btn { - width: 100% -} - -.btn-group-justified > .btn-group .dropdown-menu { - left: auto -} - -[data-toggle=buttons] > .btn input[type=checkbox], [data-toggle=buttons] > .btn input[type=radio], [data-toggle=buttons] > .btn-group > .btn input[type=checkbox], [data-toggle=buttons] > .btn-group > .btn input[type=radio] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none -} - -.input-group { - position: relative; - display: table; - border-collapse: separate -} - -.input-group[class*=col-] { - float: none; - padding-right: 0; - padding-left: 0 -} - -.input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0 -} - -.input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px -} - -select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn { - height: 46px; - line-height: 46px -} - -select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn, textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn { - height: auto -} - -.input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px -} - -select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn { - height: 30px; - line-height: 30px -} - -select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn, textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn { - height: auto -} - -.input-group .form-control, .input-group-addon, .input-group-btn { - display: table-cell -} - -.input-group .form-control:not(:first-child):not(:last-child), .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child) { - border-radius: 0 -} - -.input-group-addon, .input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle -} - -.input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: 400; - line-height: 1; - color: #555; - text-align: center; - background-color: #eee; - border: 1px solid #ccc; - border-radius: 4px -} - -.input-group-addon.input-sm { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px -} - -.input-group-addon.input-lg { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px -} - -.input-group-addon input[type=checkbox], .input-group-addon input[type=radio] { - margin-top: 0 -} - -.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn-group:not(:last-child) > .btn, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.input-group-addon:first-child { - border-right: 0 -} - -.input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:first-child > .btn-group:not(:first-child) > .btn, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.input-group-addon:last-child { - border-left: 0 -} - -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap -} - -.input-group-btn > .btn { - position: relative -} - -.input-group-btn > .btn + .btn { - margin-left: -1px -} - -.input-group-btn > .btn:active, .input-group-btn > .btn:focus, .input-group-btn > .btn:hover { - z-index: 2 -} - -.input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { - margin-right: -1px -} - -.input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { - z-index: 2; - margin-left: -1px -} - -.nav { - padding-left: 0; - margin-bottom: 0; - list-style: none -} - -.nav > li { - position: relative; - display: block -} - -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px -} - -.nav > li > a:focus, .nav > li > a:hover { - text-decoration: none; - background-color: #eee -} - -.nav > li.disabled > a { - color: #777 -} - -.nav > li.disabled > a:focus, .nav > li.disabled > a:hover { - color: #777; - text-decoration: none; - cursor: not-allowed; - background-color: transparent -} - -.nav .open > a, .nav .open > a:focus, .nav .open > a:hover { - background-color: #eee; - border-color: #337ab7 -} - -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5 -} - -.nav > li > a > img { - max-width: none -} - -.nav-tabs { - border-bottom: 1px solid #ddd -} - -.nav-tabs > li { - float: left; - margin-bottom: -1px -} - -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 4px 4px 0 0 -} - -.nav-tabs > li > a:hover { - border-color: #eee #eee #ddd -} - -.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover { - color: #555; - cursor: default; - background-color: #fff; - border: 1px solid #ddd; - border-bottom-color: transparent -} - -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0 -} - -.nav-tabs.nav-justified > li { - float: none -} - -.nav-tabs.nav-justified > li > a { - margin-bottom: 5px; - text-align: center -} - -.nav-tabs.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto -} - -@media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1% - } - - .nav-tabs.nav-justified > li > a { - margin-bottom: 0 - } -} - -.nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px -} - -.nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:hover { - border: 1px solid #ddd -} - -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0 - } - - .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:hover { - border-bottom-color: #fff - } -} - -.nav-pills > li { - float: left -} - -.nav-pills > li > a { - border-radius: 4px -} - -.nav-pills > li + li { - margin-left: 2px -} - -.nav-pills > li.active > a, .nav-pills > li.active > a:focus, .nav-pills > li.active > a:hover { - color: #fff; - background-color: #337ab7 -} - -.nav-stacked > li { - float: none -} - -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0 -} - -.nav-justified { - width: 100% -} - -.nav-justified > li { - float: none -} - -.nav-justified > li > a { - margin-bottom: 5px; - text-align: center -} - -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto -} - -@media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1% - } - - .nav-justified > li > a { - margin-bottom: 0 - } -} - -.nav-tabs-justified { - border-bottom: 0 -} - -.nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px -} - -.nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:focus, .nav-tabs-justified > .active > a:hover { - border: 1px solid #ddd -} - -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0 - } - - .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:focus, .nav-tabs-justified > .active > a:hover { - border-bottom-color: #fff - } -} - -.tab-content > .tab-pane { - display: none -} - -.tab-content > .active { - display: block -} - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.navbar { - position: relative; - min-height: 50px; - margin-bottom: 20px; - border: 1px solid transparent -} - -@media (min-width: 768px) { - .navbar { - border-radius: 4px - } -} - -@media (min-width: 768px) { - .navbar-header { - float: left - } -} - -.navbar-collapse { - padding-right: 15px; - padding-left: 15px; - overflow-x: visible; - -webkit-overflow-scrolling: touch; - border-top: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1) -} - -.navbar-collapse.in { - overflow-y: auto -} - -@media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - -webkit-box-shadow: none; - box-shadow: none - } - - .navbar-collapse.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important - } - - .navbar-collapse.in { - overflow-y: visible - } - - .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse { - padding-right: 0; - padding-left: 0 - } -} - -.navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse { - max-height: 340px -} - -@media (max-device-width: 480px) and (orientation: landscape) { - .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse { - max-height: 200px - } -} - -.container-fluid > .navbar-collapse, .container-fluid > .navbar-header, .container > .navbar-collapse, .container > .navbar-header { - margin-right: -15px; - margin-left: -15px -} - -@media (min-width: 768px) { - .container-fluid > .navbar-collapse, .container-fluid > .navbar-header, .container > .navbar-collapse, .container > .navbar-header { - margin-right: 0; - margin-left: 0 - } -} - -.navbar-static-top { - z-index: 1000; - border-width: 0 0 1px -} - -@media (min-width: 768px) { - .navbar-static-top { - border-radius: 0 - } -} - -.navbar-fixed-bottom, .navbar-fixed-top { - position: fixed; - right: 0; - left: 0; - z-index: 1030 -} - -@media (min-width: 768px) { - .navbar-fixed-bottom, .navbar-fixed-top { - border-radius: 0 - } -} - -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px -} - -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0 -} - -.navbar-brand { - float: left; - height: 50px; - padding: 15px 15px; - font-size: 18px; - line-height: 20px -} - -.navbar-brand:focus, .navbar-brand:hover { - text-decoration: none -} - -.navbar-brand > img { - display: block -} - -@media (min-width: 768px) { - .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { - margin-left: -15px - } -} - -.navbar-toggle { - position: relative; - float: right; - padding: 9px 10px; - margin-top: 8px; - margin-right: 15px; - margin-bottom: 8px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 4px -} - -.navbar-toggle:focus { - outline: 0 -} - -.navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px -} - -.navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px -} - -@media (min-width: 768px) { - .navbar-toggle { - display: none - } -} - -.navbar-nav { - margin: 7.5px -15px -} - -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px -} - -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - -webkit-box-shadow: none; - box-shadow: none - } - - .navbar-nav .open .dropdown-menu .dropdown-header, .navbar-nav .open .dropdown-menu > li > a { - padding: 5px 15px 5px 25px - } - - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px - } - - .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-nav .open .dropdown-menu > li > a:hover { - background-image: none - } -} - -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0 - } - - .navbar-nav > li { - float: left - } - - .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px - } -} - -.navbar-form { - padding: 10px 15px; - margin-top: 8px; - margin-right: -15px; - margin-bottom: 8px; - margin-left: -15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1) -} - -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle - } - - .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle - } - - .navbar-form .form-control-static { - display: inline-block - } - - .navbar-form .input-group { - display: inline-table; - vertical-align: middle - } - - .navbar-form .input-group .form-control, .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn { - width: auto - } - - .navbar-form .input-group > .form-control { - width: 100% - } - - .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle - } - - .navbar-form .checkbox, .navbar-form .radio { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle - } - - .navbar-form .checkbox label, .navbar-form .radio label { - padding-left: 0 - } - - .navbar-form .checkbox input[type=checkbox], .navbar-form .radio input[type=radio] { - position: relative; - margin-left: 0 - } - - .navbar-form .has-feedback .form-control-feedback { - top: 0 - } -} - -@media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px - } - - .navbar-form .form-group:last-child { - margin-bottom: 0 - } -} - -@media (min-width: 768px) { - .navbar-form { - width: auto; - padding-top: 0; - padding-bottom: 0; - margin-right: 0; - margin-left: 0; - border: 0; - -webkit-box-shadow: none; - box-shadow: none - } -} - -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - margin-bottom: 0; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0 -} - -.navbar-btn { - margin-top: 8px; - margin-bottom: 8px -} - -.navbar-btn.btn-sm { - margin-top: 10px; - margin-bottom: 10px -} - -.navbar-btn.btn-xs { - margin-top: 14px; - margin-bottom: 14px -} - -.navbar-text { - margin-top: 15px; - margin-bottom: 15px -} - -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-right: 15px; - margin-left: 15px - } -} - -@media (min-width: 768px) { - .navbar-left { - float: left !important - } - - .navbar-right { - float: right !important; - margin-right: -15px - } - - .navbar-right ~ .navbar-right { - margin-right: 0 - } -} - -.navbar-default { - background-color: #f8f8f8; - border-color: #e7e7e7 -} - -.navbar-default .navbar-brand { - color: #777 -} - -.navbar-default .navbar-brand:focus, .navbar-default .navbar-brand:hover { - color: #5e5e5e; - background-color: transparent -} - -.navbar-default .navbar-text { - color: #777 -} - -.navbar-default .navbar-nav > li > a { - color: #777 -} - -.navbar-default .navbar-nav > li > a:focus, .navbar-default .navbar-nav > li > a:hover { - color: #333; - background-color: transparent -} - -.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:focus, .navbar-default .navbar-nav > .active > a:hover { - color: #555; - background-color: #e7e7e7 -} - -.navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:focus, .navbar-default .navbar-nav > .disabled > a:hover { - color: #ccc; - background-color: transparent -} - -.navbar-default .navbar-toggle { - border-color: #ddd -} - -.navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover { - background-color: #ddd -} - -.navbar-default .navbar-toggle .icon-bar { - background-color: #888 -} - -.navbar-default .navbar-collapse, .navbar-default .navbar-form { - border-color: #e7e7e7 -} - -.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:focus, .navbar-default .navbar-nav > .open > a:hover { - color: #555; - background-color: #e7e7e7 -} - -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #777 - } - - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover { - color: #333; - background-color: transparent - } - - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover { - color: #555; - background-color: #e7e7e7 - } - - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover { - color: #ccc; - background-color: transparent - } -} - -.navbar-default .navbar-link { - color: #777 -} - -.navbar-default .navbar-link:hover { - color: #333 -} - -.navbar-default .btn-link { - color: #777 -} - -.navbar-default .btn-link:focus, .navbar-default .btn-link:hover { - color: #333 -} - -.navbar-default .btn-link[disabled]:focus, .navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:focus, fieldset[disabled] .navbar-default .btn-link:hover { - color: #ccc -} - -.navbar-inverse { - background-color: #222; - border-color: #080808 -} - -.navbar-inverse .navbar-brand { - color: #9d9d9d -} - -.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover { - color: #fff; - background-color: transparent -} - -.navbar-inverse .navbar-text { - color: #9d9d9d -} - -.navbar-inverse .navbar-nav > li > a { - color: #9d9d9d -} - -.navbar-inverse .navbar-nav > li > a:focus, .navbar-inverse .navbar-nav > li > a:hover { - color: #fff; - background-color: transparent -} - -.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:focus, .navbar-inverse .navbar-nav > .active > a:hover { - color: #fff; - background-color: #080808 -} - -.navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:focus, .navbar-inverse .navbar-nav > .disabled > a:hover { - color: #444; - background-color: transparent -} - -.navbar-inverse .navbar-toggle { - border-color: #333 -} - -.navbar-inverse .navbar-toggle:focus, .navbar-inverse .navbar-toggle:hover { - background-color: #333 -} - -.navbar-inverse .navbar-toggle .icon-bar { - background-color: #fff -} - -.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { - border-color: #101010 -} - -.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:focus, .navbar-inverse .navbar-nav > .open > a:hover { - color: #fff; - background-color: #080808 -} - -@media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { - border-color: #080808 - } - - .navbar-inverse .navbar-nav .open .dropdown-menu .divider { - background-color: #080808 - } - - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #9d9d9d - } - - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover { - color: #fff; - background-color: transparent - } - - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover { - color: #fff; - background-color: #080808 - } - - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover { - color: #444; - background-color: transparent - } -} - -.navbar-inverse .navbar-link { - color: #9d9d9d -} - -.navbar-inverse .navbar-link:hover { - color: #fff -} - -.navbar-inverse .btn-link { - color: #9d9d9d -} - -.navbar-inverse .btn-link:focus, .navbar-inverse .btn-link:hover { - color: #fff -} - -.navbar-inverse .btn-link[disabled]:focus, .navbar-inverse .btn-link[disabled]:hover, fieldset[disabled] .navbar-inverse .btn-link:focus, fieldset[disabled] .navbar-inverse .btn-link:hover { - color: #444 -} - -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 4px -} - -.breadcrumb > li { - display: inline-block -} - -.breadcrumb > li + li:before { - padding: 0 5px; - color: #ccc; - content: "/\00a0" -} - -.breadcrumb > .active { - color: #777 -} - -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px -} - -.pagination > li { - display: inline -} - -.pagination > li > a, .pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #337ab7; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd -} - -.pagination > li:first-child > a, .pagination > li:first-child > span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px -} - -.pagination > li:last-child > a, .pagination > li:last-child > span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px -} - -.pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover { - z-index: 3; - color: #23527c; - background-color: #eee; - border-color: #ddd -} - -.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover { - z-index: 2; - color: #fff; - cursor: default; - background-color: #337ab7; - border-color: #337ab7 -} - -.pagination > .disabled > a, .pagination > .disabled > a:focus, .pagination > .disabled > a:hover, .pagination > .disabled > span, .pagination > .disabled > span:focus, .pagination > .disabled > span:hover { - color: #777; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd -} - -.pagination-lg > li > a, .pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333 -} - -.pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px -} - -.pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px -} - -.pagination-sm > li > a, .pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5 -} - -.pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px -} - -.pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px -} - -.pager { - padding-left: 0; - margin: 20px 0; - text-align: center; - list-style: none -} - -.pager li { - display: inline -} - -.pager li > a, .pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 15px -} - -.pager li > a:focus, .pager li > a:hover { - text-decoration: none; - background-color: #eee -} - -.pager .next > a, .pager .next > span { - float: right -} - -.pager .previous > a, .pager .previous > span { - float: left -} - -.pager .disabled > a, .pager .disabled > a:focus, .pager .disabled > a:hover, .pager .disabled > span { - color: #777; - cursor: not-allowed; - background-color: #fff -} - -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: 700; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em -} - -a.label:focus, a.label:hover { - color: #fff; - text-decoration: none; - cursor: pointer -} - -.label:empty { - display: none -} - -.btn .label { - position: relative; - top: -1px -} - -.label-default { - background-color: #777 -} - -.label-default[href]:focus, .label-default[href]:hover { - background-color: #5e5e5e -} - -.label-primary { - background-color: #337ab7 -} - -.label-primary[href]:focus, .label-primary[href]:hover { - background-color: #286090 -} - -.label-success { - background-color: #5cb85c -} - -.label-success[href]:focus, .label-success[href]:hover { - background-color: #449d44 -} - -.label-info { - background-color: #5bc0de -} - -.label-info[href]:focus, .label-info[href]:hover { - background-color: #31b0d5 -} - -.label-warning { - background-color: #f0ad4e -} - -.label-warning[href]:focus, .label-warning[href]:hover { - background-color: #ec971f -} - -.label-danger { - background-color: #d9534f -} - -.label-danger[href]:focus, .label-danger[href]:hover { - background-color: #c9302c -} - -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: 700; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: middle; - background-color: #777; - border-radius: 10px -} - -.badge:empty { - display: none -} - -.btn .badge { - position: relative; - top: -1px -} - -.btn-group-xs > .btn .badge, .btn-xs .badge { - top: 0; - padding: 1px 5px -} - -a.badge:focus, a.badge:hover { - color: #fff; - text-decoration: none; - cursor: pointer -} - -.list-group-item.active > .badge, .nav-pills > .active > a > .badge { - color: #337ab7; - background-color: #fff -} - -.list-group-item > .badge { - float: right -} - -.list-group-item > .badge + .badge { - margin-right: 5px -} - -.nav-pills > li > a > .badge { - margin-left: 3px -} - -.jumbotron { - padding-top: 30px; - padding-bottom: 30px; - margin-bottom: 30px; - color: inherit; - background-color: #eee -} - -.jumbotron .h1, .jumbotron h1 { - color: inherit -} - -.jumbotron p { - margin-bottom: 15px; - font-size: 21px; - font-weight: 200 -} - -.jumbotron > hr { - border-top-color: #d5d5d5 -} - -.container .jumbotron, .container-fluid .jumbotron { - border-radius: 6px -} - -.jumbotron .container { - max-width: 100% -} - -@media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px - } - - .container .jumbotron, .container-fluid .jumbotron { - padding-right: 60px; - padding-left: 60px - } - - .jumbotron .h1, .jumbotron h1 { - font-size: 63px - } -} - -.thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: border .2s ease-in-out; - -o-transition: border .2s ease-in-out; - transition: border .2s ease-in-out -} - -.thumbnail a > img, .thumbnail > img { - margin-right: auto; - margin-left: auto -} - -a.thumbnail.active, a.thumbnail:focus, a.thumbnail:hover { - border-color: #337ab7 -} - -.thumbnail .caption { - padding: 9px; - color: #333 -} - -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px -} - -.alert h4 { - margin-top: 0; - color: inherit -} - -.alert .alert-link { - font-weight: 700 -} - -.alert > p, .alert > ul { - margin-bottom: 0 -} - -.alert > p + p { - margin-top: 5px -} - -.alert-dismissable, .alert-dismissible { - padding-right: 35px -} - -.alert-dismissable .close, .alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit -} - -.alert-success { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6 -} - -.alert-success hr { - border-top-color: #c9e2b3 -} - -.alert-success .alert-link { - color: #2b542c -} - -.alert-info { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1 -} - -.alert-info hr { - border-top-color: #a6e1ec -} - -.alert-info .alert-link { - color: #245269 -} - -.alert-warning { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc -} - -.alert-warning hr { - border-top-color: #f7e1b5 -} - -.alert-warning .alert-link { - color: #66512c -} - -.alert-danger { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1 -} - -.alert-danger hr { - border-top-color: #e4b9c0 -} - -.alert-danger .alert-link { - color: #843534 -} - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0 - } - to { - background-position: 0 0 - } -} - -@-o-keyframes progress-bar-stripes { - from { - background-position: 40px 0 - } - to { - background-position: 0 0 - } -} - -@keyframes progress-bar-stripes { - from { - background-position: 40px 0 - } - to { - background-position: 0 0 - } -} - -.progress { - height: 20px; - margin-bottom: 20px; - overflow: hidden; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1) -} - -.progress-bar { - float: left; - width: 0; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #fff; - text-align: center; - background-color: #337ab7; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - -webkit-transition: width .6s ease; - -o-transition: width .6s ease; - transition: width .6s ease -} - -.progress-bar-striped, .progress-striped .progress-bar { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - -webkit-background-size: 40px 40px; - background-size: 40px 40px -} - -.progress-bar.active, .progress.active .progress-bar { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite -} - -.progress-bar-success { - background-color: #5cb85c -} - -.progress-striped .progress-bar-success { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent) -} - -.progress-bar-info { - background-color: #5bc0de -} - -.progress-striped .progress-bar-info { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent) -} - -.progress-bar-warning { - background-color: #f0ad4e -} - -.progress-striped .progress-bar-warning { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent) -} - -.progress-bar-danger { - background-color: #d9534f -} - -.progress-striped .progress-bar-danger { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent) -} - -.media { - margin-top: 15px -} - -.media:first-child { - margin-top: 0 -} - -.media, .media-body { - overflow: hidden; - zoom: 1 -} - -.media-body { - width: 10000px -} - -.media-object { - display: block -} - -.media-object.img-thumbnail { - max-width: none -} - -.media-right, .media > .pull-right { - padding-left: 10px -} - -.media-left, .media > .pull-left { - padding-right: 10px -} - -.media-body, .media-left, .media-right { - display: table-cell; - vertical-align: top -} - -.media-middle { - vertical-align: middle -} - -.media-bottom { - vertical-align: bottom -} - -.media-heading { - margin-top: 0; - margin-bottom: 5px -} - -.media-list { - padding-left: 0; - list-style: none -} - -.list-group { - padding-left: 0; - margin-bottom: 20px -} - -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid #ddd -} - -.list-group-item:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px -} - -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px -} - -a.list-group-item, button.list-group-item { - color: #555 -} - -a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading { - color: #333 -} - -a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, button.list-group-item:hover { - color: #555; - text-decoration: none; - background-color: #f5f5f5 -} - -button.list-group-item { - width: 100%; - text-align: left -} - -.list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover { - color: #777; - cursor: not-allowed; - background-color: #eee -} - -.list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading { - color: inherit -} - -.list-group-item.disabled .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text { - color: #777 -} - -.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { - z-index: 2; - color: #fff; - background-color: #337ab7; - border-color: #337ab7 -} - -.list-group-item.active .list-group-item-heading, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > small { - color: inherit -} - -.list-group-item.active .list-group-item-text, .list-group-item.active:focus .list-group-item-text, .list-group-item.active:hover .list-group-item-text { - color: #c7ddef -} - -.list-group-item-success { - color: #3c763d; - background-color: #dff0d8 -} - -a.list-group-item-success, button.list-group-item-success { - color: #3c763d -} - -a.list-group-item-success .list-group-item-heading, button.list-group-item-success .list-group-item-heading { - color: inherit -} - -a.list-group-item-success:focus, a.list-group-item-success:hover, button.list-group-item-success:focus, button.list-group-item-success:hover { - color: #3c763d; - background-color: #d0e9c6 -} - -a.list-group-item-success.active, a.list-group-item-success.active:focus, a.list-group-item-success.active:hover, button.list-group-item-success.active, button.list-group-item-success.active:focus, button.list-group-item-success.active:hover { - color: #fff; - background-color: #3c763d; - border-color: #3c763d -} - -.list-group-item-info { - color: #31708f; - background-color: #d9edf7 -} - -a.list-group-item-info, button.list-group-item-info { - color: #31708f -} - -a.list-group-item-info .list-group-item-heading, button.list-group-item-info .list-group-item-heading { - color: inherit -} - -a.list-group-item-info:focus, a.list-group-item-info:hover, button.list-group-item-info:focus, button.list-group-item-info:hover { - color: #31708f; - background-color: #c4e3f3 -} - -a.list-group-item-info.active, a.list-group-item-info.active:focus, a.list-group-item-info.active:hover, button.list-group-item-info.active, button.list-group-item-info.active:focus, button.list-group-item-info.active:hover { - color: #fff; - background-color: #31708f; - border-color: #31708f -} - -.list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3 -} - -a.list-group-item-warning, button.list-group-item-warning { - color: #8a6d3b -} - -a.list-group-item-warning .list-group-item-heading, button.list-group-item-warning .list-group-item-heading { - color: inherit -} - -a.list-group-item-warning:focus, a.list-group-item-warning:hover, button.list-group-item-warning:focus, button.list-group-item-warning:hover { - color: #8a6d3b; - background-color: #faf2cc -} - -a.list-group-item-warning.active, a.list-group-item-warning.active:focus, a.list-group-item-warning.active:hover, button.list-group-item-warning.active, button.list-group-item-warning.active:focus, button.list-group-item-warning.active:hover { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b -} - -.list-group-item-danger { - color: #a94442; - background-color: #f2dede -} - -a.list-group-item-danger, button.list-group-item-danger { - color: #a94442 -} - -a.list-group-item-danger .list-group-item-heading, button.list-group-item-danger .list-group-item-heading { - color: inherit -} - -a.list-group-item-danger:focus, a.list-group-item-danger:hover, button.list-group-item-danger:focus, button.list-group-item-danger:hover { - color: #a94442; - background-color: #ebcccc -} - -a.list-group-item-danger.active, a.list-group-item-danger.active:focus, a.list-group-item-danger.active:hover, button.list-group-item-danger.active, button.list-group-item-danger.active:focus, button.list-group-item-danger.active:hover { - color: #fff; - background-color: #a94442; - border-color: #a94442 -} - -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px -} - -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3 -} - -.panel { - margin-bottom: 20px; - background-color: #fff; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: 0 1px 1px rgba(0, 0, 0, .05) -} - -.panel-body { - padding: 15px -} - -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-left-radius: 3px; - border-top-right-radius: 3px -} - -.panel-heading > .dropdown .dropdown-toggle { - color: inherit -} - -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit -} - -.panel-title > .small, .panel-title > .small > a, .panel-title > a, .panel-title > small, .panel-title > small > a { - color: inherit -} - -.panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #ddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px -} - -.panel > .list-group, .panel > .panel-collapse > .list-group { - margin-bottom: 0 -} - -.panel > .list-group .list-group-item, .panel > .panel-collapse > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0 -} - -.panel > .list-group:first-child .list-group-item:first-child, .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-left-radius: 3px; - border-top-right-radius: 3px -} - -.panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px -} - -.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0 -} - -.list-group + .panel-footer { - border-top-width: 0 -} - -.panel > .panel-collapse > .table, .panel > .table, .panel > .table-responsive > .table { - margin-bottom: 0 -} - -.panel > .panel-collapse > .table caption, .panel > .table caption, .panel > .table-responsive > .table caption { - padding-right: 15px; - padding-left: 15px -} - -.panel > .table-responsive:first-child > .table:first-child, .panel > .table:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px -} - -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child, .panel > .table:first-child > thead:first-child > tr:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px -} - -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child { - border-top-left-radius: 3px -} - -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child { - border-top-right-radius: 3px -} - -.panel > .table-responsive:last-child > .table:last-child, .panel > .table:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px -} - -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px -} - -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child { - border-bottom-left-radius: 3px -} - -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child { - border-bottom-right-radius: 3px -} - -.panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body { - border-top: 1px solid #ddd -} - -.panel > .table > tbody:first-child > tr:first-child td, .panel > .table > tbody:first-child > tr:first-child th { - border-top: 0 -} - -.panel > .table-bordered, .panel > .table-responsive > .table-bordered { - border: 0 -} - -.panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child { - border-left: 0 -} - -.panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child { - border-right: 0 -} - -.panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th { - border-bottom: 0 -} - -.panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0 -} - -.panel > .table-responsive { - margin-bottom: 0; - border: 0 -} - -.panel-group { - margin-bottom: 20px -} - -.panel-group .panel { - margin-bottom: 0; - border-radius: 4px -} - -.panel-group .panel + .panel { - margin-top: 5px -} - -.panel-group .panel-heading { - border-bottom: 0 -} - -.panel-group .panel-heading + .panel-collapse > .list-group, .panel-group .panel-heading + .panel-collapse > .panel-body { - border-top: 1px solid #ddd -} - -.panel-group .panel-footer { - border-top: 0 -} - -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #ddd -} - -.panel-default { - border-color: #ddd -} - -.panel-default > .panel-heading { - color: #333; - background-color: #f5f5f5; - border-color: #ddd -} - -.panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ddd -} - -.panel-default > .panel-heading .badge { - color: #f5f5f5; - background-color: #333 -} - -.panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ddd -} - -.panel-primary { - border-color: #337ab7 -} - -.panel-primary > .panel-heading { - color: #fff; - background-color: #337ab7; - border-color: #337ab7 -} - -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #337ab7 -} - -.panel-primary > .panel-heading .badge { - color: #337ab7; - background-color: #fff -} - -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #337ab7 -} - -.panel-success { - border-color: #d6e9c6 -} - -.panel-success > .panel-heading { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6 -} - -.panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #d6e9c6 -} - -.panel-success > .panel-heading .badge { - color: #dff0d8; - background-color: #3c763d -} - -.panel-success > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #d6e9c6 -} - -.panel-info { - border-color: #bce8f1 -} - -.panel-info > .panel-heading { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1 -} - -.panel-info > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #bce8f1 -} - -.panel-info > .panel-heading .badge { - color: #d9edf7; - background-color: #31708f -} - -.panel-info > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #bce8f1 -} - -.panel-warning { - border-color: #faebcc -} - -.panel-warning > .panel-heading { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc -} - -.panel-warning > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #faebcc -} - -.panel-warning > .panel-heading .badge { - color: #fcf8e3; - background-color: #8a6d3b -} - -.panel-warning > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #faebcc -} - -.panel-danger { - border-color: #ebccd1 -} - -.panel-danger > .panel-heading { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1 -} - -.panel-danger > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ebccd1 -} - -.panel-danger > .panel-heading .badge { - color: #f2dede; - background-color: #a94442 -} - -.panel-danger > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ebccd1 -} - -.embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden -} - -.embed-responsive .embed-responsive-item, .embed-responsive embed, .embed-responsive iframe, .embed-responsive object, .embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0 -} - -.embed-responsive-16by9 { - padding-bottom: 56.25% -} - -.embed-responsive-4by3 { - padding-bottom: 75% -} - -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05) -} - -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, .15) -} - -.well-lg { - padding: 24px; - border-radius: 6px -} - -.well-sm { - padding: 9px; - border-radius: 3px -} - -.close { - float: right; - font-size: 21px; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - filter: alpha(opacity=20); - opacity: .2 -} - -.close:focus, .close:hover { - color: #000; - text-decoration: none; - cursor: pointer; - filter: alpha(opacity=50); - opacity: .5 -} - -button.close { - -webkit-appearance: none; - padding: 0; - cursor: pointer; - background: 0 0; - border: 0 -} - -.modal-open { - overflow: hidden -} - -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - display: none; - overflow: hidden; - -webkit-overflow-scrolling: touch; - outline: 0 -} - -.modal.fade .modal-dialog { - -webkit-transition: -webkit-transform .3s ease-out; - -o-transition: -o-transform .3s ease-out; - transition: transform .3s ease-out; - -webkit-transform: translate(0, -25%); - -ms-transform: translate(0, -25%); - -o-transform: translate(0, -25%); - transform: translate(0, -25%) -} - -.modal.in .modal-dialog { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - -o-transform: translate(0, 0); - transform: translate(0, 0) -} - -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto -} - -.modal-dialog { - position: relative; - width: auto; - margin: 10px -} - -.modal-content { - position: relative; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #999; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - outline: 0; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); - box-shadow: 0 3px 9px rgba(0, 0, 0, .5) -} - -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000 -} - -.modal-backdrop.fade { - filter: alpha(opacity=0); - opacity: 0 -} - -.modal-backdrop.in { - filter: alpha(opacity=50); - opacity: .5 -} - -.modal-header { - min-height: 16.43px; - padding: 15px; - border-bottom: 1px solid #e5e5e5 -} - -.modal-header .close { - margin-top: -2px -} - -.modal-title { - margin: 0; - line-height: 1.42857143 -} - -.modal-body { - position: relative; - padding: 15px -} - -.modal-footer { - padding: 15px; - text-align: right; - border-top: 1px solid #e5e5e5 -} - -.modal-footer .btn + .btn { - margin-bottom: 0; - margin-left: 5px -} - -.modal-footer .btn-group .btn + .btn { - margin-left: -1px -} - -.modal-footer .btn-block + .btn-block { - margin-left: 0 -} - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll -} - -@media (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 30px auto - } - - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); - box-shadow: 0 5px 15px rgba(0, 0, 0, .5) - } - - .modal-sm { - width: 300px - } -} - -@media (min-width: 992px) { - .modal-lg { - width: 900px - } -} - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 12px; - font-style: normal; - font-weight: 400; - line-height: 1.42857143; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - word-wrap: normal; - white-space: normal; - filter: alpha(opacity=0); - opacity: 0; - line-break: auto -} - -.tooltip.in { - filter: alpha(opacity=90); - opacity: .9 -} - -.tooltip.top { - padding: 5px 0; - margin-top: -3px -} - -.tooltip.right { - padding: 0 5px; - margin-left: 3px -} - -.tooltip.bottom { - padding: 5px 0; - margin-top: 3px -} - -.tooltip.left { - padding: 0 5px; - margin-left: -3px -} - -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 4px -} - -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid -} - -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000 -} - -.tooltip.top-left .tooltip-arrow { - right: 5px; - bottom: 0; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000 -} - -.tooltip.top-right .tooltip-arrow { - bottom: 0; - left: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000 -} - -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000 -} - -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000 -} - -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000 -} - -.tooltip.bottom-left .tooltip-arrow { - top: 0; - right: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000 -} - -.tooltip.bottom-right .tooltip-arrow { - top: 0; - left: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000 -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: none; - max-width: 276px; - padding: 1px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 1.42857143; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - word-wrap: normal; - white-space: normal; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); - box-shadow: 0 5px 10px rgba(0, 0, 0, .2); - line-break: auto -} - -.popover.top { - margin-top: -10px -} - -.popover.right { - margin-left: 10px -} - -.popover.bottom { - margin-top: 10px -} - -.popover.left { - margin-left: -10px -} - -.popover-title { - padding: 8px 14px; - margin: 0; - font-size: 14px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0 -} - -.popover-content { - padding: 9px 14px -} - -.popover > .arrow, .popover > .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid -} - -.popover > .arrow { - border-width: 11px -} - -.popover > .arrow:after { - content: ""; - border-width: 10px -} - -.popover.top > .arrow { - bottom: -11px; - left: 50%; - margin-left: -11px; - border-top-color: #999; - border-top-color: rgba(0, 0, 0, .25); - border-bottom-width: 0 -} - -.popover.top > .arrow:after { - bottom: 1px; - margin-left: -10px; - content: " "; - border-top-color: #fff; - border-bottom-width: 0 -} - -.popover.right > .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-right-color: #999; - border-right-color: rgba(0, 0, 0, .25); - border-left-width: 0 -} - -.popover.right > .arrow:after { - bottom: -10px; - left: 1px; - content: " "; - border-right-color: #fff; - border-left-width: 0 -} - -.popover.bottom > .arrow { - top: -11px; - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: #999; - border-bottom-color: rgba(0, 0, 0, .25) -} - -.popover.bottom > .arrow:after { - top: 1px; - margin-left: -10px; - content: " "; - border-top-width: 0; - border-bottom-color: #fff -} - -.popover.left > .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: #999; - border-left-color: rgba(0, 0, 0, .25) -} - -.popover.left > .arrow:after { - right: 1px; - bottom: -10px; - content: " "; - border-right-width: 0; - border-left-color: #fff -} - -.carousel { - position: relative -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden -} - -.carousel-inner > .item { - position: relative; - display: none; - -webkit-transition: .6s ease-in-out left; - -o-transition: .6s ease-in-out left; - transition: .6s ease-in-out left -} - -.carousel-inner > .item > a > img, .carousel-inner > .item > img { - line-height: 1 -} - -@media all and (transform-3d),(-webkit-transform-3d) { - .carousel-inner > .item { - -webkit-transition: -webkit-transform .6s ease-in-out; - -o-transition: -o-transform .6s ease-in-out; - transition: transform .6s ease-in-out; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - perspective: 1000px - } - - .carousel-inner > .item.active.right, .carousel-inner > .item.next { - left: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) - } - - .carousel-inner > .item.active.left, .carousel-inner > .item.prev { - left: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) - } - - .carousel-inner > .item.active, .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right { - left: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) - } -} - -.carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { - display: block -} - -.carousel-inner > .active { - left: 0 -} - -.carousel-inner > .next, .carousel-inner > .prev { - position: absolute; - top: 0; - width: 100% -} - -.carousel-inner > .next { - left: 100% -} - -.carousel-inner > .prev { - left: -100% -} - -.carousel-inner > .next.left, .carousel-inner > .prev.right { - left: 0 -} - -.carousel-inner > .active.left { - left: -100% -} - -.carousel-inner > .active.right { - left: 100% -} - -.carousel-control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 15%; - font-size: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); - filter: alpha(opacity=50); - opacity: .5 -} - -.carousel-control.left { - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .0001) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .0001) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); - background-repeat: repeat-x -} - -.carousel-control.right { - right: 0; - left: auto; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .5) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .5) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); - background-repeat: repeat-x -} - -.carousel-control:focus, .carousel-control:hover { - color: #fff; - text-decoration: none; - filter: alpha(opacity=90); - outline: 0; - opacity: .9 -} - -.carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next, .carousel-control .icon-prev { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; - margin-top: -10px -} - -.carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { - left: 50%; - margin-left: -10px -} - -.carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { - right: 50%; - margin-right: -10px -} - -.carousel-control .icon-next, .carousel-control .icon-prev { - width: 20px; - height: 20px; - font-family: serif; - line-height: 1 -} - -.carousel-control .icon-prev:before { - content: '\2039' -} - -.carousel-control .icon-next:before { - content: '\203a' -} - -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - padding-left: 0; - margin-left: -30%; - text-align: center; - list-style: none -} - -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); - border: 1px solid #fff; - border-radius: 10px -} - -.carousel-indicators .active { - width: 12px; - height: 12px; - margin: 0; - background-color: #fff -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6) -} - -.carousel-caption .btn { - text-shadow: none -} - -@media screen and (min-width: 768px) { - .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next, .carousel-control .icon-prev { - width: 30px; - height: 30px; - margin-top: -15px; - font-size: 30px - } - - .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { - margin-left: -15px - } - - .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { - margin-right: -15px - } - - .carousel-caption { - right: 20%; - left: 20%; - padding-bottom: 30px - } - - .carousel-indicators { - bottom: 20px - } -} - -.btn-group-vertical > .btn-group:after, .btn-group-vertical > .btn-group:before, .btn-toolbar:after, .btn-toolbar:before, .clearfix:after, .clearfix:before, .container-fluid:after, .container-fluid:before, .container:after, .container:before, .dl-horizontal dd:after, .dl-horizontal dd:before, .form-horizontal .form-group:after, .form-horizontal .form-group:before, .modal-footer:after, .modal-footer:before, .nav:after, .nav:before, .navbar-collapse:after, .navbar-collapse:before, .navbar-header:after, .navbar-header:before, .navbar:after, .navbar:before, .pager:after, .pager:before, .panel-body:after, .panel-body:before, .row:after, .row:before { - display: table; - content: " " -} - -.btn-group-vertical > .btn-group:after, .btn-toolbar:after, .clearfix:after, .container-fluid:after, .container:after, .dl-horizontal dd:after, .form-horizontal .form-group:after, .modal-footer:after, .nav:after, .navbar-collapse:after, .navbar-header:after, .navbar:after, .pager:after, .panel-body:after, .row:after { - clear: both -} - -.center-block { - display: block; - margin-right: auto; - margin-left: auto -} - -.pull-right { - float: right !important -} - -.pull-left { - float: left !important -} - -.hide { - display: none !important -} - -.show { - display: block !important -} - -.invisible { - visibility: hidden -} - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0 -} - -.hidden { - display: none !important -} - -.affix { - position: fixed -} - -@-ms-viewport { - width: device-width -} - -.visible-lg, .visible-md, .visible-sm, .visible-xs { - display: none !important -} - -.visible-lg-block, .visible-lg-inline, .visible-lg-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block { - display: none !important -} - -@media (max-width: 767px) { - .visible-xs { - display: block !important - } - - table.visible-xs { - display: table !important - } - - tr.visible-xs { - display: table-row !important - } - - td.visible-xs, th.visible-xs { - display: table-cell !important - } -} - -@media (max-width: 767px) { - .visible-xs-block { - display: block !important - } -} - -@media (max-width: 767px) { - .visible-xs-inline { - display: inline !important - } -} - -@media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block !important - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important - } - - table.visible-sm { - display: table !important - } - - tr.visible-sm { - display: table-row !important - } - - td.visible-sm, th.visible-sm { - display: table-cell !important - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-block { - display: block !important - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline { - display: inline !important - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block !important - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important - } - - table.visible-md { - display: table !important - } - - tr.visible-md { - display: table-row !important - } - - td.visible-md, th.visible-md { - display: table-cell !important - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-block { - display: block !important - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline { - display: inline !important - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block !important - } -} - -@media (min-width: 1200px) { - .visible-lg { - display: block !important - } - - table.visible-lg { - display: table !important - } - - tr.visible-lg { - display: table-row !important - } - - td.visible-lg, th.visible-lg { - display: table-cell !important - } -} - -@media (min-width: 1200px) { - .visible-lg-block { - display: block !important - } -} - -@media (min-width: 1200px) { - .visible-lg-inline { - display: inline !important - } -} - -@media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block !important - } -} - -@media (max-width: 767px) { - .hidden-xs { - display: none !important - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm { - display: none !important - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md { - display: none !important - } -} - -@media (min-width: 1200px) { - .hidden-lg { - display: none !important - } -} - -.visible-print { - display: none !important -} - -@media print { - .visible-print { - display: block !important - } - - table.visible-print { - display: table !important - } - - tr.visible-print { - display: table-row !important - } - - td.visible-print, th.visible-print { - display: table-cell !important - } -} - -.visible-print-block { - display: none !important -} - -@media print { - .visible-print-block { - display: block !important - } -} - -.visible-print-inline { - display: none !important -} - -@media print { - .visible-print-inline { - display: inline !important - } -} - -.visible-print-inline-block { - display: none !important -} - -@media print { - .visible-print-inline-block { - display: inline-block !important - } -} - -@media print { - .hidden-print { - display: none !important - } -} \ No newline at end of file diff --git a/src/main/webapp/resources/css/common.css b/src/main/webapp/resources/css/common.css deleted file mode 100644 index e5e835f1f..000000000 --- a/src/main/webapp/resources/css/common.css +++ /dev/null @@ -1,75 +0,0 @@ -body { - padding-top: 100px; - padding-bottom: 50px; - background-color: #ffffff; - -} -form { - border: 3px solid #204a87; -} - -img.logo { - display: block; - margin-left: auto; - margin-right: auto; - width: 300px; - height: 70px; - - } -.form-signin { - max-width: 330px; - padding: 15px; - margin: 0 auto; -} -.btn-custom,.btn-custom:hover, .btn-custom:focus, .btn-custom:active { - border-radius: 0; - color: #ffffff; - background-color: #ef2929; - border-color: #ef2929; - -} -.btn-custom-LOGIN { - border-radius: 0; - color: #ffffff; - height:3em; - background-color: #26C6DA; - border-color: #ef2929; - -} - -.form-signin .form-signin-heading, -.form-signin .checkbox { - margin-bottom: 10px; -} - -.form-signin .checkbox { - font-weight: normal; -} - -.form-signin .form-control { - position: relative; - height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 10px; - font-size: 16px; -} - -.form-signin .form-control:focus { - z-index: 2; -} - -.form-signin input { - margin-top: 10px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.form-signin button { - margin-top: 10px; -} - -.has-error { - color: red -} \ No newline at end of file diff --git a/src/main/webapp/resources/css/profile.css b/src/main/webapp/resources/css/profile.css deleted file mode 100644 index 41e4a126e..000000000 --- a/src/main/webapp/resources/css/profile.css +++ /dev/null @@ -1,244 +0,0 @@ -.mainbody { - background:#f0f0f0; -} -/* Special class on .container surrounding .navbar, used for positioning it into place. */ -.navbar-wrapper { - position: fixed; - top: 0; - left: 0; - right: 0; - z-index: 20; - margin-left: -15px; - margin-right: -15px; - //background-color:#1C3B47; -} -.navbar-custom { - background-color: #1C3B47; - border-color: #E7E7E7; - -} - -/* Flip around the padding for proper display in narrow viewports */ -.navbar-wrapper .container { - padding-left: 0; - padding-right: 0; -} -.navbar-wrapper .navbar { - padding-left: 15px; - padding-right: 15px; -} - -.navbar-content -{ - width:320px; - padding: 15px; - padding-bottom:0px; -} -.navbar-content:before, .navbar-content:after -{ - display: table; - content: ""; - line-height: 0; -} -.navbar-nav.navbar-right:last-child { - margin-right: 15px !important; -} -.navbar-footer -{ - background-color:#DDD; -} -.navbar-brand,.navbar-toggle,.brand_network{ - color: #FFFFFF; - font-weight: bold; - -} -.navbar-custom .navbar-nav > li > a { - color:#FFFFFF; - font-weight: bold; -} -.navbar-custom .navbar-toggle{ - color: #f57900; - background: #f57900; -} -.navbar-footer-content { padding:15px 15px 15px 15px; } -.dropdown-menu { -padding: 0px; -overflow: hidden; -} - -.brand_network { - color: #9D9D9D; - float: left; - position: absolute; - left: 70px; - top: 30px; - font-size: smaller; -} - -.post-content { - margin-left:58px; -} - -.badge-important { - margin-top: 3px; - margin-left: 25px; - position: absolute; -} - -body { - background-color: #e8e8e8; -} -//contact forms - -.container { - max-width:700px; - width:100%; - margin:0 auto; - position:relative; -} - -#contact input[type="text"], #contact input[type="email"], #contact input[type="tel"], #contact input[type="url"], #contact textarea, #contact button[type="submit"] { font:400 12px/16px "Open Sans", Helvetica, Arial, sans-serif; } - -#contact,#technologies,#about { - background:#F9F9F9; - padding:25px; - margin:50px 0; -} - -#contact h3,#technologies h3,#about h3 { - color: #F96; - display: block; - font-size: 30px; - font-weight: 400; -} - -#contact h4,#technologies h4,#about h4 { - margin:5px 0 15px; - display:block; - font-size:13px; -} - -fieldset { - border: medium none !important; - margin: 0 0 10px; - min-width: 100%; - padding: 0; - width: 100%; -} - -#contact input[type="text"], #contact input[type="email"], #contact input[type="tel"], #contact input[type="url"], #contact textarea { - width:100%; - border:1px solid #CCC; - background:#FFF; - margin:0 0 5px; - padding:10px; -} - -#contact input[type="text"]:hover, #contact input[type="email"]:hover, #contact input[type="tel"]:hover, #contact input[type="url"]:hover, #contact textarea:hover { - -webkit-transition:border-color 0.3s ease-in-out; - -moz-transition:border-color 0.3s ease-in-out; - transition:border-color 0.3s ease-in-out; - border:1px solid #AAA; -} - -#contact textarea { - height:100px; - max-width:100%; - resize:none; -} - -#contact button[type="submit"] { - cursor:pointer; - width:100%; - border:none; - background:#0CF; - color:#FFF; - margin:0 0 5px; - padding:10px; - font-size:15px; -} - -#contact button[type="submit"]:hover { - background:#09C; - -webkit-transition:background 0.3s ease-in-out; - -moz-transition:background 0.3s ease-in-out; - transition:background-color 0.3s ease-in-out; -} - -#contact button[type="submit"]:active { box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.5); } - -#contact input:focus, #contact textarea:focus { - outline:0; - border:1px solid #999; -} -::-webkit-input-placeholder { - color:#888; -} -:-moz-placeholder { - color:#888; -} -::-moz-placeholder { - color:#888; -} -:-ms-input-placeholder { - color:#888; -} -blockquote{ - display:block; - background: #fff; - padding: 15px 20px 15px 45px; - margin: 0 0 20px; - position: relative; - - /*Font*/ - font-family: Georgia, serif; - font-size: 16px; - line-height: 1.2; - color: #666; - text-align: justify; - - /*Borders - (Optional)*/ - border-left: 15px solid #c76c0c; - border-right: 2px solid #c76c0c; - - /*Box Shadow - (Optional)*/ - -moz-box-shadow: 2px 2px 15px #ccc; - -webkit-box-shadow: 2px 2px 15px #ccc; - box-shadow: 2px 2px 15px #ccc; -} - -blockquote::before{ - //content: "\201C"; /*Unicode for Left Double Quote*/ - - /*Font*/ - font-family: Verdana,sans-serif; - font-size: 60px; - font-weight: bold; - color: #1C3B47; - - /*Positioning*/ - position: absolute; - left: 25px; - top:5px; -} - -blockquote::after{ - /*Reset to make sure*/ - content: ""; -} - -blockquote a{ - text-decoration: none; - background: #eee; - cursor: pointer; - padding: 0 4px; - color: #c76c0c; -} - -blockquote a:hover{ - color: #1C3B47; -} - -blockquote em{ - font-style: italic; -} \ No newline at end of file diff --git a/src/main/webapp/resources/css/w3.css b/src/main/webapp/resources/css/w3.css deleted file mode 100644 index 9fda92c8c..000000000 --- a/src/main/webapp/resources/css/w3.css +++ /dev/null @@ -1,231 +0,0 @@ -/* W3.CSS 4.06 November 2017 by Jan Egil and Borge Refsnes */ -html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit} -/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */ -html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} -article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block} -audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline} -audio:not([controls]){display:none;height:0}[hidden],template{display:none} -a{background-color:transparent;-webkit-text-decoration-skip:objects} -a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted} -dfn{font-style:italic}mark{background:#ff0;color:#000} -small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} -sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none}svg:not(:root){overflow:hidden} -code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible} -button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold} -button,input{overflow:visible}button,select{text-transform:none} -button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button} -button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner{border-style:none;padding:0} -button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring{outline:1px dotted ButtonText} -fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em} -legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto} -[type=checkbox],[type=radio]{padding:0} -[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto} -[type=search]{-webkit-appearance:textfield;outline-offset:-2px} -[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none} -::-webkit-input-placeholder{color:inherit;opacity:0.54} -::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} -/* End extract */ -html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden} -h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.w3-serif{font-family:serif} -h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px} -hr{border:0;border-top:1px solid #eee;margin:20px 0} -.w3-image{max-width:100%;height:auto}img{margin-bottom:-5px}a{color:inherit} -.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc} -.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1} -.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1} -.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center} -.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top} -.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px} -.w3-btn,.w3-button{border:none;display:inline-block;outline:0;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap} -.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)} -.w3-btn,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} -.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none} -.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none} -.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%} -.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none} -.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block} -.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s} -.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%} -.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc} -.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer} -.w3-dropdown-hover:hover .w3-dropdown-content{display:block;z-index:1} -.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000} -.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000} -.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0} -.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px} -.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto} -.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%} -.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%} -.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px} -.w3-main,#main{transition:margin-left .4s} -.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)} -.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px} -.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto} -.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;outline:none;display:block} -.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left} -.w3-bar .w3-button{white-space:normal} -.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;outline:none;white-space:normal;float:none} -.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%} -.w3-responsive{display:block;overflow-x:auto} -.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before, -.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both} -.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%} -.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%} -.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%} -.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%} -@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%} -.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%} -.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}} -@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%} -.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%} -.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}} -.w3-content{max-width:980px;margin:auto}.w3-rest{overflow:hidden} -.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell} -.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom} -.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important} -@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px} -.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative} -.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center} -.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}} -@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}} -@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}} -@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}} -@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}} -.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0} -.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2} -.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0} -.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0} -.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)} -.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)} -.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)} -.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} -.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} -.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none} -.w3-display-position{position:absolute} -.w3-circle{border-radius:50%} -.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px} -.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px} -.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px} -.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px} -.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word} -.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%} -.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)} -.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)} -.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}} -.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}} -.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}} -.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}} -.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}} -.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}} -.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}} -.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}} -.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important} -.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1} -.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75} -.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)} -.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)} -.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)} -.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important} -.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important} -.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important} -.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important} -.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important} -.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important} -.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important} -.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important} -.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important} -.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important} -.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important} -.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px 8px 50px}.w3-padding-large{padding:12px 24px!important} -.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important} -.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important} -.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important} -.w3-left{float:left!important}.w3-right{float:right!important} -.w3-button:hover{color:#000!important;background-color:#ccc!important} -.w3-transparent,.w3-hover-none:hover{background-color:transparent!important} -.w3-hover-none:hover{box-shadow:none!important} -/* Colors */ -.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important} -.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important} -.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important} -.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important} -.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important} -.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important} -.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important} -.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important} -.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important} -.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important} -.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important} -.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important} -.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important} -.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important} -.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important} -.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important} -.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important} -.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important} -.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important} -.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important} -.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important} -.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important} -.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important} -.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important} -.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important} -.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important} -.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important} -.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important} -.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important} -.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important} -.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important} -.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important} -.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important} -.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important} -.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important} -.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important} -.w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important} -.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important} -.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important} -.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important} -.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important} -.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important} -.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important} -.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important} -.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important} -.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important} -.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important} -.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important} -.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important} -.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important} -.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important} -.w3-text-white,.w3-hover-text-white:hover{color:#fff!important} -.w3-text-black,.w3-hover-text-black:hover{color:#000!important} -.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important} -.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important} -.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important} -.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important} -.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important} -.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important} -.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important} -.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important} -.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important} -.w3-border-blue-grey,.w3-hover-border-blue-grey:hover,.w3-border-blue-gray,.w3-hover-border-blue-gray:hover{border-color:#607d8b!important} -.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important} -.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important} -.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important} -.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important} -.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important} -.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important} -.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important} -.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important} -.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important} -.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important} -.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important} -.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important} -.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important} -.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important} -.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important} -.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important} -.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important} -.w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important} -.w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important} -.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important} -.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important} \ No newline at end of file diff --git a/src/main/webapp/resources/js/bootstrap.min.js b/src/main/webapp/resources/js/bootstrap.min.js deleted file mode 100644 index f363824be..000000000 --- a/src/main/webapp/resources/js/bootstrap.min.js +++ /dev/null @@ -1,784 +0,0 @@ -/*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under the MIT license - */ -if ("undefined" == typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery"); -+function (a) { - "use strict"; - var b = a.fn.jquery.split(" ")[0].split("."); - if (b[0] < 2 && b[1] < 9 || 1 == b[0] && 9 == b[1] && b[2] < 1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher") -}(jQuery), +function (a) { - "use strict"; - function b() { - var a = document.createElement("bootstrap"), b = { - WebkitTransition: "webkitTransitionEnd", - MozTransition: "transitionend", - OTransition: "oTransitionEnd otransitionend", - transition: "transitionend" - }; - for (var c in b)if (void 0 !== a.style[c])return {end: b[c]}; - return !1 - } - - a.fn.emulateTransitionEnd = function (b) { - var c = !1, d = this; - a(this).one("bsTransitionEnd", function () { - c = !0 - }); - var e = function () { - c || a(d).trigger(a.support.transition.end) - }; - return setTimeout(e, b), this - }, a(function () { - a.support.transition = b(), a.support.transition && (a.event.special.bsTransitionEnd = { - bindType: a.support.transition.end, - delegateType: a.support.transition.end, - handle: function (b) { - return a(b.target).is(this) ? b.handleObj.handler.apply(this, arguments) : void 0 - } - }) - }) -}(jQuery), +function (a) { - "use strict"; - function b(b) { - return this.each(function () { - var c = a(this), e = c.data("bs.alert"); - e || c.data("bs.alert", e = new d(this)), "string" == typeof b && e[b].call(c) - }) - } - - var c = '[data-dismiss="alert"]', d = function (b) { - a(b).on("click", c, this.close) - }; - d.VERSION = "3.3.5", d.TRANSITION_DURATION = 150, d.prototype.close = function (b) { - function c() { - g.detach().trigger("closed.bs.alert").remove() - } - - var e = a(this), f = e.attr("data-target"); - f || (f = e.attr("href"), f = f && f.replace(/.*(?=#[^\s]*$)/, "")); - var g = a(f); - b && b.preventDefault(), g.length || (g = e.closest(".alert")), g.trigger(b = a.Event("close.bs.alert")), b.isDefaultPrevented() || (g.removeClass("in"), a.support.transition && g.hasClass("fade") ? g.one("bsTransitionEnd", c).emulateTransitionEnd(d.TRANSITION_DURATION) : c()) - }; - var e = a.fn.alert; - a.fn.alert = b, a.fn.alert.Constructor = d, a.fn.alert.noConflict = function () { - return a.fn.alert = e, this - }, a(document).on("click.bs.alert.data-api", c, d.prototype.close) -}(jQuery), +function (a) { - "use strict"; - function b(b) { - return this.each(function () { - var d = a(this), e = d.data("bs.button"), f = "object" == typeof b && b; - e || d.data("bs.button", e = new c(this, f)), "toggle" == b ? e.toggle() : b && e.setState(b) - }) - } - - var c = function (b, d) { - this.$element = a(b), this.options = a.extend({}, c.DEFAULTS, d), this.isLoading = !1 - }; - c.VERSION = "3.3.5", c.DEFAULTS = {loadingText: "loading..."}, c.prototype.setState = function (b) { - var c = "disabled", d = this.$element, e = d.is("input") ? "val" : "html", f = d.data(); - b += "Text", null == f.resetText && d.data("resetText", d[e]()), setTimeout(a.proxy(function () { - d[e](null == f[b] ? this.options[b] : f[b]), "loadingText" == b ? (this.isLoading = !0, d.addClass(c).attr(c, c)) : this.isLoading && (this.isLoading = !1, d.removeClass(c).removeAttr(c)) - }, this), 0) - }, c.prototype.toggle = function () { - var a = !0, b = this.$element.closest('[data-toggle="buttons"]'); - if (b.length) { - var c = this.$element.find("input"); - "radio" == c.prop("type") ? (c.prop("checked") && (a = !1), b.find(".active").removeClass("active"), this.$element.addClass("active")) : "checkbox" == c.prop("type") && (c.prop("checked") !== this.$element.hasClass("active") && (a = !1), this.$element.toggleClass("active")), c.prop("checked", this.$element.hasClass("active")), a && c.trigger("change") - } else this.$element.attr("aria-pressed", !this.$element.hasClass("active")), this.$element.toggleClass("active") - }; - var d = a.fn.button; - a.fn.button = b, a.fn.button.Constructor = c, a.fn.button.noConflict = function () { - return a.fn.button = d, this - }, a(document).on("click.bs.button.data-api", '[data-toggle^="button"]', function (c) { - var d = a(c.target); - d.hasClass("btn") || (d = d.closest(".btn")), b.call(d, "toggle"), a(c.target).is('input[type="radio"]') || a(c.target).is('input[type="checkbox"]') || c.preventDefault() - }).on("focus.bs.button.data-api blur.bs.button.data-api", '[data-toggle^="button"]', function (b) { - a(b.target).closest(".btn").toggleClass("focus", /^focus(in)?$/.test(b.type)) - }) -}(jQuery), +function (a) { - "use strict"; - function b(b) { - return this.each(function () { - var d = a(this), e = d.data("bs.carousel"), f = a.extend({}, c.DEFAULTS, d.data(), "object" == typeof b && b), g = "string" == typeof b ? b : f.slide; - e || d.data("bs.carousel", e = new c(this, f)), "number" == typeof b ? e.to(b) : g ? e[g]() : f.interval && e.pause().cycle() - }) - } - - var c = function (b, c) { - this.$element = a(b), this.$indicators = this.$element.find(".carousel-indicators"), this.options = c, this.paused = null, this.sliding = null, this.interval = null, this.$active = null, this.$items = null, this.options.keyboard && this.$element.on("keydown.bs.carousel", a.proxy(this.keydown, this)), "hover" == this.options.pause && !("ontouchstart"in document.documentElement) && this.$element.on("mouseenter.bs.carousel", a.proxy(this.pause, this)).on("mouseleave.bs.carousel", a.proxy(this.cycle, this)) - }; - c.VERSION = "3.3.5", c.TRANSITION_DURATION = 600, c.DEFAULTS = { - interval: 5e3, - pause: "hover", - wrap: !0, - keyboard: !0 - }, c.prototype.keydown = function (a) { - if (!/input|textarea/i.test(a.target.tagName)) { - switch (a.which) { - case 37: - this.prev(); - break; - case 39: - this.next(); - break; - default: - return - } - a.preventDefault() - } - }, c.prototype.cycle = function (b) { - return b || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(a.proxy(this.next, this), this.options.interval)), this - }, c.prototype.getItemIndex = function (a) { - return this.$items = a.parent().children(".item"), this.$items.index(a || this.$active) - }, c.prototype.getItemForDirection = function (a, b) { - var c = this.getItemIndex(b), d = "prev" == a && 0 === c || "next" == a && c == this.$items.length - 1; - if (d && !this.options.wrap)return b; - var e = "prev" == a ? -1 : 1, f = (c + e) % this.$items.length; - return this.$items.eq(f) - }, c.prototype.to = function (a) { - var b = this, c = this.getItemIndex(this.$active = this.$element.find(".item.active")); - return a > this.$items.length - 1 || 0 > a ? void 0 : this.sliding ? this.$element.one("slid.bs.carousel", function () { - b.to(a) - }) : c == a ? this.pause().cycle() : this.slide(a > c ? "next" : "prev", this.$items.eq(a)) - }, c.prototype.pause = function (b) { - return b || (this.paused = !0), this.$element.find(".next, .prev").length && a.support.transition && (this.$element.trigger(a.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this - }, c.prototype.next = function () { - return this.sliding ? void 0 : this.slide("next") - }, c.prototype.prev = function () { - return this.sliding ? void 0 : this.slide("prev") - }, c.prototype.slide = function (b, d) { - var e = this.$element.find(".item.active"), f = d || this.getItemForDirection(b, e), g = this.interval, h = "next" == b ? "left" : "right", i = this; - if (f.hasClass("active"))return this.sliding = !1; - var j = f[0], k = a.Event("slide.bs.carousel", {relatedTarget: j, direction: h}); - if (this.$element.trigger(k), !k.isDefaultPrevented()) { - if (this.sliding = !0, g && this.pause(), this.$indicators.length) { - this.$indicators.find(".active").removeClass("active"); - var l = a(this.$indicators.children()[this.getItemIndex(f)]); - l && l.addClass("active") - } - var m = a.Event("slid.bs.carousel", {relatedTarget: j, direction: h}); - return a.support.transition && this.$element.hasClass("slide") ? (f.addClass(b), f[0].offsetWidth, e.addClass(h), f.addClass(h), e.one("bsTransitionEnd", function () { - f.removeClass([b, h].join(" ")).addClass("active"), e.removeClass(["active", h].join(" ")), i.sliding = !1, setTimeout(function () { - i.$element.trigger(m) - }, 0) - }).emulateTransitionEnd(c.TRANSITION_DURATION)) : (e.removeClass("active"), f.addClass("active"), this.sliding = !1, this.$element.trigger(m)), g && this.cycle(), this - } - }; - var d = a.fn.carousel; - a.fn.carousel = b, a.fn.carousel.Constructor = c, a.fn.carousel.noConflict = function () { - return a.fn.carousel = d, this - }; - var e = function (c) { - var d, e = a(this), f = a(e.attr("data-target") || (d = e.attr("href")) && d.replace(/.*(?=#[^\s]+$)/, "")); - if (f.hasClass("carousel")) { - var g = a.extend({}, f.data(), e.data()), h = e.attr("data-slide-to"); - h && (g.interval = !1), b.call(f, g), h && f.data("bs.carousel").to(h), c.preventDefault() - } - }; - a(document).on("click.bs.carousel.data-api", "[data-slide]", e).on("click.bs.carousel.data-api", "[data-slide-to]", e), a(window).on("load", function () { - a('[data-ride="carousel"]').each(function () { - var c = a(this); - b.call(c, c.data()) - }) - }) -}(jQuery), +function (a) { - "use strict"; - function b(b) { - var c, d = b.attr("data-target") || (c = b.attr("href")) && c.replace(/.*(?=#[^\s]+$)/, ""); - return a(d) - } - - function c(b) { - return this.each(function () { - var c = a(this), e = c.data("bs.collapse"), f = a.extend({}, d.DEFAULTS, c.data(), "object" == typeof b && b); - !e && f.toggle && /show|hide/.test(b) && (f.toggle = !1), e || c.data("bs.collapse", e = new d(this, f)), "string" == typeof b && e[b]() - }) - } - - var d = function (b, c) { - this.$element = a(b), this.options = a.extend({}, d.DEFAULTS, c), this.$trigger = a('[data-toggle="collapse"][href="#' + b.id + '"],[data-toggle="collapse"][data-target="#' + b.id + '"]'), this.transitioning = null, this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$trigger), this.options.toggle && this.toggle() - }; - d.VERSION = "3.3.5", d.TRANSITION_DURATION = 350, d.DEFAULTS = {toggle: !0}, d.prototype.dimension = function () { - var a = this.$element.hasClass("width"); - return a ? "width" : "height" - }, d.prototype.show = function () { - if (!this.transitioning && !this.$element.hasClass("in")) { - var b, e = this.$parent && this.$parent.children(".panel").children(".in, .collapsing"); - if (!(e && e.length && (b = e.data("bs.collapse"), b && b.transitioning))) { - var f = a.Event("show.bs.collapse"); - if (this.$element.trigger(f), !f.isDefaultPrevented()) { - e && e.length && (c.call(e, "hide"), b || e.data("bs.collapse", null)); - var g = this.dimension(); - this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded", !0), this.$trigger.removeClass("collapsed").attr("aria-expanded", !0), this.transitioning = 1; - var h = function () { - this.$element.removeClass("collapsing").addClass("collapse in")[g](""), this.transitioning = 0, this.$element.trigger("shown.bs.collapse") - }; - if (!a.support.transition)return h.call(this); - var i = a.camelCase(["scroll", g].join("-")); - this.$element.one("bsTransitionEnd", a.proxy(h, this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i]) - } - } - } - }, d.prototype.hide = function () { - if (!this.transitioning && this.$element.hasClass("in")) { - var b = a.Event("hide.bs.collapse"); - if (this.$element.trigger(b), !b.isDefaultPrevented()) { - var c = this.dimension(); - this.$element[c](this.$element[c]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded", !1), this.$trigger.addClass("collapsed").attr("aria-expanded", !1), this.transitioning = 1; - var e = function () { - this.transitioning = 0, this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse") - }; - return a.support.transition ? void this.$element[c](0).one("bsTransitionEnd", a.proxy(e, this)).emulateTransitionEnd(d.TRANSITION_DURATION) : e.call(this) - } - } - }, d.prototype.toggle = function () { - this[this.$element.hasClass("in") ? "hide" : "show"]() - }, d.prototype.getParent = function () { - return a(this.options.parent).find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]').each(a.proxy(function (c, d) { - var e = a(d); - this.addAriaAndCollapsedClass(b(e), e) - }, this)).end() - }, d.prototype.addAriaAndCollapsedClass = function (a, b) { - var c = a.hasClass("in"); - a.attr("aria-expanded", c), b.toggleClass("collapsed", !c).attr("aria-expanded", c) - }; - var e = a.fn.collapse; - a.fn.collapse = c, a.fn.collapse.Constructor = d, a.fn.collapse.noConflict = function () { - return a.fn.collapse = e, this - }, a(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function (d) { - var e = a(this); - e.attr("data-target") || d.preventDefault(); - var f = b(e), g = f.data("bs.collapse"), h = g ? "toggle" : e.data(); - c.call(f, h) - }) -}(jQuery), +function (a) { - "use strict"; - function b(b) { - var c = b.attr("data-target"); - c || (c = b.attr("href"), c = c && /#[A-Za-z]/.test(c) && c.replace(/.*(?=#[^\s]*$)/, "")); - var d = c && a(c); - return d && d.length ? d : b.parent() - } - - function c(c) { - c && 3 === c.which || (a(e).remove(), a(f).each(function () { - var d = a(this), e = b(d), f = {relatedTarget: this}; - e.hasClass("open") && (c && "click" == c.type && /input|textarea/i.test(c.target.tagName) && a.contains(e[0], c.target) || (e.trigger(c = a.Event("hide.bs.dropdown", f)), c.isDefaultPrevented() || (d.attr("aria-expanded", "false"), e.removeClass("open").trigger("hidden.bs.dropdown", f)))) - })) - } - - function d(b) { - return this.each(function () { - var c = a(this), d = c.data("bs.dropdown"); - d || c.data("bs.dropdown", d = new g(this)), "string" == typeof b && d[b].call(c) - }) - } - - var e = ".dropdown-backdrop", f = '[data-toggle="dropdown"]', g = function (b) { - a(b).on("click.bs.dropdown", this.toggle) - }; - g.VERSION = "3.3.5", g.prototype.toggle = function (d) { - var e = a(this); - if (!e.is(".disabled, :disabled")) { - var f = b(e), g = f.hasClass("open"); - if (c(), !g) { - "ontouchstart"in document.documentElement && !f.closest(".navbar-nav").length && a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click", c); - var h = {relatedTarget: this}; - if (f.trigger(d = a.Event("show.bs.dropdown", h)), d.isDefaultPrevented())return; - e.trigger("focus").attr("aria-expanded", "true"), f.toggleClass("open").trigger("shown.bs.dropdown", h) - } - return !1 - } - }, g.prototype.keydown = function (c) { - if (/(38|40|27|32)/.test(c.which) && !/input|textarea/i.test(c.target.tagName)) { - var d = a(this); - if (c.preventDefault(), c.stopPropagation(), !d.is(".disabled, :disabled")) { - var e = b(d), g = e.hasClass("open"); - if (!g && 27 != c.which || g && 27 == c.which)return 27 == c.which && e.find(f).trigger("focus"), d.trigger("click"); - var h = " li:not(.disabled):visible a", i = e.find(".dropdown-menu" + h); - if (i.length) { - var j = i.index(c.target); - 38 == c.which && j > 0 && j--, 40 == c.which && j < i.length - 1 && j++, ~j || (j = 0), i.eq(j).trigger("focus") - } - } - } - }; - var h = a.fn.dropdown; - a.fn.dropdown = d, a.fn.dropdown.Constructor = g, a.fn.dropdown.noConflict = function () { - return a.fn.dropdown = h, this - }, a(document).on("click.bs.dropdown.data-api", c).on("click.bs.dropdown.data-api", ".dropdown form", function (a) { - a.stopPropagation() - }).on("click.bs.dropdown.data-api", f, g.prototype.toggle).on("keydown.bs.dropdown.data-api", f, g.prototype.keydown).on("keydown.bs.dropdown.data-api", ".dropdown-menu", g.prototype.keydown) -}(jQuery), +function (a) { - "use strict"; - function b(b, d) { - return this.each(function () { - var e = a(this), f = e.data("bs.modal"), g = a.extend({}, c.DEFAULTS, e.data(), "object" == typeof b && b); - f || e.data("bs.modal", f = new c(this, g)), "string" == typeof b ? f[b](d) : g.show && f.show(d) - }) - } - - var c = function (b, c) { - this.options = c, this.$body = a(document.body), this.$element = a(b), this.$dialog = this.$element.find(".modal-dialog"), this.$backdrop = null, this.isShown = null, this.originalBodyPad = null, this.scrollbarWidth = 0, this.ignoreBackdropClick = !1, this.options.remote && this.$element.find(".modal-content").load(this.options.remote, a.proxy(function () { - this.$element.trigger("loaded.bs.modal") - }, this)) - }; - c.VERSION = "3.3.5", c.TRANSITION_DURATION = 300, c.BACKDROP_TRANSITION_DURATION = 150, c.DEFAULTS = { - backdrop: !0, - keyboard: !0, - show: !0 - }, c.prototype.toggle = function (a) { - return this.isShown ? this.hide() : this.show(a) - }, c.prototype.show = function (b) { - var d = this, e = a.Event("show.bs.modal", {relatedTarget: b}); - this.$element.trigger(e), this.isShown || e.isDefaultPrevented() || (this.isShown = !0, this.checkScrollbar(), this.setScrollbar(), this.$body.addClass("modal-open"), this.escape(), this.resize(), this.$element.on("click.dismiss.bs.modal", '[data-dismiss="modal"]', a.proxy(this.hide, this)), this.$dialog.on("mousedown.dismiss.bs.modal", function () { - d.$element.one("mouseup.dismiss.bs.modal", function (b) { - a(b.target).is(d.$element) && (d.ignoreBackdropClick = !0) - }) - }), this.backdrop(function () { - var e = a.support.transition && d.$element.hasClass("fade"); - d.$element.parent().length || d.$element.appendTo(d.$body), d.$element.show().scrollTop(0), d.adjustDialog(), e && d.$element[0].offsetWidth, d.$element.addClass("in"), d.enforceFocus(); - var f = a.Event("shown.bs.modal", {relatedTarget: b}); - e ? d.$dialog.one("bsTransitionEnd", function () { - d.$element.trigger("focus").trigger(f) - }).emulateTransitionEnd(c.TRANSITION_DURATION) : d.$element.trigger("focus").trigger(f) - })) - }, c.prototype.hide = function (b) { - b && b.preventDefault(), b = a.Event("hide.bs.modal"), this.$element.trigger(b), this.isShown && !b.isDefaultPrevented() && (this.isShown = !1, this.escape(), this.resize(), a(document).off("focusin.bs.modal"), this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"), this.$dialog.off("mousedown.dismiss.bs.modal"), a.support.transition && this.$element.hasClass("fade") ? this.$element.one("bsTransitionEnd", a.proxy(this.hideModal, this)).emulateTransitionEnd(c.TRANSITION_DURATION) : this.hideModal()) - }, c.prototype.enforceFocus = function () { - a(document).off("focusin.bs.modal").on("focusin.bs.modal", a.proxy(function (a) { - this.$element[0] === a.target || this.$element.has(a.target).length || this.$element.trigger("focus") - }, this)) - }, c.prototype.escape = function () { - this.isShown && this.options.keyboard ? this.$element.on("keydown.dismiss.bs.modal", a.proxy(function (a) { - 27 == a.which && this.hide() - }, this)) : this.isShown || this.$element.off("keydown.dismiss.bs.modal") - }, c.prototype.resize = function () { - this.isShown ? a(window).on("resize.bs.modal", a.proxy(this.handleUpdate, this)) : a(window).off("resize.bs.modal") - }, c.prototype.hideModal = function () { - var a = this; - this.$element.hide(), this.backdrop(function () { - a.$body.removeClass("modal-open"), a.resetAdjustments(), a.resetScrollbar(), a.$element.trigger("hidden.bs.modal") - }) - }, c.prototype.removeBackdrop = function () { - this.$backdrop && this.$backdrop.remove(), this.$backdrop = null - }, c.prototype.backdrop = function (b) { - var d = this, e = this.$element.hasClass("fade") ? "fade" : ""; - if (this.isShown && this.options.backdrop) { - var f = a.support.transition && e; - if (this.$backdrop = a(document.createElement("div")).addClass("modal-backdrop " + e).appendTo(this.$body), this.$element.on("click.dismiss.bs.modal", a.proxy(function (a) { - return this.ignoreBackdropClick ? void(this.ignoreBackdropClick = !1) : void(a.target === a.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus() : this.hide())) - }, this)), f && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !b)return; - f ? this.$backdrop.one("bsTransitionEnd", b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION) : b() - } else if (!this.isShown && this.$backdrop) { - this.$backdrop.removeClass("in"); - var g = function () { - d.removeBackdrop(), b && b() - }; - a.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("bsTransitionEnd", g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION) : g() - } else b && b() - }, c.prototype.handleUpdate = function () { - this.adjustDialog() - }, c.prototype.adjustDialog = function () { - var a = this.$element[0].scrollHeight > document.documentElement.clientHeight; - this.$element.css({ - paddingLeft: !this.bodyIsOverflowing && a ? this.scrollbarWidth : "", - paddingRight: this.bodyIsOverflowing && !a ? this.scrollbarWidth : "" - }) - }, c.prototype.resetAdjustments = function () { - this.$element.css({paddingLeft: "", paddingRight: ""}) - }, c.prototype.checkScrollbar = function () { - var a = window.innerWidth; - if (!a) { - var b = document.documentElement.getBoundingClientRect(); - a = b.right - Math.abs(b.left) - } - this.bodyIsOverflowing = document.body.clientWidth < a, this.scrollbarWidth = this.measureScrollbar() - }, c.prototype.setScrollbar = function () { - var a = parseInt(this.$body.css("padding-right") || 0, 10); - this.originalBodyPad = document.body.style.paddingRight || "", this.bodyIsOverflowing && this.$body.css("padding-right", a + this.scrollbarWidth) - }, c.prototype.resetScrollbar = function () { - this.$body.css("padding-right", this.originalBodyPad) - }, c.prototype.measureScrollbar = function () { - var a = document.createElement("div"); - a.className = "modal-scrollbar-measure", this.$body.append(a); - var b = a.offsetWidth - a.clientWidth; - return this.$body[0].removeChild(a), b - }; - var d = a.fn.modal; - a.fn.modal = b, a.fn.modal.Constructor = c, a.fn.modal.noConflict = function () { - return a.fn.modal = d, this - }, a(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function (c) { - var d = a(this), e = d.attr("href"), f = a(d.attr("data-target") || e && e.replace(/.*(?=#[^\s]+$)/, "")), g = f.data("bs.modal") ? "toggle" : a.extend({remote: !/#/.test(e) && e}, f.data(), d.data()); - d.is("a") && c.preventDefault(), f.one("show.bs.modal", function (a) { - a.isDefaultPrevented() || f.one("hidden.bs.modal", function () { - d.is(":visible") && d.trigger("focus") - }) - }), b.call(f, g, this) - }) -}(jQuery), +function (a) { - "use strict"; - function b(b) { - return this.each(function () { - var d = a(this), e = d.data("bs.tooltip"), f = "object" == typeof b && b; - (e || !/destroy|hide/.test(b)) && (e || d.data("bs.tooltip", e = new c(this, f)), "string" == typeof b && e[b]()) - }) - } - - var c = function (a, b) { - this.type = null, this.options = null, this.enabled = null, this.timeout = null, this.hoverState = null, this.$element = null, this.inState = null, this.init("tooltip", a, b) - }; - c.VERSION = "3.3.5", c.TRANSITION_DURATION = 150, c.DEFAULTS = { - animation: !0, - placement: "top", - selector: !1, - template: '', - trigger: "hover focus", - title: "", - delay: 0, - html: !1, - container: !1, - viewport: {selector: "body", padding: 0} - }, c.prototype.init = function (b, c, d) { - if (this.enabled = !0, this.type = b, this.$element = a(c), this.options = this.getOptions(d), this.$viewport = this.options.viewport && a(a.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : this.options.viewport.selector || this.options.viewport), this.inState = { - click: !1, - hover: !1, - focus: !1 - }, this.$element[0]instanceof document.constructor && !this.options.selector)throw new Error("`selector` option must be specified when initializing " + this.type + " on the window.document object!"); - for (var e = this.options.trigger.split(" "), f = e.length; f--;) { - var g = e[f]; - if ("click" == g)this.$element.on("click." + this.type, this.options.selector, a.proxy(this.toggle, this)); else if ("manual" != g) { - var h = "hover" == g ? "mouseenter" : "focusin", i = "hover" == g ? "mouseleave" : "focusout"; - this.$element.on(h + "." + this.type, this.options.selector, a.proxy(this.enter, this)), this.$element.on(i + "." + this.type, this.options.selector, a.proxy(this.leave, this)) - } - } - this.options.selector ? this._options = a.extend({}, this.options, { - trigger: "manual", - selector: "" - }) : this.fixTitle() - }, c.prototype.getDefaults = function () { - return c.DEFAULTS - }, c.prototype.getOptions = function (b) { - return b = a.extend({}, this.getDefaults(), this.$element.data(), b), b.delay && "number" == typeof b.delay && (b.delay = { - show: b.delay, - hide: b.delay - }), b - }, c.prototype.getDelegateOptions = function () { - var b = {}, c = this.getDefaults(); - return this._options && a.each(this._options, function (a, d) { - c[a] != d && (b[a] = d) - }), b - }, c.prototype.enter = function (b) { - var c = b instanceof this.constructor ? b : a(b.currentTarget).data("bs." + this.type); - return c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c)), b instanceof a.Event && (c.inState["focusin" == b.type ? "focus" : "hover"] = !0), c.tip().hasClass("in") || "in" == c.hoverState ? void(c.hoverState = "in") : (clearTimeout(c.timeout), c.hoverState = "in", c.options.delay && c.options.delay.show ? void(c.timeout = setTimeout(function () { - "in" == c.hoverState && c.show() - }, c.options.delay.show)) : c.show()) - }, c.prototype.isInStateTrue = function () { - for (var a in this.inState)if (this.inState[a])return !0; - return !1 - }, c.prototype.leave = function (b) { - var c = b instanceof this.constructor ? b : a(b.currentTarget).data("bs." + this.type); - return c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c)), b instanceof a.Event && (c.inState["focusout" == b.type ? "focus" : "hover"] = !1), c.isInStateTrue() ? void 0 : (clearTimeout(c.timeout), c.hoverState = "out", c.options.delay && c.options.delay.hide ? void(c.timeout = setTimeout(function () { - "out" == c.hoverState && c.hide() - }, c.options.delay.hide)) : c.hide()) - }, c.prototype.show = function () { - var b = a.Event("show.bs." + this.type); - if (this.hasContent() && this.enabled) { - this.$element.trigger(b); - var d = a.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]); - if (b.isDefaultPrevented() || !d)return; - var e = this, f = this.tip(), g = this.getUID(this.type); - this.setContent(), f.attr("id", g), this.$element.attr("aria-describedby", g), this.options.animation && f.addClass("fade"); - var h = "function" == typeof this.options.placement ? this.options.placement.call(this, f[0], this.$element[0]) : this.options.placement, i = /\s?auto?\s?/i, j = i.test(h); - j && (h = h.replace(i, "") || "top"), f.detach().css({ - top: 0, - left: 0, - display: "block" - }).addClass(h).data("bs." + this.type, this), this.options.container ? f.appendTo(this.options.container) : f.insertAfter(this.$element), this.$element.trigger("inserted.bs." + this.type); - var k = this.getPosition(), l = f[0].offsetWidth, m = f[0].offsetHeight; - if (j) { - var n = h, o = this.getPosition(this.$viewport); - h = "bottom" == h && k.bottom + m > o.bottom ? "top" : "top" == h && k.top - m < o.top ? "bottom" : "right" == h && k.right + l > o.width ? "left" : "left" == h && k.left - l < o.left ? "right" : h, f.removeClass(n).addClass(h) - } - var p = this.getCalculatedOffset(h, k, l, m); - this.applyPlacement(p, h); - var q = function () { - var a = e.hoverState; - e.$element.trigger("shown.bs." + e.type), e.hoverState = null, "out" == a && e.leave(e) - }; - a.support.transition && this.$tip.hasClass("fade") ? f.one("bsTransitionEnd", q).emulateTransitionEnd(c.TRANSITION_DURATION) : q() - } - }, c.prototype.applyPlacement = function (b, c) { - var d = this.tip(), e = d[0].offsetWidth, f = d[0].offsetHeight, g = parseInt(d.css("margin-top"), 10), h = parseInt(d.css("margin-left"), 10); - isNaN(g) && (g = 0), isNaN(h) && (h = 0), b.top += g, b.left += h, a.offset.setOffset(d[0], a.extend({ - using: function (a) { - d.css({top: Math.round(a.top), left: Math.round(a.left)}) - } - }, b), 0), d.addClass("in"); - var i = d[0].offsetWidth, j = d[0].offsetHeight; - "top" == c && j != f && (b.top = b.top + f - j); - var k = this.getViewportAdjustedDelta(c, b, i, j); - k.left ? b.left += k.left : b.top += k.top; - var l = /top|bottom/.test(c), m = l ? 2 * k.left - e + i : 2 * k.top - f + j, n = l ? "offsetWidth" : "offsetHeight"; - d.offset(b), this.replaceArrow(m, d[0][n], l) - }, c.prototype.replaceArrow = function (a, b, c) { - this.arrow().css(c ? "left" : "top", 50 * (1 - a / b) + "%").css(c ? "top" : "left", "") - }, c.prototype.setContent = function () { - var a = this.tip(), b = this.getTitle(); - a.find(".tooltip-inner")[this.options.html ? "html" : "text"](b), a.removeClass("fade in top bottom left right") - }, c.prototype.hide = function (b) { - function d() { - "in" != e.hoverState && f.detach(), e.$element.removeAttr("aria-describedby").trigger("hidden.bs." + e.type), b && b() - } - - var e = this, f = a(this.$tip), g = a.Event("hide.bs." + this.type); - return this.$element.trigger(g), g.isDefaultPrevented() ? void 0 : (f.removeClass("in"), a.support.transition && f.hasClass("fade") ? f.one("bsTransitionEnd", d).emulateTransitionEnd(c.TRANSITION_DURATION) : d(), this.hoverState = null, this) - }, c.prototype.fixTitle = function () { - var a = this.$element; - (a.attr("title") || "string" != typeof a.attr("data-original-title")) && a.attr("data-original-title", a.attr("title") || "").attr("title", "") - }, c.prototype.hasContent = function () { - return this.getTitle() - }, c.prototype.getPosition = function (b) { - b = b || this.$element; - var c = b[0], d = "BODY" == c.tagName, e = c.getBoundingClientRect(); - null == e.width && (e = a.extend({}, e, {width: e.right - e.left, height: e.bottom - e.top})); - var f = d ? { - top: 0, - left: 0 - } : b.offset(), g = {scroll: d ? document.documentElement.scrollTop || document.body.scrollTop : b.scrollTop()}, h = d ? { - width: a(window).width(), - height: a(window).height() - } : null; - return a.extend({}, e, g, h, f) - }, c.prototype.getCalculatedOffset = function (a, b, c, d) { - return "bottom" == a ? { - top: b.top + b.height, - left: b.left + b.width / 2 - c / 2 - } : "top" == a ? { - top: b.top - d, - left: b.left + b.width / 2 - c / 2 - } : "left" == a ? {top: b.top + b.height / 2 - d / 2, left: b.left - c} : { - top: b.top + b.height / 2 - d / 2, - left: b.left + b.width - } - }, c.prototype.getViewportAdjustedDelta = function (a, b, c, d) { - var e = {top: 0, left: 0}; - if (!this.$viewport)return e; - var f = this.options.viewport && this.options.viewport.padding || 0, g = this.getPosition(this.$viewport); - if (/right|left/.test(a)) { - var h = b.top - f - g.scroll, i = b.top + f - g.scroll + d; - h < g.top ? e.top = g.top - h : i > g.top + g.height && (e.top = g.top + g.height - i) - } else { - var j = b.left - f, k = b.left + f + c; - j < g.left ? e.left = g.left - j : k > g.right && (e.left = g.left + g.width - k) - } - return e - }, c.prototype.getTitle = function () { - var a, b = this.$element, c = this.options; - return a = b.attr("data-original-title") || ("function" == typeof c.title ? c.title.call(b[0]) : c.title) - }, c.prototype.getUID = function (a) { - do a += ~~(1e6 * Math.random()); while (document.getElementById(a)); - return a - }, c.prototype.tip = function () { - if (!this.$tip && (this.$tip = a(this.options.template), 1 != this.$tip.length))throw new Error(this.type + " `template` option must consist of exactly 1 top-level element!"); - return this.$tip - }, c.prototype.arrow = function () { - return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") - }, c.prototype.enable = function () { - this.enabled = !0 - }, c.prototype.disable = function () { - this.enabled = !1 - }, c.prototype.toggleEnabled = function () { - this.enabled = !this.enabled - }, c.prototype.toggle = function (b) { - var c = this; - b && (c = a(b.currentTarget).data("bs." + this.type), c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c))), b ? (c.inState.click = !c.inState.click, c.isInStateTrue() ? c.enter(c) : c.leave(c)) : c.tip().hasClass("in") ? c.leave(c) : c.enter(c) - }, c.prototype.destroy = function () { - var a = this; - clearTimeout(this.timeout), this.hide(function () { - a.$element.off("." + a.type).removeData("bs." + a.type), a.$tip && a.$tip.detach(), a.$tip = null, a.$arrow = null, a.$viewport = null - }) - }; - var d = a.fn.tooltip; - a.fn.tooltip = b, a.fn.tooltip.Constructor = c, a.fn.tooltip.noConflict = function () { - return a.fn.tooltip = d, this - } -}(jQuery), +function (a) { - "use strict"; - function b(b) { - return this.each(function () { - var d = a(this), e = d.data("bs.popover"), f = "object" == typeof b && b; - (e || !/destroy|hide/.test(b)) && (e || d.data("bs.popover", e = new c(this, f)), "string" == typeof b && e[b]()) - }) - } - - var c = function (a, b) { - this.init("popover", a, b) - }; - if (!a.fn.tooltip)throw new Error("Popover requires tooltip.js"); - c.VERSION = "3.3.5", c.DEFAULTS = a.extend({}, a.fn.tooltip.Constructor.DEFAULTS, { - placement: "right", - trigger: "click", - content: "", - template: '' - }), c.prototype = a.extend({}, a.fn.tooltip.Constructor.prototype), c.prototype.constructor = c, c.prototype.getDefaults = function () { - return c.DEFAULTS - }, c.prototype.setContent = function () { - var a = this.tip(), b = this.getTitle(), c = this.getContent(); - a.find(".popover-title")[this.options.html ? "html" : "text"](b), a.find(".popover-content").children().detach().end()[this.options.html ? "string" == typeof c ? "html" : "append" : "text"](c), a.removeClass("fade top bottom left right in"), a.find(".popover-title").html() || a.find(".popover-title").hide() - }, c.prototype.hasContent = function () { - return this.getTitle() || this.getContent() - }, c.prototype.getContent = function () { - var a = this.$element, b = this.options; - return a.attr("data-content") || ("function" == typeof b.content ? b.content.call(a[0]) : b.content) - }, c.prototype.arrow = function () { - return this.$arrow = this.$arrow || this.tip().find(".arrow") - }; - var d = a.fn.popover; - a.fn.popover = b, a.fn.popover.Constructor = c, a.fn.popover.noConflict = function () { - return a.fn.popover = d, this - } -}(jQuery), +function (a) { - "use strict"; - function b(c, d) { - this.$body = a(document.body), this.$scrollElement = a(a(c).is(document.body) ? window : c), this.options = a.extend({}, b.DEFAULTS, d), this.selector = (this.options.target || "") + " .nav li > a", this.offsets = [], this.targets = [], this.activeTarget = null, this.scrollHeight = 0, this.$scrollElement.on("scroll.bs.scrollspy", a.proxy(this.process, this)), this.refresh(), this.process() - } - - function c(c) { - return this.each(function () { - var d = a(this), e = d.data("bs.scrollspy"), f = "object" == typeof c && c; - e || d.data("bs.scrollspy", e = new b(this, f)), "string" == typeof c && e[c]() - }) - } - - b.VERSION = "3.3.5", b.DEFAULTS = {offset: 10}, b.prototype.getScrollHeight = function () { - return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) - }, b.prototype.refresh = function () { - var b = this, c = "offset", d = 0; - this.offsets = [], this.targets = [], this.scrollHeight = this.getScrollHeight(), a.isWindow(this.$scrollElement[0]) || (c = "position", d = this.$scrollElement.scrollTop()), this.$body.find(this.selector).map(function () { - var b = a(this), e = b.data("target") || b.attr("href"), f = /^#./.test(e) && a(e); - return f && f.length && f.is(":visible") && [[f[c]().top + d, e]] || null - }).sort(function (a, b) { - return a[0] - b[0] - }).each(function () { - b.offsets.push(this[0]), b.targets.push(this[1]) - }) - }, b.prototype.process = function () { - var a, b = this.$scrollElement.scrollTop() + this.options.offset, c = this.getScrollHeight(), d = this.options.offset + c - this.$scrollElement.height(), e = this.offsets, f = this.targets, g = this.activeTarget; - if (this.scrollHeight != c && this.refresh(), b >= d)return g != (a = f[f.length - 1]) && this.activate(a); - if (g && b < e[0])return this.activeTarget = null, this.clear(); - for (a = e.length; a--;)g != f[a] && b >= e[a] && (void 0 === e[a + 1] || b < e[a + 1]) && this.activate(f[a]) - }, b.prototype.activate = function (b) { - this.activeTarget = b, this.clear(); - var c = this.selector + '[data-target="' + b + '"],' + this.selector + '[href="' + b + '"]', d = a(c).parents("li").addClass("active"); - d.parent(".dropdown-menu").length && (d = d.closest("li.dropdown").addClass("active")), - d.trigger("activate.bs.scrollspy") - }, b.prototype.clear = function () { - a(this.selector).parentsUntil(this.options.target, ".active").removeClass("active") - }; - var d = a.fn.scrollspy; - a.fn.scrollspy = c, a.fn.scrollspy.Constructor = b, a.fn.scrollspy.noConflict = function () { - return a.fn.scrollspy = d, this - }, a(window).on("load.bs.scrollspy.data-api", function () { - a('[data-spy="scroll"]').each(function () { - var b = a(this); - c.call(b, b.data()) - }) - }) -}(jQuery), +function (a) { - "use strict"; - function b(b) { - return this.each(function () { - var d = a(this), e = d.data("bs.tab"); - e || d.data("bs.tab", e = new c(this)), "string" == typeof b && e[b]() - }) - } - - var c = function (b) { - this.element = a(b) - }; - c.VERSION = "3.3.5", c.TRANSITION_DURATION = 150, c.prototype.show = function () { - var b = this.element, c = b.closest("ul:not(.dropdown-menu)"), d = b.data("target"); - if (d || (d = b.attr("href"), d = d && d.replace(/.*(?=#[^\s]*$)/, "")), !b.parent("li").hasClass("active")) { - var e = c.find(".active:last a"), f = a.Event("hide.bs.tab", {relatedTarget: b[0]}), g = a.Event("show.bs.tab", {relatedTarget: e[0]}); - if (e.trigger(f), b.trigger(g), !g.isDefaultPrevented() && !f.isDefaultPrevented()) { - var h = a(d); - this.activate(b.closest("li"), c), this.activate(h, h.parent(), function () { - e.trigger({type: "hidden.bs.tab", relatedTarget: b[0]}), b.trigger({ - type: "shown.bs.tab", - relatedTarget: e[0] - }) - }) - } - } - }, c.prototype.activate = function (b, d, e) { - function f() { - g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !1), b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded", !0), h ? (b[0].offsetWidth, b.addClass("in")) : b.removeClass("fade"), b.parent(".dropdown-menu").length && b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !0), e && e() - } - - var g = d.find("> .active"), h = e && a.support.transition && (g.length && g.hasClass("fade") || !!d.find("> .fade").length); - g.length && h ? g.one("bsTransitionEnd", f).emulateTransitionEnd(c.TRANSITION_DURATION) : f(), g.removeClass("in") - }; - var d = a.fn.tab; - a.fn.tab = b, a.fn.tab.Constructor = c, a.fn.tab.noConflict = function () { - return a.fn.tab = d, this - }; - var e = function (c) { - c.preventDefault(), b.call(a(this), "show") - }; - a(document).on("click.bs.tab.data-api", '[data-toggle="tab"]', e).on("click.bs.tab.data-api", '[data-toggle="pill"]', e) -}(jQuery), +function (a) { - "use strict"; - function b(b) { - return this.each(function () { - var d = a(this), e = d.data("bs.affix"), f = "object" == typeof b && b; - e || d.data("bs.affix", e = new c(this, f)), "string" == typeof b && e[b]() - }) - } - - var c = function (b, d) { - this.options = a.extend({}, c.DEFAULTS, d), this.$target = a(this.options.target).on("scroll.bs.affix.data-api", a.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", a.proxy(this.checkPositionWithEventLoop, this)), this.$element = a(b), this.affixed = null, this.unpin = null, this.pinnedOffset = null, this.checkPosition() - }; - c.VERSION = "3.3.5", c.RESET = "affix affix-top affix-bottom", c.DEFAULTS = { - offset: 0, - target: window - }, c.prototype.getState = function (a, b, c, d) { - var e = this.$target.scrollTop(), f = this.$element.offset(), g = this.$target.height(); - if (null != c && "top" == this.affixed)return c > e ? "top" : !1; - if ("bottom" == this.affixed)return null != c ? e + this.unpin <= f.top ? !1 : "bottom" : a - d >= e + g ? !1 : "bottom"; - var h = null == this.affixed, i = h ? e : f.top, j = h ? g : b; - return null != c && c >= e ? "top" : null != d && i + j >= a - d ? "bottom" : !1 - }, c.prototype.getPinnedOffset = function () { - if (this.pinnedOffset)return this.pinnedOffset; - this.$element.removeClass(c.RESET).addClass("affix"); - var a = this.$target.scrollTop(), b = this.$element.offset(); - return this.pinnedOffset = b.top - a - }, c.prototype.checkPositionWithEventLoop = function () { - setTimeout(a.proxy(this.checkPosition, this), 1) - }, c.prototype.checkPosition = function () { - if (this.$element.is(":visible")) { - var b = this.$element.height(), d = this.options.offset, e = d.top, f = d.bottom, g = Math.max(a(document).height(), a(document.body).height()); - "object" != typeof d && (f = e = d), "function" == typeof e && (e = d.top(this.$element)), "function" == typeof f && (f = d.bottom(this.$element)); - var h = this.getState(g, b, e, f); - if (this.affixed != h) { - null != this.unpin && this.$element.css("top", ""); - var i = "affix" + (h ? "-" + h : ""), j = a.Event(i + ".bs.affix"); - if (this.$element.trigger(j), j.isDefaultPrevented())return; - this.affixed = h, this.unpin = "bottom" == h ? this.getPinnedOffset() : null, this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix", "affixed") + ".bs.affix") - } - "bottom" == h && this.$element.offset({top: g - b - f}) - } - }; - var d = a.fn.affix; - a.fn.affix = b, a.fn.affix.Constructor = c, a.fn.affix.noConflict = function () { - return a.fn.affix = d, this - }, a(window).on("load", function () { - a('[data-spy="affix"]').each(function () { - var c = a(this), d = c.data(); - d.offset = d.offset || {}, null != d.offsetBottom && (d.offset.bottom = d.offsetBottom), null != d.offsetTop && (d.offset.top = d.offsetTop), b.call(c, d) - }) - }) -}(jQuery); \ No newline at end of file diff --git a/src/test/java/com/visualpathit/account/controllerTest/SampleTest.java b/src/test/java/com/visualpathit/account/controllerTest/SampleTest.java deleted file mode 100644 index 5513889c0..000000000 --- a/src/test/java/com/visualpathit/account/controllerTest/SampleTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.visualpathit.account.controllerTest; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; - -public class SampleTest { - @Test - public void SampleTestHappyFlow(){ - assertEquals("Hello".length(), 5); - } - -} diff --git a/src/test/java/com/visualpathit/account/controllerTest/UserControllerTest.java b/src/test/java/com/visualpathit/account/controllerTest/UserControllerTest.java deleted file mode 100644 index 3097f1adf..000000000 --- a/src/test/java/com/visualpathit/account/controllerTest/UserControllerTest.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.visualpathit.account.controllerTest; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.forwardedUrl; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; - -import org.junit.Before; -import org.junit.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; - -import com.visualpathit.account.controller.UserController; -import com.visualpathit.account.model.User; -import com.visualpathit.account.service.UserService; -import com.visualpathit.account.setup.StandaloneMvcTestViewResolver; - - -public class UserControllerTest { - - @Mock - private UserService controllerSer; - @InjectMocks - private UserController controller; - private MockMvc mockMvc; - - @Before - public void setup(){ - MockitoAnnotations.initMocks(this); - - /*InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); - viewResolver.setPrefix("/WEB-INF/views/"); - viewResolver.setSuffix(".jsp"); - */ - mockMvc = MockMvcBuilders.standaloneSetup(controller) - .setViewResolvers(new StandaloneMvcTestViewResolver()).build(); - } - - @Test - public void registrationTestforHappyFlow() throws Exception{ - User user = new User(); - mockMvc.perform(get("/registration")) - .andExpect(status().isOk()) - .andExpect(view().name("registration")) - .andExpect(forwardedUrl("registration")); - - } - @Test - public void registrationTestforNullValueHappyFlow() throws Exception{ - mockMvc.perform(get("/registration")) - .andExpect(status().isOk()) - .andExpect(view().name("registration")) - .andExpect(forwardedUrl("registration")); - - } - /*@Test - public void registrationTestforPostValueHappyFlow() throws Exception{ - String description =new String("Error String"); - UserValidator userValidator; - BindingResult bindingResult; - when(userValidator.validate(new User(),bindingResult)) - .thenThrow(bindingResult.hasErrors()); - mockMvc.perform(post("/registration").contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userForm","userForm")) - - .andExpect(status().isOk()); - //.andExpect(view().name("redirect:/welcome")) - //.andExpect(forwardedUrl("redirect:/welcome")); - - }*/ - @Test - public void loginTestHappyFlow() throws Exception{ - String error = "Your username and password is invalid"; - mockMvc.perform(get("/login").param(error, error)) - .andExpect(status().isOk()) - .andExpect(view().name("login")) - .andExpect(forwardedUrl("login")); - - } - @Test - public void welcomeTestHappyFlow() throws Exception{ - mockMvc.perform(get("/welcome")) - .andExpect(status().isOk()) - .andExpect(view().name("welcome")) - .andExpect(forwardedUrl("welcome")); - - } - @Test - public void welcomeAfterDirectLoginTestHappyFlow() throws Exception{ - mockMvc.perform(get("/")) - .andExpect(status().isOk()) - .andExpect(view().name("welcome")) - .andExpect(forwardedUrl("welcome")); - - } - @Test - public void indexTestHappyFlow() throws Exception{ - mockMvc.perform(get("/index")) - .andExpect(status().isOk()) - .andExpect(view().name("index_home")) - .andExpect(forwardedUrl("index_home")); - - } - -} diff --git a/src/test/java/com/visualpathit/account/modelTest/RoleTest.java b/src/test/java/com/visualpathit/account/modelTest/RoleTest.java deleted file mode 100644 index 07cede5f4..000000000 --- a/src/test/java/com/visualpathit/account/modelTest/RoleTest.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.visualpathit.account.modelTest; - -import junit.framework.Assert; - -import java.util.HashSet; -import java.util.Set; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.visualpathit.account.model.Role; -import com.visualpathit.account.model.User; - -/** {@author imrant} !*/ -public class RoleTest { - - public static final Long EXPECTED_ID = 1L; - public static final String EXPECTED_ROLENAME = "Admin"; - public static final int EXPECTED_SIZE = 1; - private Role role; - @Before - public void setUp() throws Exception { - User user = new User(); - user.setId(1L); - user.setUsername("Wahidkhan74"); - user.setPassword("Wahidkhan74"); - user.setUserEmail("XXXXX@gmail.com"); - - Set users = new HashSet(); - users.add(user); - role = new Role(); - role.setId(1L); - role.setName("Admin"); - role.setUsers(users); - } - - @After - public void tearDown() throws Exception { - System.out.println("Test Completed"); - - } - - @Test - public void testUserDetailsHappyFlow() throws Exception { - Assert.assertEquals(EXPECTED_ID, role.getId()); - Assert.assertEquals(EXPECTED_ROLENAME, role.getName()); - Assert.assertEquals(EXPECTED_SIZE,role.getUsers().size()); - - } -} \ No newline at end of file diff --git a/src/test/java/com/visualpathit/account/modelTest/UserTest.java b/src/test/java/com/visualpathit/account/modelTest/UserTest.java deleted file mode 100644 index a56950000..000000000 --- a/src/test/java/com/visualpathit/account/modelTest/UserTest.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.visualpathit.account.modelTest; - -import junit.framework.Assert; - -import java.util.HashSet; -import java.util.Set; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.visualpathit.account.model.Role; -import com.visualpathit.account.model.User; - -/** {@author imrant} !*/ -public class UserTest { - - public static final Long EXPECTED_ID = 1L; - public static final int EXPECTED_SIZE = 1; - public static final String EXPECTED_USERNAME = "Wahidkhan74"; - public static final String EXPECTED_PASSWD = "Wahidkhan74"; - public static final String EXPECTED_USEREMAIL = "XXXXX@gmail.com"; - private User user; - @Before - public void setUp() throws Exception { - - Role role = new Role(); - role.setId(1L); - role.setName("Admin"); - Set roles = new HashSet(); - roles.add(role); - - user = new User(); - user.setId(1L); - user.setUsername("Wahidkhan74"); - user.setPassword("Wahidkhan74"); - user.setUserEmail("XXXXX@gmail.com"); - user.setRoles(roles); - } - - @After - public void tearDown() throws Exception { - System.out.println("Test Completed"); - - } - - @Test - public void testUserDetailsHappyFlow() throws Exception { - Assert.assertEquals(EXPECTED_ID, user.getId()); - Assert.assertEquals(EXPECTED_USERNAME, user.getUsername()); - Assert.assertEquals(EXPECTED_PASSWD, user.getPassword()); - Assert.assertEquals(EXPECTED_USEREMAIL, user.getUserEmail()); - Assert.assertEquals(EXPECTED_SIZE,user.getRoles().size()); - - } -} \ No newline at end of file diff --git a/src/test/java/com/visualpathit/account/setup/StandaloneMvcTestViewResolver.java b/src/test/java/com/visualpathit/account/setup/StandaloneMvcTestViewResolver.java deleted file mode 100644 index f282b2a25..000000000 --- a/src/test/java/com/visualpathit/account/setup/StandaloneMvcTestViewResolver.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.visualpathit.account.setup; - -import org.springframework.web.servlet.view.AbstractUrlBasedView; -import org.springframework.web.servlet.view.InternalResourceView; -import org.springframework.web.servlet.view.InternalResourceViewResolver; - -public class StandaloneMvcTestViewResolver extends InternalResourceViewResolver { - - public StandaloneMvcTestViewResolver() { - super(); - } - - @Override - protected AbstractUrlBasedView buildView(final String viewName) throws Exception { - final InternalResourceView view = (InternalResourceView) super.buildView(viewName); - // prevent checking for circular view paths - view.setPreventDispatchLoop(false); - return view; - } -} diff --git a/vagrant/Automated_provisioning_MacOSM1/Vagrantfile b/vagrant/Automated_provisioning_MacOSM1/Vagrantfile deleted file mode 100644 index b1e293cce..000000000 --- a/vagrant/Automated_provisioning_MacOSM1/Vagrantfile +++ /dev/null @@ -1,50 +0,0 @@ -Vagrant.configure("2") do |config| - config.hostmanager.enabled = true - config.hostmanager.manage_host = true - -### DB vm #### - config.vm.define "db01" do |db01| - db01.vm.box = "jacobw/fedora35-arm64" - db01.vm.hostname = "db01" - db01.vm.network "private_network", ip: "192.168.56.25" - db01.vm.provision "shell", path: "mysql.sh" - - end - -### Memcache vm #### - config.vm.define "mc01" do |mc01| - mc01.vm.box = "jacobw/fedora35-arm64" - mc01.vm.hostname = "mc01" - mc01.vm.network "private_network", ip: "192.168.56.24" - mc01.vm.provision "shell", path: "memcache.sh" - end - -### RabbitMQ vm #### - config.vm.define "rmq01" do |rmq01| - rmq01.vm.box = "jacobw/fedora35-arm64" - rmq01.vm.hostname = "rmq01" - rmq01.vm.network "private_network", ip: "192.168.56.23" - rmq01.vm.provision "shell", path: "rabbitmq.sh" - end - -### tomcat vm ### - config.vm.define "app01" do |app01| - app01.vm.box = "jacobw/fedora35-arm64" - app01.vm.hostname = "app01" - app01.vm.network "private_network", ip: "192.168.56.22" - app01.vm.provision "shell", path: "tomcat.sh" - app01.vm.provider "vmware_desktop" do |vb| - vb.memory = "1024" - end - end - - -### Nginx VM ### - config.vm.define "web01" do |web01| - web01.vm.box = "spox/ubuntu-arm" - web01.vm.hostname = "web01" - web01.vm.network "private_network", ip: "192.168.56.21" - web01.vm.provision "shell", path: "nginx.sh" -end - -end diff --git a/vagrant/Automated_provisioning_MacOSM1/backend.sh b/vagrant/Automated_provisioning_MacOSM1/backend.sh deleted file mode 100644 index e993776bb..000000000 --- a/vagrant/Automated_provisioning_MacOSM1/backend.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -DATABASE_PASS='admin123' - -# MEmcache -yum install epel-release -y -yum install memcached -y -systemctl start memcached -systemctl enable memcached -systemctl status memcached -memcached -p 11211 -U 11111 -u memcached -d - -# Rabbit -yum install socat -y -yum install erlang -y -yum install wget -y -wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm -rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc -yum update -rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm -systemctl start rabbitmq-server -systemctl enable rabbitmq-server -systemctl status rabbitmq-server -echo "[{rabbit, [{loopback_users, []}]}]." > /etc/rabbitmq/rabbitmq.config -rabbitmqctl add_user rabbit bunny -rabbitmqctl set_user_tags rabbit administrator -systemctl restart rabbitmq-server - -# Mysql -yum install mariadb-server -y - -#mysql_secure_installation -sed -i 's/^127.0.0.1/0.0.0.0/' /etc/my.cnf - -# starting & enabling mariadb-server -systemctl start mariadb -systemctl enable mariadb - -#restore the dump file for the application -mysqladmin -u root password "$DATABASE_PASS" -mysql -u root -p"$DATABASE_PASS" -e "UPDATE mysql.user SET Password=PASSWORD('$DATABASE_PASS') WHERE User='root'" -mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" -mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.user WHERE User=''" -mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'" -mysql -u root -p"$DATABASE_PASS" -e "FLUSH PRIVILEGES" -mysql -u root -p"$DATABASE_PASS" -e "create database accounts" -mysql -u root -p"$DATABASE_PASS" -e "grant all privileges on accounts.* TO 'admin'@'localhost' identified by 'admin123'" -mysql -u root -p"$DATABASE_PASS" -e "grant all privileges on accounts.* TO 'admin'@'app01' identified by 'admin123'" -mysql -u root -p"$DATABASE_PASS" accounts < /vagrant/vprofile-repo/src/main/resources/db_backup.sql -mysql -u root -p"$DATABASE_PASS" -e "FLUSH PRIVILEGES" - -# Restart mariadb-server -systemctl restart mariadb \ No newline at end of file diff --git a/vagrant/Automated_provisioning_MacOSM1/memcache.sh b/vagrant/Automated_provisioning_MacOSM1/memcache.sh deleted file mode 100644 index a186fcfff..000000000 --- a/vagrant/Automated_provisioning_MacOSM1/memcache.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -mv /etc/yum.repos.d/fedora-updates.repo /tmp/ -mv /etc/yum.repos.d/fedora-updates-modular.repo /tmp/ -yum clean all -yum update -sudo yum install epel-release -y -sudo yum install memcached -y -sudo systemctl start memcached -sudo systemctl enable memcached -sudo systemctl status memcached -firewall-cmd --add-port=11211/tcp --permanent -firewall-cmd --reload -sed -i 's/OPTIONS="-l 127.0.0.1"/OPTIONS=""/' /etc/sysconfig/memcached -sudo systemctl restart memcached - -sudo memcached -p 11211 -U 11111 -u memcached -d diff --git a/vagrant/Automated_provisioning_MacOSM1/mysql.sh b/vagrant/Automated_provisioning_MacOSM1/mysql.sh deleted file mode 100644 index d15ae3a94..000000000 --- a/vagrant/Automated_provisioning_MacOSM1/mysql.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -sudo mv /etc/yum.repos.d/fedora-updates.repo /tmp/ -sudo mv /etc/yum.repos.d/fedora-updates-modular.repo /tmp/ -sudo yum clean all -sudo yum update -y -DATABASE_PASS='admin123' -#sudo yum install epel-release -y -sudo yum install git zip unzip -y -sudo yum install mariadb-server -y - - -# starting & enabling mariadb-server - -sudo systemctl start mariadb -sudo systemctl enable mariadb -cd /tmp/ -git clone -b main https://github.com/hkhcoder/vprofile-project.git -#restore the dump file for the application -sudo mysqladmin -u root password "$DATABASE_PASS" -#sudo mysql -u root -p"$DATABASE_PASS" -e "UPDATE mysql.user SET Password=PASSWORD('$DATABASE_PASS') WHERE User='root'" -sudo mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" -sudo mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.user WHERE User=''" -sudo mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'" -sudo mysql -u root -p"$DATABASE_PASS" -e "FLUSH PRIVILEGES" -sudo mysql -u root -p"$DATABASE_PASS" -e "create database accounts" -sudo mysql -u root -p"$DATABASE_PASS" -e "grant all privileges on accounts.* TO 'admin'@'localhost' identified by 'admin123'" -sudo mysql -u root -p"$DATABASE_PASS" -e "grant all privileges on accounts.* TO 'admin'@'%' identified by 'admin123'" -sudo mysql -u root -p"$DATABASE_PASS" accounts < /tmp/vprofile-project/src/main/resources/db_backup.sql -sudo mysql -u root -p"$DATABASE_PASS" -e "FLUSH PRIVILEGES" - -# Restart mariadb-server -sudo systemctl restart mariadb - - -#starting the firewall and allowing the mariadb to access from port no. 3306 -#sudo systemctl start firewalld -#sudo systemctl enable firewalld -#sudo firewall-cmd --get-active-zones -#sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent -#sudo firewall-cmd --reload -sudo systemctl stop firewalld -sudo systemctl disable firewalld -sudo systemctl restart mariadb diff --git a/vagrant/Automated_provisioning_MacOSM1/nginx.sh b/vagrant/Automated_provisioning_MacOSM1/nginx.sh deleted file mode 100644 index c5116f540..000000000 --- a/vagrant/Automated_provisioning_MacOSM1/nginx.sh +++ /dev/null @@ -1,32 +0,0 @@ -# adding repository and installing nginx -apt update -apt install nginx -y -cat < vproapp -upstream vproapp { - - server app01:8080; - -} - -server { - - listen 80; - -location / { - - proxy_pass http://vproapp; - -} - -} - -EOT - -mv vproapp /etc/nginx/sites-available/vproapp -rm -rf /etc/nginx/sites-enabled/default -ln -s /etc/nginx/sites-available/vproapp /etc/nginx/sites-enabled/vproapp - -#starting nginx service and firewall -systemctl start nginx -systemctl enable nginx -systemctl restart nginx diff --git a/vagrant/Automated_provisioning_MacOSM1/rabbitmq.sh b/vagrant/Automated_provisioning_MacOSM1/rabbitmq.sh deleted file mode 100644 index 767ad8148..000000000 --- a/vagrant/Automated_provisioning_MacOSM1/rabbitmq.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -sudo mv /etc/yum.repos.d/fedora-updates.repo /tmp/ -sudo mv /etc/yum.repos.d/fedora-updates-modular.repo /tmp/ -sudo yum clean all -sudo yum update -y -echo "SElinux changes." -sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config -setenforce 0 -echo -echo -curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash -sudo yum clean all -sudo yum makecache -sudo yum install erlang -y -curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash -sudo yum install rabbitmq-server -y -rpm -qi rabbitmq-server -systemctl start rabbitmq-server -sudo systemctl enable rabbitmq-server -sudo systemctl status rabbitmq-server -sudo sh -c 'echo "[{rabbit, [{loopback_users, []}]}]." > /etc/rabbitmq/rabbitmq.config' -sudo rabbitmqctl add_user test test -sudo rabbitmqctl set_user_tags test administrator -firewall-cmd --add-port=5671/tcp --permanent -firewall-cmd --add-port=5672/tcp --permanent -firewall-cmd --reload -sudo systemctl restart rabbitmq-server -nohup sleep 30 && reboot & -echo "going to reboot now" diff --git a/vagrant/Automated_provisioning_MacOSM1/tomcat.sh b/vagrant/Automated_provisioning_MacOSM1/tomcat.sh deleted file mode 100644 index d337effd1..000000000 --- a/vagrant/Automated_provisioning_MacOSM1/tomcat.sh +++ /dev/null @@ -1,63 +0,0 @@ -sudo mv /etc/yum.repos.d/fedora-updates.repo /tmp/ -sudo mv /etc/yum.repos.d/fedora-updates-modular.repo /tmp/ -sudo yum clean all -#sudo yum update -TOMURL="https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz" -yum install java-11-openjdk java-11-openjdk-devel -y -yum install git maven wget -y -cd /tmp/ -wget $TOMURL -O tomcatbin.tar.gz -EXTOUT=`tar xzvf tomcatbin.tar.gz` -TOMDIR=`echo $EXTOUT | cut -d '/' -f1` -useradd --shell /sbin/nologin tomcat -rsync -avzh /tmp/$TOMDIR/ /usr/local/tomcat/ -chown -R tomcat.tomcat /usr/local/tomcat - -rm -rf /etc/systemd/system/tomcat.service - -cat <> /etc/systemd/system/tomcat.service -[Unit] -Description=Tomcat -After=network.target - -[Service] - -User=tomcat -Group=tomcat - -WorkingDirectory=/usr/local/tomcat - -#Environment=JRE_HOME=/usr/lib/jvm/jre -Environment=JAVA_HOME=/usr/lib/jvm/jre - -Environment=CATALINA_PID=/var/tomcat/%i/run/tomcat.pid -Environment=CATALINA_HOME=/usr/local/tomcat -Environment=CATALINE_BASE=/usr/local/tomcat - -ExecStart=/usr/local/tomcat/bin/catalina.sh run -ExecStop=/usr/local/tomcat/bin/shutdown.sh - - -RestartSec=10 -Restart=always - -[Install] -WantedBy=multi-user.target - -EOT - -systemctl daemon-reload -systemctl start tomcat -systemctl enable tomcat - -git clone -b main https://github.com/hkhcoder/vprofile-project.git -cd vprofile-project -mvn install -systemctl stop tomcat -sleep 60 -rm -rf /usr/local/tomcat/webapps/ROOT* -cp target/vprofile-v2.war /usr/local/tomcat/webapps/ROOT.war -systemctl start tomcat -firewall-cmd --add-port=8080/tcp --permanent -firewall-cmd --reload -systemctl restart tomcat diff --git a/vagrant/Automated_provisioning_MacOSM1/tomcat_ubuntu.sh b/vagrant/Automated_provisioning_MacOSM1/tomcat_ubuntu.sh deleted file mode 100644 index 762c127d3..000000000 --- a/vagrant/Automated_provisioning_MacOSM1/tomcat_ubuntu.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -sudo apt update -sudo apt upgrade -y -sudo apt install openjdk-8-jdk -y -sudo apt install tomcat8 tomcat8-admin tomcat8-docs tomcat8-common git -y diff --git a/vagrant/Automated_provisioning_WinMacIntel/Vagrantfile b/vagrant/Automated_provisioning_WinMacIntel/Vagrantfile deleted file mode 100644 index bdf0ae5af..000000000 --- a/vagrant/Automated_provisioning_WinMacIntel/Vagrantfile +++ /dev/null @@ -1,64 +0,0 @@ -Vagrant.configure("2") do |config| - config.hostmanager.enabled = true - config.hostmanager.manage_host = true - -### DB vm #### - config.vm.define "db01" do |db01| - db01.vm.box = "eurolinux-vagrant/centos-stream-9" - db01.vm.hostname = "db01" - db01.vm.network "private_network", ip: "192.168.56.15" - db01.vm.provider "virtualbox" do |vb| - vb.memory = "600" - end - db01.vm.provision "shell", path: "mysql.sh" - - end - -### Memcache vm #### - config.vm.define "mc01" do |mc01| - mc01.vm.box = "eurolinux-vagrant/centos-stream-9" - mc01.vm.hostname = "mc01" - mc01.vm.network "private_network", ip: "192.168.56.14" - mc01.vm.provider "virtualbox" do |vb| - vb.memory = "600" - end - mc01.vm.provision "shell", path: "memcache.sh" - end - -### RabbitMQ vm #### - config.vm.define "rmq01" do |rmq01| - rmq01.vm.box = "eurolinux-vagrant/centos-stream-9" - rmq01.vm.hostname = "rmq01" - rmq01.vm.network "private_network", ip: "192.168.56.16" - rmq01.vm.provider "virtualbox" do |vb| - vb.memory = "600" - end - rmq01.vm.provision "shell", path: "rabbitmq.sh" - end - -### tomcat vm ### - config.vm.define "app01" do |app01| - app01.vm.box = "eurolinux-vagrant/centos-stream-9" - app01.vm.hostname = "app01" - app01.vm.network "private_network", ip: "192.168.56.12" - app01.vm.provision "shell", path: "tomcat.sh" - app01.vm.provider "virtualbox" do |vb| - vb.memory = "800" - end - end - - -### Nginx VM ### - config.vm.define "web01" do |web01| - web01.vm.box = "ubuntu/jammy64" - web01.vm.hostname = "web01" - web01.vm.network "private_network", ip: "192.168.56.11" -# web01.vm.network "public_network" - web01.vm.provider "virtualbox" do |vb| - vb.gui = true - vb.memory = "800" - end - web01.vm.provision "shell", path: "nginx.sh" -end - -end diff --git a/vagrant/Automated_provisioning_WinMacIntel/application.properties b/vagrant/Automated_provisioning_WinMacIntel/application.properties deleted file mode 100644 index 0540b942c..000000000 --- a/vagrant/Automated_provisioning_WinMacIntel/application.properties +++ /dev/null @@ -1,25 +0,0 @@ -#JDBC Configutation for Database Connection -jdbc.driverClassName=com.mysql.jdbc.Driver -jdbc.url=jdbc:mysql://db01:3306/accounts?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull -jdbc.username=admin -jdbc.password=admin123 - -#Memcached Configuration For Active and StandBy Host -#For Active Host -memcached.active.host=mc01 -memcached.active.port=11211 -#For StandBy Host -memcached.standBy.host=127.0.0.2 -memcached.standBy.port=11211 - -#RabbitMq Configuration -rabbitmq.address=rmq01 -rabbitmq.port=5672 -rabbitmq.username=test -rabbitmq.password=test - -#Elasticesearch Configuration -elasticsearch.host =192.168.1.85 -elasticsearch.port =9300 -elasticsearch.cluster=vprofile -elasticsearch.node=vprofilenode \ No newline at end of file diff --git a/vagrant/Automated_provisioning_WinMacIntel/backend.sh b/vagrant/Automated_provisioning_WinMacIntel/backend.sh deleted file mode 100644 index e993776bb..000000000 --- a/vagrant/Automated_provisioning_WinMacIntel/backend.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -DATABASE_PASS='admin123' - -# MEmcache -yum install epel-release -y -yum install memcached -y -systemctl start memcached -systemctl enable memcached -systemctl status memcached -memcached -p 11211 -U 11111 -u memcached -d - -# Rabbit -yum install socat -y -yum install erlang -y -yum install wget -y -wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm -rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc -yum update -rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm -systemctl start rabbitmq-server -systemctl enable rabbitmq-server -systemctl status rabbitmq-server -echo "[{rabbit, [{loopback_users, []}]}]." > /etc/rabbitmq/rabbitmq.config -rabbitmqctl add_user rabbit bunny -rabbitmqctl set_user_tags rabbit administrator -systemctl restart rabbitmq-server - -# Mysql -yum install mariadb-server -y - -#mysql_secure_installation -sed -i 's/^127.0.0.1/0.0.0.0/' /etc/my.cnf - -# starting & enabling mariadb-server -systemctl start mariadb -systemctl enable mariadb - -#restore the dump file for the application -mysqladmin -u root password "$DATABASE_PASS" -mysql -u root -p"$DATABASE_PASS" -e "UPDATE mysql.user SET Password=PASSWORD('$DATABASE_PASS') WHERE User='root'" -mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" -mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.user WHERE User=''" -mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'" -mysql -u root -p"$DATABASE_PASS" -e "FLUSH PRIVILEGES" -mysql -u root -p"$DATABASE_PASS" -e "create database accounts" -mysql -u root -p"$DATABASE_PASS" -e "grant all privileges on accounts.* TO 'admin'@'localhost' identified by 'admin123'" -mysql -u root -p"$DATABASE_PASS" -e "grant all privileges on accounts.* TO 'admin'@'app01' identified by 'admin123'" -mysql -u root -p"$DATABASE_PASS" accounts < /vagrant/vprofile-repo/src/main/resources/db_backup.sql -mysql -u root -p"$DATABASE_PASS" -e "FLUSH PRIVILEGES" - -# Restart mariadb-server -systemctl restart mariadb \ No newline at end of file diff --git a/vagrant/Automated_provisioning_WinMacIntel/memcache.sh b/vagrant/Automated_provisioning_WinMacIntel/memcache.sh deleted file mode 100644 index 8c4a33838..000000000 --- a/vagrant/Automated_provisioning_WinMacIntel/memcache.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -sudo dnf install epel-release -y -sudo dnf install memcached -y -sudo systemctl start memcached -sudo systemctl enable memcached -sudo systemctl status memcached -sed -i 's/127.0.0.1/0.0.0.0/g' /etc/sysconfig/memcached -sudo systemctl restart memcached -firewall-cmd --add-port=11211/tcp -firewall-cmd --runtime-to-permanent -firewall-cmd --add-port=11111/udp -firewall-cmd --runtime-to-permanent -sudo memcached -p 11211 -U 11111 -u memcached -d diff --git a/vagrant/Automated_provisioning_WinMacIntel/mysql.sh b/vagrant/Automated_provisioning_WinMacIntel/mysql.sh deleted file mode 100644 index 2e9d7eba1..000000000 --- a/vagrant/Automated_provisioning_WinMacIntel/mysql.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash -DATABASE_PASS='admin123' -sudo yum update -y -sudo yum install epel-release -y -sudo yum install git zip unzip -y -sudo yum install mariadb-server -y - - -# starting & enabling mariadb-server -sudo systemctl start mariadb -sudo systemctl enable mariadb -cd /tmp/ -git clone -b main https://github.com/devopshydclub/vprofile-project.git -#restore the dump file for the application -sudo mysqladmin -u root password "$DATABASE_PASS" -sudo mysql -u root -p"$DATABASE_PASS" -e "UPDATE mysql.user SET Password=PASSWORD('$DATABASE_PASS') WHERE User='root'" -sudo mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" -sudo mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.user WHERE User=''" -sudo mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'" -sudo mysql -u root -p"$DATABASE_PASS" -e "FLUSH PRIVILEGES" -sudo mysql -u root -p"$DATABASE_PASS" -e "create database accounts" -sudo mysql -u root -p"$DATABASE_PASS" -e "grant all privileges on accounts.* TO 'admin'@'localhost' identified by 'admin123'" -sudo mysql -u root -p"$DATABASE_PASS" -e "grant all privileges on accounts.* TO 'admin'@'%' identified by 'admin123'" -sudo mysql -u root -p"$DATABASE_PASS" accounts < /tmp/vprofile-project/src/main/resources/db_backup.sql -sudo mysql -u root -p"$DATABASE_PASS" -e "FLUSH PRIVILEGES" - -# Restart mariadb-server -sudo systemctl restart mariadb - - -#starting the firewall and allowing the mariadb to access from port no. 3306 -sudo systemctl start firewalld -sudo systemctl enable firewalld -sudo firewall-cmd --get-active-zones -sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent -sudo firewall-cmd --reload -sudo systemctl restart mariadb diff --git a/vagrant/Automated_provisioning_WinMacIntel/nginx.sh b/vagrant/Automated_provisioning_WinMacIntel/nginx.sh deleted file mode 100644 index c5116f540..000000000 --- a/vagrant/Automated_provisioning_WinMacIntel/nginx.sh +++ /dev/null @@ -1,32 +0,0 @@ -# adding repository and installing nginx -apt update -apt install nginx -y -cat < vproapp -upstream vproapp { - - server app01:8080; - -} - -server { - - listen 80; - -location / { - - proxy_pass http://vproapp; - -} - -} - -EOT - -mv vproapp /etc/nginx/sites-available/vproapp -rm -rf /etc/nginx/sites-enabled/default -ln -s /etc/nginx/sites-available/vproapp /etc/nginx/sites-enabled/vproapp - -#starting nginx service and firewall -systemctl start nginx -systemctl enable nginx -systemctl restart nginx diff --git a/vagrant/Automated_provisioning_WinMacIntel/rabbitmq.sh b/vagrant/Automated_provisioning_WinMacIntel/rabbitmq.sh deleted file mode 100644 index 2dc18b759..000000000 --- a/vagrant/Automated_provisioning_WinMacIntel/rabbitmq.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -sudo yum install epel-release -y -sudo yum update -y -sudo yum install wget -y -cd /tmp/ -dnf -y install centos-release-rabbitmq-38 - dnf --enablerepo=centos-rabbitmq-38 -y install rabbitmq-server - systemctl enable --now rabbitmq-server - firewall-cmd --add-port=5672/tcp - firewall-cmd --runtime-to-permanent -sudo systemctl start rabbitmq-server -sudo systemctl enable rabbitmq-server -sudo systemctl status rabbitmq-server -sudo sh -c 'echo "[{rabbit, [{loopback_users, []}]}]." > /etc/rabbitmq/rabbitmq.config' -sudo rabbitmqctl add_user test test -sudo rabbitmqctl set_user_tags test administrator -sudo systemctl restart rabbitmq-server diff --git a/vagrant/Automated_provisioning_WinMacIntel/tomcat.sh b/vagrant/Automated_provisioning_WinMacIntel/tomcat.sh deleted file mode 100644 index 4a3993193..000000000 --- a/vagrant/Automated_provisioning_WinMacIntel/tomcat.sh +++ /dev/null @@ -1,61 +0,0 @@ -TOMURL="https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz" -dnf -y install java-11-openjdk java-11-openjdk-devel -dnf install git maven wget -y -cd /tmp/ -wget $TOMURL -O tomcatbin.tar.gz -EXTOUT=`tar xzvf tomcatbin.tar.gz` -TOMDIR=`echo $EXTOUT | cut -d '/' -f1` -useradd --shell /sbin/nologin tomcat -rsync -avzh /tmp/$TOMDIR/ /usr/local/tomcat/ -chown -R tomcat.tomcat /usr/local/tomcat - -rm -rf /etc/systemd/system/tomcat.service - -cat <> /etc/systemd/system/tomcat.service -[Unit] -Description=Tomcat -After=network.target - -[Service] - -User=tomcat -Group=tomcat - -WorkingDirectory=/usr/local/tomcat - -#Environment=JRE_HOME=/usr/lib/jvm/jre -Environment=JAVA_HOME=/usr/lib/jvm/jre - -Environment=CATALINA_PID=/var/tomcat/%i/run/tomcat.pid -Environment=CATALINA_HOME=/usr/local/tomcat -Environment=CATALINE_BASE=/usr/local/tomcat - -ExecStart=/usr/local/tomcat/bin/catalina.sh run -ExecStop=/usr/local/tomcat/bin/shutdown.sh - - -RestartSec=10 -Restart=always - -[Install] -WantedBy=multi-user.target - -EOT - -systemctl daemon-reload -systemctl start tomcat -systemctl enable tomcat - -git clone -b main https://github.com/devopshydclub/vprofile-project.git -cd vprofile-project -mvn install -systemctl stop tomcat -sleep 20 -rm -rf /usr/local/tomcat/webapps/ROOT* -cp target/vprofile-v2.war /usr/local/tomcat/webapps/ROOT.war -systemctl start tomcat -sleep 20 -systemctl stop firewalld -systemctl disable firewalld -#cp /vagrant/application.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/application.properties -systemctl restart tomcat diff --git a/vagrant/Automated_provisioning_WinMacIntel/tomcat_ubuntu.sh b/vagrant/Automated_provisioning_WinMacIntel/tomcat_ubuntu.sh deleted file mode 100644 index 762c127d3..000000000 --- a/vagrant/Automated_provisioning_WinMacIntel/tomcat_ubuntu.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -sudo apt update -sudo apt upgrade -y -sudo apt install openjdk-8-jdk -y -sudo apt install tomcat8 tomcat8-admin tomcat8-docs tomcat8-common git -y diff --git a/vagrant/Manual_provisioning_MacOSM1/Vagrantfile b/vagrant/Manual_provisioning_MacOSM1/Vagrantfile deleted file mode 100644 index 8994972b6..000000000 --- a/vagrant/Manual_provisioning_MacOSM1/Vagrantfile +++ /dev/null @@ -1,63 +0,0 @@ -Vagrant.configure("2") do |config| - config.hostmanager.enabled = true - config.hostmanager.manage_host = true - -### DB vm #### - config.vm.define "db01" do |db01| - db01.vm.box = "jacobw/fedora35-arm64" - db01.vm.hostname = "db01" - db01.vm.network "private_network", ip: "192.168.56.25" - db01.vm.provider "vmware_desktop" do |vmware| - vmware.gui = true - vmware.allowlist_verified = true - end - end - -### Memcache vm #### - config.vm.define "mc01" do |mc01| - mc01.vm.box = "jacobw/fedora35-arm64" - mc01.vm.hostname = "mc01" - mc01.vm.network "private_network", ip: "192.168.56.24" - mc01.vm.provider "vmware_desktop" do |vmware| - vmware.gui = true - vmware.allowlist_verified = true - end - end - -### RabbitMQ vm #### - config.vm.define "rmq01" do |rmq01| - rmq01.vm.box = "jacobw/fedora35-arm64" - rmq01.vm.hostname = "rmq01" - rmq01.vm.network "private_network", ip: "192.168.56.23" - rmq01.vm.provider "vmware_desktop" do |vmware| - vmware.gui = true - vmware.allowlist_verified = true - end - end - -### tomcat vm ### - config.vm.define "app01" do |app01| - app01.vm.box = "jacobw/fedora35-arm64" - app01.vm.hostname = "app01" - app01.vm.network "private_network", ip: "192.168.56.22" - app01.vm.provider "vmware_desktop" do |vb| - vb.memory = "1024" - vb.gui = true - vb.allowlist_verified = true - end - end - - -### Nginx VM ### - config.vm.define "web01" do |web01| - web01.vm.box = "spox/ubuntu-arm" - web01.vm.hostname = "web01" - web01.vm.network "private_network", ip: "192.168.56.21" - web01.vm.provider "vmware_desktop" do |vmware| - vmware.gui = true - vmware.allowlist_verified = true - end - - end - -end diff --git a/vagrant/Manual_provisioning_MacOSM1/VprofileProjectSetupMacM1M2.pdf b/vagrant/Manual_provisioning_MacOSM1/VprofileProjectSetupMacM1M2.pdf deleted file mode 100644 index 00a5ba3aa..000000000 Binary files a/vagrant/Manual_provisioning_MacOSM1/VprofileProjectSetupMacM1M2.pdf and /dev/null differ diff --git a/vagrant/Manual_provisioning_WinMacIntel/Vagrantfile b/vagrant/Manual_provisioning_WinMacIntel/Vagrantfile deleted file mode 100644 index 69a56a34d..000000000 --- a/vagrant/Manual_provisioning_WinMacIntel/Vagrantfile +++ /dev/null @@ -1,58 +0,0 @@ -Vagrant.configure("2") do |config| - config.hostmanager.enabled = true - config.hostmanager.manage_host = true - -### DB vm #### - config.vm.define "db01" do |db01| - db01.vm.box = "eurolinux-vagrant/centos-stream-9" - db01.vm.hostname = "db01" - db01.vm.network "private_network", ip: "192.168.56.15" - db01.vm.provider "virtualbox" do |vb| - vb.memory = "600" - end - - end - -### Memcache vm #### - config.vm.define "mc01" do |mc01| - mc01.vm.box = "eurolinux-vagrant/centos-stream-9" - mc01.vm.hostname = "mc01" - mc01.vm.network "private_network", ip: "192.168.56.14" - mc01.vm.provider "virtualbox" do |vb| - vb.memory = "600" - end - end - -### RabbitMQ vm #### - config.vm.define "rmq01" do |rmq01| - rmq01.vm.box = "eurolinux-vagrant/centos-stream-9" - rmq01.vm.hostname = "rmq01" - rmq01.vm.network "private_network", ip: "192.168.56.13" - rmq01.vm.provider "virtualbox" do |vb| - vb.memory = "600" - end - end - -### tomcat vm ### - config.vm.define "app01" do |app01| - app01.vm.box = "eurolinux-vagrant/centos-stream-9" - app01.vm.hostname = "app01" - app01.vm.network "private_network", ip: "192.168.56.12" - app01.vm.provider "virtualbox" do |vb| - vb.memory = "800" - end - end - - -### Nginx VM ### - config.vm.define "web01" do |web01| - web01.vm.box = "ubuntu/jammy64" - web01.vm.hostname = "web01" - web01.vm.network "private_network", ip: "192.168.56.11" - web01.vm.provider "virtualbox" do |vb| - vb.gui = true - vb.memory = "800" - end -end - -end diff --git a/vagrant/Manual_provisioning_WinMacIntel/VprofileProjectSetupWindowsAndMacIntel.pdf b/vagrant/Manual_provisioning_WinMacIntel/VprofileProjectSetupWindowsAndMacIntel.pdf deleted file mode 100644 index c221b4dcc..000000000 Binary files a/vagrant/Manual_provisioning_WinMacIntel/VprofileProjectSetupWindowsAndMacIntel.pdf and /dev/null differ