diff --git a/niege/Cuteen/static/css/admin.css b/niege/Cuteen/static/css/admin.css
new file mode 100644
index 0000000..a4e944e
--- /dev/null
+++ b/niege/Cuteen/static/css/admin.css
@@ -0,0 +1,486 @@
+.col-tb-8{
+ width: 100%;
+}
+.col-tb-offset-2{
+ margin-left: 0;
+}
+.tab {
+
+ border: 1px solid #ccc;
+ background-color: #f1f1f1;
+ width: auto;
+ height: auto;
+}
+
+/* Style the buttons inside the tab */
+.tab .tabLinks {
+ word-break: keep-all;
+ display: block;
+ background-color: inherit;
+ color: black;
+ padding: 22px 16px;
+ width: 100%;
+ border: none;
+ outline: none;
+ text-align: left;
+ cursor: pointer;
+ transition: 0.3s;
+ font-size: 17px;
+}
+
+/* Change background color of buttons on hover */
+.tab .tabLinks:hover {
+ background-color: #ddd;
+}
+
+/* Create an active/current "tab button" class */
+.tab .tabLinks.active {
+ background-color: #ccc;
+}
+
+/* Style the tab content */
+.tabContent {
+ padding: 30px;
+ border: 1px solid #ccc;
+ width: 100%;
+ border-left: none;
+ height: auto;
+ display: none;
+}
+
+.tabContent.active {
+ display: block;
+}
+
+.allTab {
+ display: flex;
+}
+
+
+/*----------------------分界线------------------------*/
+body {
+ background-color: #fff
+}
+
+hr {
+ background-color: #c1c1c1;
+ border: none;
+ display: block;
+ height: 1px;
+ margin: .5rem 0
+}
+
+.tabs-wrap {
+ border-radius: 6px;
+ max-width: 100%;
+ display: -webkit-box;
+ display: flex;
+ flex-wrap: wrap;
+ position: relative;
+ list-style: none;
+ background-color: #fff;
+ margin: 40px 0;
+ border: 1px solid rgba(0, 0, 0, .23)
+}
+
+.tabs-wrap > label {
+ border-radius: 6px 6px 0 0;
+ cursor: pointer;
+ display: block;
+ text-decoration: none;
+ color: #333;
+ -webkit-box-flex: 3;
+ flex-grow: 3;
+ text-align: center;
+ background-color: #f2f2f2;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ text-align: center;
+ -webkit-transition: .3s background-color ease, .3s box-shadow ease;
+ transition: .3s background-color ease, .3s box-shadow ease;
+ height: 50px;
+ box-sizing: border-box;
+ padding: 15px;
+ line-height: 24px
+}
+
+.tabs-wrap > label:first-of-type:not(:last-of-type) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0
+}
+
+.tabs-wrap > label:not(:first-of-type):not(:last-of-type) {
+ border-radius: 0
+}
+
+.tabs-wrap > label:last-of-type:not(:first-of-type) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0
+}
+
+.tabs-item.active {
+ background: #fff
+}
+
+.tabs-main {
+ width: 100%;
+ background: #fff;
+ padding: 1rem
+}
+
+.tabs-content.active {
+ opacity: 1;
+ position: relative;
+ top: 0;
+ z-index: 1;
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ text-shadow: 0 0 0;
+ display: block
+}
+
+.tabs-content {
+ padding: 10px 25px;
+ background-color: transparent;
+ position: absolute;
+ width: 100%;
+ z-index: -1;
+ opacity: 0;
+ left: 0;
+ -webkit-transform: translateY(-3px);
+ transform: translateY(-3px);
+ border-radius: 6px;
+ display: none
+}
+
+.accordion {
+ margin: 1rem 0;
+ padding: 0;
+ list-style: none
+}
+
+.accordion-thumb {
+ line-height: 1.6;
+ padding: .75em 1em;
+ cursor: pointer;
+ transition: all .4s ease
+}
+
+.accordion-thumb::before {
+ content: "";
+ display: inline-block;
+ height: 7px;
+ width: 7px;
+ margin-right: 1rem;
+ margin-left: .5rem;
+ vertical-align: middle;
+ border-right: 1px solid;
+ border-bottom: 1px solid;
+ -webkit-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ -webkit-transition: -webkit-transform .2s ease-out;
+ transition: -webkit-transform .2s ease-out;
+ transition: transform .2s ease-out
+}
+
+.accordion-item {
+ border: 1px solid rgba(0, 0, 0, .23);
+ border-radius: 6px;
+ margin-bottom: 15px
+}
+
+.accordion-panel {
+ border-radius: 6px;
+ margin: 0;
+ padding: 1.25em 1.5em;
+ display: none;
+ background-color: #fafafa
+}
+
+.accordion-item.open .accordion-thumb::before {
+ -webkit-transform: rotate(45deg);
+ transform: rotate(45deg)
+}
+
+.btn {
+ text-decoration: none;
+ display: inline-block;
+ font-weight: 700;
+ text-align: center;
+ box-sizing: border-box;
+ padding: 0;
+ padding: 0 1rem;
+ line-height: 30px;
+ background: 0 0;
+ color: #000;
+ border-style: solid;
+ border-width: 3px;
+ border-color: #363636;
+ border-radius: 10rem;
+ letter-spacing: .4px;
+ transition: .18s ease-out;
+ -webkit-transition: .18s ease-out
+}
+
+.btn:hover {
+ background: #000;
+ color: #fff;
+ transition: .18s ease-out;
+ -webkit-transition: .18s ease-out
+}
+
+.btn.hong:hover, .btn.lan:hover, .btn.primary:hover {
+ color: #fff
+}
+
+.btn.lan {
+ color: #2160c4;
+ border-color: #3273dc
+}
+
+.btn.lan:hover {
+ background: #3273dc
+}
+
+.btn.hong {
+ color: #cc0f35;
+ border-color: #f14668
+}
+
+.btn.hong:hover {
+ background: #f14668
+}
+
+.btn.primary {
+ color: #2dce89;
+ border-color: #2dce89
+}
+
+.btn.primary:hover {
+ background-color: #2dce89
+}
+
+.tip {
+ margin-top: 25px
+}
+
+.tip {
+ overflow: hidden;
+ background: #fff;
+ border-radius: 20px;
+ max-width: 100%;
+ position: relative;
+ min-height: 1em;
+ margin-bottom: 25px;
+ padding: 1em 1.5em;
+ line-height: 1.4285em;
+ color: rgba(0, 0, 0, .87);
+ border: 1px solid rgba(0, 0, 0, .23)
+}
+
+.tip p {
+ text-align: center;
+}
+
+
+.tip-header {
+ text-align: center;
+ margin: 10px auto 20px auto;
+ color: #444;
+ text-shadow: 0 0 2px #c2c2c2
+}
+
+.tip-var {
+ display: inline-block;
+ text-align: center;
+ width: 280px;
+ line-height: 20px;
+ position: absolute;
+ top: 20px;
+ right: -110px;
+ z-index: 2;
+ overflow: hidden;
+ transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -webkit-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ border: 1px dashed;
+ box-shadow: 0 0 0 1px #fff, 0 21px 5px -18px rgba(0, 0, 0, .6);
+ background-color: #fceeee;
+ color: red;
+ font-size: 12px;
+ font-weight: 900
+}
+
+ul.typecho-option.typecho-option-submit {
+ background: rgba(235, 235, 235, .3);
+ -webkit-backdrop-filter: blur(20px);
+ backdrop-filter: blur(20px)
+}
+
+ul.typecho-option.typecho-option-submit {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ background: #fff;
+ margin-bottom: 0;
+ left: 0;
+ text-align: center;
+ -webkit-box-shadow: 0 -.3125rem .3125rem -.3125rem rgba(0, 0, 0, .117);
+ -moz-box-shadow: 0 -.3125rem .3125rem -.3125rem rgba(0, 0, 0, .117);
+ box-shadow: 0 -.3125rem .3125rem -.3125rem rgba(0, 0, 0, .117);
+ padding-bottom: env(safe-area-inset-bottom);
+ z-index: 2
+}
+
+ul.typecho-option.typecho-option-submit li {
+ padding: 15px 15px
+}
+
+ul.typecho-option.typecho-option-submit li button {
+ font-weight: 500;
+ font-size: 14px;
+ width: 100%;
+ height: 48px;
+ max-width: 450px
+}
+
+.protected.home {
+ margin-bottom: 20px
+}
+
+input[type=checkbox], input[type=radio] {
+ zoom: 1.25;
+ vertical-align: text-bottom
+}
+
+.multiline {
+ position: relative;
+ display: inline-block;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ outline: 0;
+ vertical-align: baseline;
+ font-style: normal;
+ min-height: 17px;
+ font-size: 1rem;
+ line-height: 1.5rem;
+ min-width: 17px
+}
+
+.multiline input[type=checkbox] {
+ cursor: pointer;
+ position: absolute;
+ top: 0;
+ left: 0;
+ opacity: 0 !important;
+ outline: 0;
+ z-index: 3;
+ width: 17px;
+ height: 17px
+}
+
+.multiline {
+ min-height: 1.5rem;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none
+}
+
+.multiline input {
+ width: 3.5rem;
+ height: 1.5rem
+}
+
+.multiline .box, .multiline label {
+ min-height: 1.5rem;
+ padding-left: 4.5rem;
+ vertical-align: middle;
+ color: #000;
+ font-size: 13px
+}
+
+.multiline .box:before, .multiline label:before {
+ cursor: pointer;
+ display: block;
+ position: absolute;
+ content: '';
+ z-index: 1;
+ -webkit-transform: none;
+ transform: none;
+ border: none;
+ top: 0;
+ background: #eef0f5;
+ -webkit-box-shadow: inset -2px -2px 2px 0 rgba(255, 255, 255, .6), inset -4px -4px 4px 0 rgba(255, 255, 255, .6), inset 2px 2px 2px 0 rgba(12, 13, 18, .06), inset 4px 4px 4px 0 rgba(12, 13, 18, .06), inset 0 0 green;
+ box-shadow: inset -2px -2px 2px 0 rgba(255, 255, 255, .6), inset -4px -4px 4px 0 rgba(255, 255, 255, .6), inset 2px 2px 2px 0 rgba(12, 13, 18, .06), inset 4px 4px 4px 0 rgba(12, 13, 18, .06), inset 0 0 green;
+ height: 28px;
+ width: 52px;
+ border-radius: 6px
+}
+
+.multiline .box:after, .multiline label:after {
+ content: '';
+ z-index: 3;
+ position: absolute;
+ top: 4px;
+ left: 4px;
+ width: 20px;
+ height: 20px;
+ border-radius: 4px;
+ background-color: #f0f2f7;
+ box-shadow: inset 1px 1px 1px rgba(255, 255, 255, .6), inset -1px -1px 1px rgba(12, 13, 18, .06), -1px -1px 1px 0 rgba(255, 255, 255, .6), -1px -1px 4px 0 rgba(255, 255, 255, .6), -2px -2px 8px 0 rgba(255, 255, 255, .6), 1px 1px 1px 0 rgba(12, 13, 18, .06), 1px 1px 4px 0 rgba(12, 13, 18, .06), 2px 2px 8px 0 rgba(12, 13, 18, .06);
+ -webkit-transition: -webkit-transform .1825s ease-in-out;
+ transition: -webkit-transform .1825s ease-in-out;
+ transition: transform .1825s ease-in-out;
+ transition: transform .1825s ease-in-out, -webkit-transform .1825s ease-in-out
+}
+
+.multiline input:focus ~ .box:before, .multiline input:focus ~ label:before {
+ background-color: #eef0f5;
+ border: none
+}
+
+.multiline .box:hover::before, .multiline label:hover::before {
+ background-color: #eef0f5;
+ border: none
+}
+
+.multiline input:checked ~ .box, .multiline input:checked ~ label {
+ color: #999 !important
+}
+
+.multiline input:checked ~ .box:before, .multiline input:checked ~ label:before {
+ box-shadow: inset -2px -2px 2px 0 rgba(255, 255, 255, .12), inset -4px -4px 4px 0 rgba(255, 255, 255, .12), inset 0 0 0 1px rgba(0, 150, 255, .3), inset 0 0 4px 1px rgba(0, 150, 255, .3), inset 0 0 8px 1px rgba(0, 150, 255, .3), inset 2px 2px 2px 0 rgba(12, 13, 18, .06), inset 4px 4px 4px 0 rgba(12, 13, 18, .06), inset 54px 0 #1462ff, 0 0 4px 1px rgba(0, 150, 255, .16), 0 0 12px 1px rgba(0, 150, 255, .16)
+}
+
+.multiline input:checked ~ .box:after, .multiline input:checked ~ label:after {
+ transform: translatex(24px);
+ -webkit-box-shadow: inset 1px 1px 1px rgba(255, 255, 255, .6), inset -1px -1px 1px rgba(12, 13, 18, .06), inset 0 0 0 1px rgba(0, 150, 255, .24), inset 0 0 4px 1px rgba(0, 150, 255, .24), -1px -1px 1px 0 rgba(255, 255, 255, .16), -1px -1px 4px 0 rgba(255, 255, 255, .16), -2px -2px 8px 0 rgba(255, 255, 255, .16), 1px 1px 1px 0 rgba(12, 13, 18, .06), 1px 1px 4px 0 rgba(12, 13, 18, .06), 2px 2px 8px 0 rgba(12, 13, 18, .06);
+ box-shadow: inset 1px 1px 1px rgba(255, 255, 255, .6), inset -1px -1px 1px rgba(12, 13, 18, .06), inset 0 0 0 1px rgba(0, 150, 255, .24), inset 0 0 4px 1px rgba(0, 150, 255, .24), -1px -1px 1px 0 rgba(255, 255, 255, .16), -1px -1px 4px 0 rgba(255, 255, 255, .16), -2px -2px 8px 0 rgba(255, 255, 255, .16), 1px 1px 1px 0 rgba(12, 13, 18, .06), 1px 1px 4px 0 rgba(12, 13, 18, .06), 2px 2px 8px 0 rgba(12, 13, 18, .06)
+}
+
+.multiline input:focus:checked ~ .box, .multiline input:focus:checked ~ label {
+ color: rgba(0, 0, 0, .95) !important
+}
+
+.multiline input:focus:checked ~ .box:before, .multiline input:focus:checked ~ label:before {
+ background-color: #0d71bb !important
+}
+
+#typecho-option-item-MathJaxConfig-15 {
+ display: none
+}
+
+* {
+ box-sizing: border-box
+}
+
+@media (max-width: 40em) {
+ .tabs-content {
+ padding: 10px
+ }
+}
\ No newline at end of file
diff --git a/niege/Cuteen/static/css/app.css b/niege/Cuteen/static/css/app.css
new file mode 100644
index 0000000..c28fce3
--- /dev/null
+++ b/niege/Cuteen/static/css/app.css
@@ -0,0 +1,2572 @@
+:root{
+ --radius:6px;
+ --bs-font-sans-serif:"Roman-55",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
+}
+@font-face {
+ font-family: 'Roman-55';
+ src: url('../font/NeueHaasGrotTextRound-55Roman.woff2');
+ }
+body{
+ font-family: var(--bs-font-sans-serif);
+}
+::-webkit-scrollbar {
+ width: 6px;
+}
+::-webkit-scrollbar-track {
+ background-color: #fff;
+}
+
+::-webkit-scrollbar-thumb {
+ background: hsla(0,0%,52.9%,.4);
+ border-radius: 6px;
+}
+::-webkit-scrollbar-track {
+ background: hsla(0,0%,52.9%,.1);
+}
+
+[data-toggle="tooltip"] * {
+ pointer-events: none;
+}
+span{
+ display: inline-flex;
+ align-items: center;
+}
+hr{
+ background-color: whitesmoke;
+ opacity: unset;
+}
+a.a-none,.post-nav a {
+ color: inherit;
+ text-decoration: none;
+}
+.icon {
+ width: 1rem;
+ height: 1rem;
+ fill: currentColor;
+ overflow: hidden;
+}
+
+.icon-20 {
+ width: 1.25rem;
+ height: 1.25rem;
+}
+
+.icon-32 {
+ width: 2rem;
+ height: 2rem;
+}
+
+.z-index1 {
+ z-index: 1;
+}
+
+.z-index2 {
+ z-index: 2;
+}
+.lazy,.lazy.loading {
+ opacity: 0;
+}
+.lazy.loaded {
+ opacity: 1;
+ transition: opacity 0.5s;
+}
+
+.dropdown-toggle::after {
+ transition: transform 0.15s linear;
+}
+
+.dropdown-item span {
+ transition: .18s ease-out;
+ -webkit-transition: .18s ease-out;
+}
+
+.dropdown-item:hover span {
+ margin-left: 0.5rem;
+}
+
+.show.dropdown .dropdown-toggle::after {
+ transform: translateY(3px);
+}
+
+.dropdown-menu {
+ margin-top: 0;
+ left: -15px;
+ min-width: 9rem;
+}
+
+.navbar {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ padding-left: 1rem;
+ padding-right: 1rem;
+ z-index: 100;
+}
+#navPC,#navMobile{
+ -webkit-transition: .3s ease-out;
+ transition: .3s ease-out;
+ box-shadow: 0 0.5rem 1rem rgba(18, 38, 63, 0.05) ;
+}
+.nav-link {
+ white-space: nowrap;
+}
+
+#musicApp, .color-icon, .dark-icon {
+ width: 2.5rem;
+ height: 3rem;
+ justify-content: center;
+ cursor: pointer;
+}
+
+.headroom {
+ will-change: transform;
+ transition: transform 200ms linear;
+}
+
+.headroom--pinned {
+ transform: translateY(0%);
+}
+
+.headroom--unpinned {
+ transform: translateY(-100%);
+}
+
+#mobileAside {
+ width: 75%;
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 5;
+ transform: translateX(-100%);
+ transition: .3s;
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+}
+
+#mobileAside[mobile-open=true] {
+ transform: translateX(0);
+}
+
+.siteLogo {
+ height: 2rem;
+ width: auto;
+}
+a {
+ color: var(--bs-primary);
+ text-decoration: underline;
+}
+#musicPop,#themeColor {
+ position: absolute;
+ right: 0;
+ top: calc(3rem + 5px);
+ box-shadow: 0 4px 8px rgba(31, 45, 61, .2);
+ background: #fff;
+ padding: .75rem;
+ border-radius: .5rem;
+ transform-origin: 0 -5px;
+ transform: scaleY(0);
+ opacity: 0;
+ visibility: hidden;
+ transition: .25s;
+}
+#musicMobileBox {
+ position: absolute;
+ right: 0;
+ bottom: calc(2.5rem + 5px);
+ box-shadow: 0 4px 8px rgba(31, 45, 61, .2);
+ background: #fff;
+ padding: .75rem;
+ border-radius: .5rem;
+ opacity: 0;
+ visibility: hidden;
+ transition: .25s;
+ max-width: 12.5rem;
+}
+
+#musicApp:hover #musicPop,#themePlane:hover #themeColor{
+ visibility: visible;
+ opacity: 1;
+ transform: scaleY(1);
+}
+#musicMobileBox.on{
+ visibility: visible;
+ opacity: 1;
+}
+#musicMobileBox:before {
+ content: "";
+ position: absolute;
+ display: block;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid #fff;
+ bottom: -5px;
+ right: 14px;
+}
+#musicSvg {
+ border-radius: 50%;
+ width: 1.5rem;
+ height: 1.5rem;
+ display: inline-flex;
+ align-items: center;
+}
+
+#musicSvg.on {
+ /*-webkit-animation: ripple-white 1s linear infinite;*/
+ /*animation: ripple-white 1s linear infinite;*/
+ /*animation: rightWhirl 5s linear infinite;*/
+ color: var(--bs-primary);
+}
+
+@keyframes ripple {
+ 0% {
+ -webkit-box-shadow: 0 0 0 0 var(--bs-primary_opacity_1), 0 0 0 20px var(--bs-primary_opacity_1), 0 0 0 40px var(--bs-primary_opacity_1);
+ box-shadow: 0 0 0 0 var(--bs-primary_opacity_1), 0 0 0 20px var(--bs-primary_opacity_1), 0 0 0 40px var(--bs-primary_opacity_1)
+ }
+ 100% {
+ -webkit-box-shadow: 0 0 0 20px var(--bs-primary_opacity_1), 0 0 0 40px var(--bs-primary_opacity_1), 0 0 0 60px rgba(255, 255, 255, 0);
+ box-shadow: 0 0 0 20px var(--bs-primary_opacity_1), 0 0 0 40px var(--bs-primary_opacity_1), 0 0 0 60px rgba(255, 255, 255, 0)
+ }
+}
+
+.controls .icon:not(.icon-20) {
+ width: .7rem;
+ height: .7rem;
+}
+
+.music-cover {
+ width: 3rem;
+ height: 3rem;
+ border-radius: 50%;
+ margin-right: .5rem;
+}
+
+.music-play-btn, .music-prev-btn, .music-next-btn, .music-cover {
+ box-shadow: 0 1px 5px rgba(0, 123, 255, 0.26);
+ border: 1px solid rgba(108, 117, 125, .26);
+}
+
+/*.music-prev-btn:active,.music-play-btn:active,.music-next-btn:active{*/
+/* box-shadow:inset 0 1px 18px rgba(31, 45, 61, .26);*/
+/*}*/
+
+.music-play-btn .icon {
+ margin: .6rem;
+}
+
+.music-picture {
+ display: flex;
+ align-items: center;
+ vertical-align: middle;
+ justify-content: center;
+}
+
+@-webkit-keyframes rightWhirl {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ }
+
+ 50% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ 100% {
+ -webkit-transform: rotate(360deg);
+ }
+}
+
+.music-cover.music-pause {
+ -webkit-animation: rightWhirl 5s linear infinite;
+ /*-webkit-animation: ripple-white 1s linear infinite;*/
+}
+
+#musicApp svg.on {
+ color: var(--bs-primary);
+}
+
+.music-list {
+ padding: 0;
+ margin-top: .5rem;
+ max-height: 9rem;
+ overflow: auto;
+ color: var(--bs-dark);
+}
+
+.music-list::-webkit-scrollbar {
+ width: 0;
+}
+
+.music-list li {
+ display: flex;
+ list-style: none;
+ padding: .25rem .75rem;
+ border-radius: 4px;
+ cursor: pointer;
+ white-space: nowrap;
+ transition: .25s;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.music-list li:hover {
+ background: rgba(0, 123, 255, 0.1);
+}
+
+.music-list li span {
+ margin-right: .5rem;
+ font-size: 85%;
+}
+
+#musicPop {
+ max-width: 12.5rem;
+}
+
+#musicPop:before {
+ content: "";
+ position: absolute;
+ display: block;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid #fff;
+ top: -5px;
+ right: 20px;
+}
+
+.music-list li.music-curMusic {
+ background: var(--bs-primary);
+ color: var(--bs-white);
+}
+
+.music-control, .music-list-author {
+ display: none;
+}
+
+.mobile-nav {
+ margin-top: 5rem;
+}
+
+.aside-avatar img {
+ border-radius: 50%;
+ width: 6rem;
+ height: 6rem;
+}
+
+
+.aside-pages li, .aside-sort li, .aside-children div {
+ padding: .5rem 0;
+}
+
+.aside-pages li:not(:first-child) {
+ margin: 0 2.5rem;
+}
+
+.aside-sort li:not(:first-child) {
+ margin: 0 3.5rem;
+}
+
+.aside-sort li[data-toggle=collapse] {
+ margin: 0;
+ padding: .5rem 3.5rem;
+}
+
+.aside-sort li[data-toggle=collapse][aria-expanded=true] {
+ background-color: var(--bs-primary_opacity_1);
+}
+
+.aside-sort li[data-toggle=collapse] > svg, .aside-sort li[data-toggle=collapse] {
+ transition: .25s;
+}
+
+.aside-sort li[data-toggle=collapse][aria-expanded=true] > svg {
+ -webkit-transform: rotate(90deg);
+ transform: rotate(90deg);
+}
+
+.aside-children {
+ background-color: var(--bs-light);
+}
+
+.aside-children div {
+ margin-left: 4rem;
+}
+
+.aside-sort a, .aside-pages a {
+ text-decoration: none;
+ color: initial;
+}
+#header {
+ position: relative;
+ text-align: center;
+ /*background: #000000 no-repeat fixed center center;*/
+ background-size: cover;
+ margin-bottom: 2rem;
+ object-fit: cover;
+ background-position-x: center;
+ background-position-y: center;
+ /*background-attachment:fixed*/
+}
+
+.hero-box{
+ position: relative;
+ height: 25rem;
+}
+#header:before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAKUlEQVQImU3IMREAIAgAwJfNkQCEsH8cijjpMf6vnXlQaIiJFx+omEBfmqIEZLe2jzcAAAAASUVORK5CYII=);
+}
+.main-hero-waves-area {
+ width: 100%;
+ position: absolute;
+ left: 0;
+ z-index: 0;
+}
+
+.main-hero-waves-area {
+ bottom: -5px;
+}
+
+.waves-area .waves-svg {
+ width: 100%;
+ height: 5rem
+}
+
+.waves-area .parallax>use {
+ -webkit-animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite;
+ animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite
+}
+
+.waves-area .parallax>use:first-child {
+ -webkit-animation-delay: -2s;
+ animation-delay: -2s;
+ -webkit-animation-duration: 7s;
+ animation-duration: 7s;
+ fill: hsla(0, 0%, 100%, .7)
+}
+
+.waves-area .parallax>use:nth-child(2) {
+ -webkit-animation-delay: -3s;
+ animation-delay: -3s;
+ -webkit-animation-duration: 10s;
+ animation-duration: 10s;
+ fill: hsla(0, 0%, 100%, .5)
+}
+
+.waves-area .parallax>use:nth-child(3) {
+ -webkit-animation-delay: -4s;
+ animation-delay: -4s;
+ -webkit-animation-duration: 13s;
+ animation-duration: 13s;
+ fill: hsla(0, 0%, 100%, .3)
+}
+
+.waves-area .parallax>use:nth-child(4) {
+ -webkit-animation-delay: -5s;
+ animation-delay: -5s;
+ -webkit-animation-duration: 20s;
+ animation-duration: 20s;
+ fill: var(--bs-light)
+}
+
+@-webkit-keyframes move-forever {
+ 0% {
+ -webkit-transform: translate3d(-90px, 0, 0);
+ transform: translate3d(-90px, 0, 0)
+ }
+ to {
+ -webkit-transform: translate3d(85px, 0, 0);
+ transform: translate3d(85px, 0, 0)
+ }
+}
+
+@keyframes move-forever {
+ 0% {
+ -webkit-transform: translate3d(-90px, 0, 0);
+ transform: translate3d(-90px, 0, 0)
+ }
+ to {
+ -webkit-transform: translate3d(85px, 0, 0);
+ transform: translate3d(85px, 0, 0)
+ }
+}
+
+.has-img .navbar-brand,.has-img.navbar-light .navbar-nav .nav-link,.has-img .navbar-nav{
+ color: var(--bs-white);
+}
+.has-img{
+ padding: .75rem 0;
+}
+.navbar-light .navbar-nav .nav-link{
+ color: var(--bs-dark);
+}
+.has-img .navbar-brand:hover,.has-img.navbar-light .navbar-nav .nav-link:hover,.has-img .navbar-nav:hover{
+ color: var(--bs-white);
+}
+
+.bg-blur{
+ background: rgba(255,255,255,0.9);
+ backdrop-filter: saturate(200%) blur(20px);
+}
+[mobile-open=true] ~ #mask {
+ display: block;
+}
+
+#mask {
+ position: fixed;
+ z-index: 4;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background: #000;
+ opacity: .5;
+ transition: .2s cubic-bezier(.25, .46, .45, .94);
+ display: none;
+}
+
+.mobile-right-btn {
+ position: fixed;
+ right: 1rem;
+ background-color: var(--bs-white);
+ bottom: 1rem;
+ border-radius: 6px;
+ z-index: 10;
+}
+
+.right-btn-icon {
+ padding: 5px .5rem;
+}
+
+
+@media (min-width: 1400px) {
+ #main.container {
+ max-width: 1140px;
+ }
+}
+
+#content {
+ min-height: 100vh;
+ color: var(--bs-white);
+}
+
+#sidebar .sticky-top {
+ position: sticky;
+ top: 4rem;
+ z-index: 5;
+}
+[data-bgimg=no]{
+ margin-top: 6rem;
+}
+.article:not(.card-style) {
+ position: relative;
+ height: 14.5rem;
+ border-radius: var(--radius);
+ overflow: hidden;
+ background-color: var(--bs-dark);
+ margin-bottom: 2rem;
+ border: 1px solid #e9ecef;
+ /*box-shadow: 0 0.5rem 1rem rgba(18, 38, 63, 0.05) ;*/
+}
+
+
+
+.article.have-img .article-img {
+ z-index: 2;
+ width: 35%;
+}
+.article.have-img .article-img img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ background-position-x: center;
+ background-position-y: center;
+ background-size: cover;
+ -webkit-transition: .3s ease-out;
+ transition: .3s ease-out;
+}
+.article.have-img .article-ctx {
+ width: 65%;
+ display: flex;
+ justify-content: space-between;
+ flex-direction: column;
+ padding: 3rem 2rem;
+ z-index: 2;
+}
+.article.have-img .article-info, .article.have-img .article-description, .article.have-img .article-title {
+ letter-spacing: 0.06rem;
+ text-shadow: 0 0.1875rem 0.3125rem rgba(0, 0, 0, 0.3);
+}
+.article.have-img .article-title {
+ font-size: 1.5rem;
+ font-weight: bold;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 1;
+ overflow: hidden;
+ word-break: break-all;
+}
+.article.have-img .article-info {
+ font-size:12px;
+ display: flex;
+ justify-content: space-between;
+}
+.article.have-img .blur-img {
+ z-index: 0;
+}
+.article.have-img .blur-img img {
+ position: absolute;
+ top: 0;
+ height: 14.5rem;
+ object-fit: cover;
+ background-position-x: center;
+ background-position-y: center;
+ background-size: cover;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ width: 100%;
+ filter: blur(1.875rem) brightness(0.8);
+ transform: scale(1.2);
+}
+.article.have-img .article-description {
+ line-height: 1.8rem;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+ word-break: break-all;
+ min-height: 3.625rem ;
+}
+.article.have-img .article-time, .article.have-img .article-views, .article.have-img .article-sort {
+ display: inline-flex;
+ align-items: center;
+}
+.article.have-img .article-vs {
+ display: flex;
+}
+
+
+.article.no-img,.article.no-bg-img,.article.no-bg-img .article-info, .article.no-bg-img .article-description, .article.no-bg-img .article-title {
+ background-color: var(--bs-white);
+ color: var(--bs-dark);
+ text-shadow: unset;
+}
+
+.article.have-img.no-bg-img .article-img{
+ margin: 0.75rem 0 0.75rem 0.75rem;
+ border-radius: var(--radius);
+ overflow: hidden;
+}
+.article.have-img.no-bg-img.flex-row-reverse .article-img{
+ margin: 0.75rem 0.75rem 0.75rem 0;
+}
+.article.no-img .article-info, .article.no-img .article-description, .article.no-img .article-title {
+ letter-spacing: 0.06rem;
+}
+.article.no-img .article-time svg, .article.no-img .article-views svg, .article.no-img .article-sort svg,.article.no-bg-img .article-time svg, .article.no-bg-img .article-views svg, .article.no-bg-img .article-sort svg {
+ color: var(--bs-primary);
+}
+.article.no-img .article-title:hover {
+ color: var(--bs-primary);
+}
+
+.article.no-img .article-ctx {
+ padding: 2rem;
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ flex-direction: column;
+ z-index: 2;
+}
+.article.no-img .article-title {
+ font-size: 1.7rem;
+ -webkit-transition: 0.18s ease-out;
+ transition: 0.18s ease-out;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 1;
+ overflow: hidden;
+ word-break: break-all;
+}
+.article.no-img .article-info {
+ font-size: 0.5rem;
+ display: flex;
+ justify-content: space-between;
+}
+.article.no-img .article-description {
+ font-weight: 200;
+ line-height: 1.8rem;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ -webkit-line-clamp: 3;
+ min-height: 5.375rem;
+}
+.article.no-img .article-time, .article.no-img .article-views, .article.no-img .article-sort {
+ display: inline-flex;
+ align-items: center;
+}
+.article.no-img .article-vs {
+ display: flex;
+}
+.article.no-bg-img:hover .article-img img{
+transform: scale(1.05);
+}
+.article.have-img:hover .article-img img{
+ transform: scale(1.05) rotate(1deg);
+}
+
+.article.have-img .article-img.img-left {
+ clip-path: polygon(0 0, 94% 0%, 100% 100%, 0% 100%);
+ margin: 0;
+ border-radius: 0;
+}
+
+.article.have-img .article-img.img-right {
+ clip-path: polygon(0 0, 100% 0%, 94% 100%, 0% 100%);
+ margin: 0;
+ border-radius: 0;
+}
+
+.article.have-img.flex-row-reverse .article-img.img-left {
+ clip-path: polygon(0 0%, 100% 0%, 100% 100%, 6% 100%);
+ margin: 0;
+ border-radius: 0;
+}
+
+.article.have-img.flex-row-reverse .article-img.img-right {
+ clip-path: polygon(6% 0, 100% 0%, 100% 100%, 0% 100%);
+ margin: 0;
+ border-radius: 0;
+}
+pre::-webkit-scrollbar{
+ height: 6px;
+}
+
+code::-webkit-scrollbar{
+ height: 6px;
+}
+::-webkit-scrollbar-corner { background: unset; }
+.hljs {
+ display: block;
+ background: #1E1E1E;
+ color: #DCDCDC;
+ line-height: 1.5;
+ max-height: 25rem;
+ border-radius: var(--radius);
+ overflow: auto;
+ padding-top: 2.5rem;
+}
+.hljs-ln-n:before {
+ content: attr(data-line-number);
+}
+.hljs::before{
+ content: " ";
+ position: absolute;
+ border-radius: 50%;
+ background: #fc625d;
+ width: 0.6875rem;
+ height: 0.6875rem;
+ left: 1.375rem;
+ top: .9rem;
+ box-shadow: 1.25rem 0 #fdbc40, 2.5rem 0 #35cd4b;
+ z-index: 2;
+}
+.hljs-ln{
+ margin: 1rem .5rem;
+}
+.hljs-ln-numbers {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ text-align: center;
+ color: #ccc;
+ border-right: 1px solid #CCC;
+ vertical-align: top;
+
+}
+.hljs .hljs-ln td{
+ padding:0 10px;
+}
+.hljs-ln-code {
+ padding-left: 10px;
+}
+.hljs-keyword,
+.hljs-literal,
+.hljs-symbol,
+.hljs-name {
+ color: #569CD6;
+}
+.hljs-link {
+ color: #569CD6;
+ text-decoration: underline;
+}
+
+.hljs-built_in,
+.hljs-type {
+ color: #4EC9B0;
+}
+
+.hljs-number,
+.hljs-class {
+ color: #B8D7A3;
+}
+
+.hljs-string,
+.hljs-meta-string {
+ color: #D69D85;
+}
+
+.hljs-regexp,
+.hljs-template-tag {
+ color: #9A5334;
+}
+
+.hljs-subst,
+.hljs-function,
+.hljs-title,
+.hljs-params,
+.hljs-formula {
+ color: #DCDCDC;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #57A64A;
+ font-style: italic;
+}
+
+.hljs-doctag {
+ color: #608B4E;
+}
+
+.hljs-meta,
+.hljs-meta-keyword,
+.hljs-tag {
+ color: #9B9B9B;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #BD63C5;
+}
+
+.hljs-attr,
+.hljs-attribute,
+.hljs-builtin-name {
+ color: #9CDCFE;
+}
+
+.hljs-section {
+ color: gold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+
+
+.hljs-bullet,
+.hljs-selector-tag,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #D7BA7D;
+}
+
+.hljs-addition {
+ background-color: #144212;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #600;
+ display: inline-block;
+ width: 100%;
+}
+.post-ctx,.post-comment {
+ border: 1px solid #e9ecef;
+ background-color: var(--bs-white);
+ min-height: 10rem;
+ border-radius: var(--radius);
+ color: var(--bs-dark);
+ padding: 2rem;
+ word-break: break-all;
+}
+.post-noimg-nav .post-info{
+ margin: .85rem 2px 0 2px;
+ letter-spacing: 1px;
+ font-size: .7rem;
+}
+.post-nav,.post-noimg-nav {
+ font-size: .85rem;
+ display: flex;
+ align-items: center;
+ font-weight: 200;
+}
+.post-nav>.item+.item::before {
+ display: inline-block;
+ padding:0 .5rem;
+ color: #b5b5b5;
+ content: "/";
+}
+.post-nav svg ,.post-noimg-nav svg,.card-style-footer svg{
+ color: var(--bs-primary);
+}
+#post{
+ line-height: 2.3rem;
+ letter-spacing: .3px;
+ font-family: var(--bs-font-sans-serif);
+}
+#post img{
+ max-width: 100%;
+}
+#post code:not(.hljs){
+ border-radius: var(--radius);
+ background-color: var(--bs-primary_opacity_1);
+ color: var(--bs-primary);
+ font-family: initial;
+ padding: 0.25rem 0.5rem 0.25rem;
+}
+.hljs-codeblock{
+ position: relative;
+ max-height: 25rem;
+ overflow: unset;
+ border-radius:var(--radius);
+}
+.hljs-control{
+ position: absolute;
+ top: 0;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ transition: all .2s ease;
+ white-space: nowrap;
+ width: 100%;
+ height: 2.5rem;
+ background-color: var(--bs-dark);
+ border-top-left-radius: 6px;
+ border-top-right-radius: 6px;
+}
+.hljs-codeblock:hover .hljs-control>[type=button]{
+ opacity: 1;
+}
+.hljs-control>[type=button]:nth-child(2){
+ position: absolute;
+ right: 1rem;
+ opacity: 0;
+}
+.hljs-control>[type=button]:nth-child(1){
+ position: absolute;
+ right: 3rem;
+ opacity: 0;
+}
+.hljs-control-toggle-break-line,.hljs-control-copy{
+ display: inline-block;
+ opacity: .8;
+ transition: all .2s ease;
+ cursor: pointer;
+}
+.toastify.info{
+ align-items: center;
+display: inline-flex;
+}
+.toastify.info svg{
+ margin-right: .5rem;
+}
+#TOC-btn {
+ position: fixed;
+ right: 1rem;
+ background-color: var(--bs-white);
+ bottom: 50%;
+ border-radius: 6px;
+ z-index: 10;
+ writing-mode: tb;
+ cursor: pointer;
+}
+
+#TOC-btn:hover .TOC-ctx {
+ visibility: visible;
+ opacity: 1;
+ transform: scaleX(-1);
+}
+
+#TOC-btn svg {
+ vertical-align: baseline;
+}
+
+.TOC-ctx {
+ min-height: 18rem;
+ position: absolute;
+ left: -5px;
+ top: 0;
+ box-shadow: 0 4px 8px rgba(31, 45, 61, .2);
+ background: #fff;
+ padding: .75rem;
+ border-radius: .5rem;
+ transform-origin: 0 -5px;
+ transform: scaleX(0);
+ opacity: 0;
+ visibility: hidden;
+ transition: .25s;
+ max-height: 22rem;
+ overflow-y: auto;
+}
+
+.TOC-text {
+ transform: scaleX(-1);
+}
+.toc-list{
+ margin: 0;
+ padding-left: 10px;
+ list-style-type: none;
+ writing-mode: horizontal-tb;
+ line-height: 2.1;
+}
+.toc-list-item{
+ width: 14rem;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 1;
+ overflow: hidden;
+ word-break: break-all;
+}
+.toc-list-item a{
+ color: currentColor;
+ text-decoration: none;
+}
+.is-active-li>a {
+ color: var(--bs-primary);
+}
+.is-active-link::before {
+ content: "";
+ background-color: var(--bs-primary_opacity_1);
+ display: block;
+ height: 2.1rem;
+ left: 0;
+ position: absolute;
+ width: 100%;
+ border-left: 2px solid var(--bs-primary);
+ z-index: -1;
+ box-sizing: border-box;
+ border-radius: 4px;
+}
+.is-collapsible {
+ max-height: 40rem;
+ overflow: hidden;
+ transition: all 300ms ease-in-out;
+}
+.is-collapsed {
+ max-height: 0;
+}
+#post img.emoji,img.emoji{
+ width: auto;
+ height: 2rem;
+}
+#post h1::before, #post h2::before, #post h3::before, #post h4::before, #post h5::before, #post h6::before {
+ display: block;
+ content: " ";
+ height: 4rem;
+ margin-top: -4rem;
+ visibility: hidden;
+ z-index:-1
+}
+#post h1 {
+ font-size: 2rem;
+ margin-bottom: .58rem;
+ margin-top: .58rem;
+ line-height: 1
+}
+
+#post h2 {
+ font-size: 1.6rem;
+ margin-bottom: .875rem;
+ margin-top: 1.75rem;
+ line-height: 1.1;
+}
+
+#post h3 {
+ font-size: 1.3rem;
+ margin-bottom: 1.07692rem;
+ margin-top: 1.07692rem
+}
+
+#post h4 {
+ font-size: 1.2rem;
+ margin-bottom: 1.16667rem;
+ margin-top: 1.16667rem
+}
+
+#post h5 {
+ font-size: 1.1rem;
+ margin-bottom: 1.27273rem;
+ margin-top: 1.27273rem
+}
+
+#post h6 {
+ font-size: 1rem;
+ margin-bottom: 1.4rem;
+ margin-top: 1.4rem
+}
+
+#post table:not(.hljs-ln) {
+ width: 100%
+}
+
+#post table pre {
+ white-space: pre-wrap
+}
+
+#post th:not(.hljs-ln-line), #post td:not(.hljs-ln-line) {
+ font-size: 1em;
+ padding: .7em;
+ border: 1px solid #e6e6e6;
+ line-height: 1.4
+}
+
+#post thead tr, #post tfoot tr {
+ background-color: #f5f5f5
+}
+#post th:not(.hljs-ln-line)[align="center"]{
+ text-align: center;
+}
+
+#post thead th, #post thead td, #post tfoot th, #post tfoot td {
+ font-size: .9em;
+ padding: .77778em
+}
+
+#post thead th code, #post thead td code, #post tfoot th code, #post tfoot td code {
+ background-color: #fff
+}
+
+#post table:not(.hljs-ln) tbody tr {
+ background-color: #fff
+}
+.next{
+ text-align: center;
+}
+
+.comment-card {
+ padding-top: 1.25em;
+ position: relative;
+ display: block;
+ scroll-margin-top: 4rem;
+}
+.comment-card .comment-info {
+ overflow: hidden;
+ padding-bottom: .5em;
+ border-bottom: 1px dashed #f5f5f5;
+}
+
+.comment-card .comment-head {
+ line-height: 1.5;
+ margin-top: 0;
+ display: inline-flex;
+ align-items: center;
+}
+.comment-card .comment-info .comment-meta {
+ line-height: 1;
+ position: relative;
+ display: flex;
+ justify-content: space-between;
+}
+.comment-card .comment-head .comment-nick {
+ position: relative;
+ font-size: .875em;
+ font-weight: 500;
+ margin-right: .4em;
+ cursor: pointer;
+ text-decoration: none;
+ display: inline-block;
+}
+.comment-card.comment-parent:after{
+ padding-top:100px;
+ margin-top:-100px;
+}
+.comment-reply-link a{
+ font-size: .85rem;
+ color: inherit;
+ text-decoration: none;
+ display: inline-flex;
+ align-items: center;
+}
+.comment-system {
+ padding: .2em .5em;
+ font-size: .75rem;
+ border-radius: .2em;
+ margin-right: .3em;
+ color: #b3b3b3;
+}
+.comment-system svg{
+ width: .75rem;
+ height: .75rem;
+ margin-right: 3px;
+}
+.comment-card.comment-parent:not(.comment-child)>.comment-quote {
+ padding-left: 3rem;
+ border-left: 1px dashed hsla(0,0%,93%,.5);
+}
+ol.comment-list{
+ padding: unset;
+}
+.comment-card.comment-child{
+ padding-top: unset;
+}
+.comment-card .comment-avatar {
+ width: 3.125em;
+ height: 3.125em;
+ float: left;
+ border-radius: 50%;
+ margin-right: .7525em;
+ border: 1px solid #f5f5f5;
+ padding: .125em;
+}
+.comment-quote .comment-list>.comment-card.comment-child .comment-avatar {
+ width: 2.225em;
+ height: 2.225em;
+}
+.comment-card .comment-info .comment-time {
+ font-size: .75em;
+ margin-right: .875em;
+ color: #b3b3b3;
+}
+.comment-card .comment-info .comment-meta .comment-replay {
+ font-size: .8125em;
+ color: var(--bs-primary);
+ cursor: pointer;
+ float: right;
+}
+.comment-card .comment-content {
+ word-wrap: break-word;
+ word-break: break-all;
+ font-size: .875em;
+ line-height: 2;
+ position: relative;
+ margin-bottom: .75em;
+ padding-top: .625em;
+}
+.comment-card:last-child .comment-info {
+ border-bottom: none;
+}
+.comment-input-warp {
+ border: 1px solid #f0f0f0;
+ border-radius: var(--radius);
+ margin-bottom: 10px;
+ overflow: hidden;
+ position: relative;
+ padding: 0 10px 10px 10px;
+}
+
+.comment-input {
+ background: transparent;
+ border: none;
+ resize: none;
+ outline: none;
+ max-width: 100%;
+ font-size: .775em;
+ padding: .75rem 1rem;
+ border-bottom: 1px dashed #dedede;
+}
+#subheading .post-info{
+ font-size: 1rem;
+ font-weight: 200;
+ margin: 0 .5rem;
+ display: inline-flex;
+ align-items: center;
+}
+.comment-edit {
+ position: relative;
+ padding-top: 10px;
+}
+
+.comment-textarea {
+ width: 100%;
+ min-height: 8.75em;
+ font-size: .875em;
+ background: transparent;
+ resize: vertical;
+ -webkit-transition: all .25s ease;
+ transition: all .25s ease;
+ border: none;
+ padding: .25rem;
+}
+
+.comment-input-warp label:focus-within {
+ border-bottom-color: var(--bs-danger);
+}
+
+#cancel-comment-reply-link {
+ display: inline-flex !important;
+ align-items: end;
+ color: var(--bs-primary);
+}
+
+
+.OwO {
+ position: relative;
+ user-select: none;
+}
+.emoji{
+ width: auto;
+ height: 2rem;
+}
+#btnParse{
+ cursor: pointer;
+}
+.OwO .OwO-body::-webkit-scrollbar {
+ width: 6px;
+ height: 6px;
+}
+
+.OwO .OwO-body::-webkit-scrollbar-track {
+ border-radius: 3px;
+ background: rgba(0, 0, 0, 0.06);
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.08);
+}
+
+.OwO .OwO-body::-webkit-scrollbar-thumb {
+ border-radius: 3px;
+ background: rgba(0, 0, 0, 0.12);
+ box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2);
+}
+
+.OwO-body {
+ max-height: 0px;
+ overflow: hidden;
+ font-size: 0;
+ text-align: left;
+ transition: .5s max-height;
+ transform: translateZ(0);
+}
+
+.OwO-open .OwO-body {
+ max-height: 200px !important;
+ margin: 10px 0 !important;
+ transition: .5s max-height;
+ overflow-y: auto;
+ transform: translateZ(0);
+}
+.OwO.OwO-open .OwO-logo {
+ border-radius: 4px 4px 0 0;
+ border-bottom: none;
+ color: #444;
+}
+
+/*.OwO.OwO-open .OwO-body {
+ display: block;
+}*/
+
+.OwO.OwO-up .OwO-body {
+ top: inherit;
+ bottom: 21px;
+ border-radius: 4px 4px 4px 0;
+}
+
+.OwO.OwO-up .OwO-body .OwO-bar .OwO-packages li:nth-child(1) {
+ border-radius: 0;
+}
+
+.OwO.OwO-up.OwO-open .OwO-logo {
+ border: 1px solid #ddd;
+ border-radius: 0 0 4px 4px;
+ border-top: none;
+}
+
+
+
+.OwO .OwO-body {
+
+ width: 400px;
+ background: #fff;
+
+ top: 21px;
+ border-radius: 0 4px 4px 4px;
+}
+
+.OwO .OwO-body .OwO-items {
+ user-select: none;
+ display: none;
+ padding: 10px;
+ margin: 0;
+ /* overflow: scroll; */
+ font-size: 0;
+}
+
+.OwO .OwO-body .OwO-items .OwO-item {
+ list-style-type: none;
+ background: #f7f7f7;
+ padding: 5px 10px;
+ border-radius: 5px;
+ display: inline-block;
+ font-size: 12px;
+ line-height: 14px;
+ margin: 0 10px 12px 0;
+ cursor: pointer;
+ transition: 0.3s;
+}
+
+.OwO .OwO-body .OwO-items .OwO-item:hover ,.dark-mode .OwO .OwO-body .OwO-items .OwO-item:hover{
+ transform: scale(1.3);
+ background: unset;
+}
+
+.OwO .OwO-body .OwO-items-emoji .OwO-item {
+ font-size: 20px;
+ line-height: 19px;
+}
+
+.OwO .OwO-body .OwO-items-image .OwO-item {
+ max-width: calc(25% - 10px);
+ box-sizing: border-box;
+}
+
+.OwO .OwO-body .OwO-items-image .OwO-item img {
+ max-width: 100%;
+ height: 2rem;
+}
+
+.OwO .OwO-body .OwO-items-show {
+ display: block;
+}
+
+.OwO .OwO-body .OwO-bar {
+ text-align: center;
+}
+
+.OwO .OwO-body .OwO-bar .OwO-packages {
+ margin: 0;
+ padding: 0;
+ font-size: 0;
+}
+
+.OwO .OwO-body .OwO-bar .OwO-packages li {
+ list-style-type: none;
+ display: inline-block;
+ line-height: 30px;
+ font-size: 14px;
+ padding: 0 10px;
+ cursor: pointer;
+ margin-right: 3px;
+ border-radius: 100px;
+}
+
+
+
+.OwO .OwO-body .OwO-bar .OwO-packages li:hover {
+ background: #eee;
+}
+
+.OwO .OwO-body .OwO-bar .OwO-packages .OwO-package-active {
+ background: #eee;
+ transition: 0.3s;
+}
+.All_Pagination {
+ padding: 0;
+ text-align: center;
+ width: 100%;
+ margin-bottom: 2rem;
+}
+.All_Pagination li a {
+ text-decoration: none;
+ display: inline-block;
+ transition: all .4s;
+ height: 40px;
+ line-height: 40px;
+ margin: 10px 5px 0;
+ padding: 0;
+ text-align: center;
+ width: 40px;
+ color: var(--bs-dark);
+ border-radius: 6px;
+}
+.All_Pagination li {
+ display: inline;
+ margin: 0;
+ padding: 0;
+}
+.All_Pagination ul {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ vertical-align: baseline;
+ background: 0 0;
+}
+.All_Pagination .active1 a, .All_Pagination li a:hover {
+ background-color: var(--bs-primary);
+ color: var(--bs-white) !important;
+}
+#comments,#comment-list{
+ scroll-margin-top:3rem ;
+}
+.photos {
+ width: 100%;
+ max-width: 100%;
+ display: flex;
+ position: relative;
+}
+.photos a {
+ display: block;
+ flex: 1;
+ border: none;
+ margin: 3px;
+}
+.progress {
+ display: flex;
+ height: 1rem;
+ overflow: hidden;
+ font-size: .75rem;
+ background-color: #e9ecef;
+ border-radius: .25rem;
+ margin: 1rem 0;
+}
+.accordion,.tabs {
+ margin: 1rem 0;
+ padding: 0;
+ list-style: none;
+}
+.accordion-title{
+ padding: 0.25rem 1rem;
+}
+.tabs .nav-link{
+ padding: .4rem;
+ flex: 1;
+ text-align: center;
+ background-color: var(--bs-primary_opacity_1);
+ border-radius: unset;
+}
+.tabs .nav-link:first-of-type:not(:last-of-type){
+ border-radius: var(--radius) 0 0 0;
+}
+
+.tabs .nav-link:last-of-type:not(:first-of-type){
+ border-radius: 0 var(--radius) 0 0;
+}
+.tabs .tab-content>.tab-pane{
+ margin: 1rem;
+ line-height: 2.3rem;
+ letter-spacing: .3px;
+}
+.tabs{
+ border: 1px solid #dde2e6;
+ border-radius: var(--radius);
+}
+.tabs .nav-tabs,.tabs .nav-tabs .nav-link,.tabs .nav-tabs .nav-link.active,.tabs .nav-tabs .nav-link:hover{
+ border: unset;
+}
+blockquote {
+ padding: 10px 20px;
+ margin: 0 0 20px;
+ border-left: 5px solid var(--bs-secondary);
+ background: var(--bs-light);
+ border-radius: var(--radius);
+}
+blockquote p{
+ margin: 0;
+}
+
+#post [role=button]{
+ margin-bottom: 1rem;
+}
+.bilibili{
+ position: relative;
+ width: 100%;
+ height: 0; /*高度设置这里无效,设置为0,用padding撑开div*/
+ padding-bottom: 75%; /*68%到80%都可以*/
+}
+.bilibili iframe {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ left: 0;
+ top: 0;
+}
+.reply2view{
+ border: 0;
+ padding: 2rem;
+ text-align: center;
+ font-weight: 500;
+ background: #f0f0f0 repeating-linear-gradient(-45deg, #fff, #fff 1.125rem, transparent 1.125rem, transparent 2.25rem);
+}
+darkb-text, darkb-text * {
+ background-color: #12121c;
+ color: #12121c;
+ text-shadow: none;
+ transition: color 0.3s;
+}
+darkb-text:hover, darkb-text:active {
+ color: var(--bs-white);
+}
+blur-text, blur-text * {
+ text-shadow: rgba(0, 0, 0, 0.701961) 0px 0px 10px;
+ color: transparent;
+}
+.dark-mode blur-text,.dark-mode blur-text * {
+ text-shadow: rgba(255, 255, 255, 0.702) 0px 0px 10px;
+ color: transparent;
+}
+rainbow-text, rainbow-text * {
+ background-image: linear-gradient( to left, orangered, orange, gold, lightgreen, cyan, dodgerblue, mediumpurple, hotpink, orangered);
+ background-size: 110vw;
+ -webkit-background-clip: text;
+ background-clip: text;
+ color: transparent;
+ -webkit-animation: rainbowan 60s linear infinite;
+ animation: rainbowan 60s linear infinite;
+}
+@-webkit-keyframes rainbowan {
+ to {
+ background-position: -2000vw;
+ }
+}
+
+@keyframes rainbowan {
+ to {
+ background-position: -2000vw;
+ }
+}
+
+#echarts-tags,#echarts-sort,#echarts-post{
+ min-width: 100%;
+ min-height: 18rem;
+}
+.card-counter{
+ margin: 5px;
+ padding: 20px 10px;
+ background-color: #fff;
+ height: 6.5rem;
+ border-radius: var(--radius);
+ transition: .3s linear all;
+ position: relative;
+}
+
+.card-counter.primary{
+ background-color: var(--bs-primary_opacity_9);
+ color: #FFF;
+}
+
+.card-counter.danger{
+ background-color: var(--bs-danger_opacity_9);
+ color: #FFF;
+}
+
+.card-counter.success{
+ background-color: var(--bs-success_opacity_9);
+ color: #FFF;
+}
+
+.card-counter.info{
+ background-color:var(--bs-info_opacity_9);
+ color: #FFF;
+}
+
+.card-counter svg{
+ width: 5rem;
+ height: 5rem;
+ opacity: 0.2;
+}
+
+.card-counter .count-numbers{
+ position: absolute;
+ right: 35px;
+ top: 20px;
+ font-size: 32px;
+ display: block;
+}
+
+.card-counter .count-name{
+ position: absolute;
+ right: 35px;
+ top: 65px;
+ font-style: italic;
+ text-transform: capitalize;
+ opacity: 0.5;
+ display: block;
+ font-size: 18px;
+}
+.archives-list{
+ margin-top: 1rem;
+ line-height: 2;
+}
+.archives-list a{
+ transition: all .4s;
+}
+.archives-list a:hover{
+color: var(--bs-primary);
+ background-color: var(--bs-light);
+ border-radius: var(--radius);
+}
+.timeline ol{
+ list-style:none;
+}
+.timeline p,#footer p{
+ margin: 0;
+}
+ul.timeline {
+ list-style-type: none;
+ position: relative;
+ padding-left: 1.5rem;
+}
+ul.timeline:before {
+ content: ' ';
+ background: var(--bs-primary_opacity_2);
+ display: inline-block;
+ position: absolute;
+ left: .4rem;
+ width: 3px;
+ height: 100%;
+}
+ul.timeline li {
+ margin-bottom: 1.5rem;
+ padding-left: .5rem;
+}
+ul.timeline li:before {
+ content: ' ';
+ background: white;
+ display: inline-block;
+ position: absolute;
+ border-radius: 50%;
+ border: 3px solid var(--bs-primary);
+ left: 0;
+ width: 1rem;
+ height: 1rem;
+}
+.timeline-text{
+ background: var(--bs-light);
+ padding: 1rem;
+ border-radius: var(--radius);
+ line-height: 1.5rem;
+ letter-spacing: .3px;
+ font-size: 0.875rem;
+}
+.timeline-text img:not(.emoji),.photos img{
+ height: auto;
+ max-width: 100%;
+}
+#footer a{
+ text-decoration: none;
+ color: var(--bs-primary);
+}
+#footer{
+ line-height: 1.8rem;
+ letter-spacing: 0.3px;
+}
+#footer .small{
+ font-size: .7rem;
+}
+#collapseMoney img{
+ width: 240px;
+}
+.friends-img {
+ width: 4rem;
+ height: 4rem;
+ border-radius: 100%;
+ border: 1px solid var(--bs-dark);
+}
+
+.friends-card {
+ display: flex;
+ width: auto;
+ align-items: center;
+ margin-bottom: 1rem;
+ padding: .75rem;
+ border-radius:var(--radius);
+ transition: all 0.3s;
+}
+.friends-card:hover{
+ background-color: var(--bs-primary_opacity_1);
+}
+
+.friends-text ,.friends-name{
+ overflow: hidden;
+ display: -webkit-box;
+ text-overflow: ellipsis;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ white-space: pre-line;
+}
+.friends-text{
+ font-size: 80%;
+}
+
+.card-style {
+ color: var(--bs-dark);
+ margin-bottom: 1.9rem;
+}
+
+.card-style-img {
+ border-top-left-radius: 6px;
+ border-top-right-radius: 6px;
+ object-fit: cover;
+ background-position-x: center;
+ background-position-y: center;
+ background-size: cover;
+ overflow: hidden;
+ width: 100%;
+ height: 10rem;
+}
+
+.card-style-tags {
+ font-size: 12px;
+ position: relative;
+ margin: 0 1rem .5rem;
+}
+
+.card-style-tags-link::before {
+ content: " ";
+ position: absolute;
+ border-radius: 50%;
+ background: var(--bs-primary);
+ width: 0.6875rem;
+ height: 0.6875rem;
+ left: -1rem;
+ top: 2px;
+}
+
+.card-style-title {
+ min-height: 48px;
+ max-height: 48px;
+ font-size: 1rem;
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -webkit-box-orient: vertical;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+}
+
+.card-style-body {
+ padding: 1rem;
+ position: relative;
+}
+
+.card-style-footer {
+ border-top: 1px solid rgba(0, 0, 0, .125);
+ padding: .5rem 1rem;
+ display: flex;
+ font-size: 12px;
+ justify-content: space-between;
+}
+.card-style-box{
+ transition: all .3s cubic-bezier(.215, .61, .355, 1);
+}
+.card-style-box:hover{
+ transform: translateY(-5px);
+ box-shadow: 0 34px 20px -24px rgba(136, 161, 206, 0.3);
+}
+.card-style>.card{
+ border-radius: var(--radius);
+}
+.copyright{
+ background-color: var(--bs-light);
+ line-height: 1.5rem;
+ border-radius: var(--radius);
+ padding: 1rem;
+}
+.copyright-text{
+ font-size: 12px;
+ margin-left: .5rem;
+}
+#postTop{
+ margin-bottom: 2rem;
+ position: relative;
+}
+#postTop .carousel-item{
+ height: 14.5rem;
+}
+#postTop .carousel-caption{
+ z-index: 2;
+}
+#postTop .carousel-item img{
+ height: 100%;
+ -o-object-fit: cover;
+ object-fit: cover;
+ background-position-x: center;
+ background-position-y: center;
+ background-size: cover;
+ width: 100%;
+ border-radius: var(--radius);
+ filter: brightness(0.7);
+}
+.carousel-item>a>* {
+ opacity: 0;
+ transform: translateY(2rem);
+ transition: all .2s;
+}
+
+.carousel-item.active>a>*{
+ opacity: 1;
+ transform: none;
+}
+
+.carousel-item>a>*:nth-child(1) {
+ transition-delay: 0.2s;
+}
+
+.carousel-item>a>*:nth-child(2) {
+ transition-delay: 0.3s;
+}
+.carousel-item h4{
+ font-size: 2rem;
+}
+/*#postTop .carousel-inner::after {
+ content: '';
+ width: 100%;
+ height: 60%;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ background: linear-gradient(to top, #000000, transparent);
+ z-index: 0;
+ border-bottom-left-radius: 6px;
+ border-bottom-right-radius: 6px;
+}
+#postTop .carousel-mask{
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ background: rgba(0, 0, 0, .35);
+ z-index: 1;
+ border-radius: 6px;
+}*/
+.top-post-info{
+ margin: .8rem 0;
+}
+.top-post-info>.post-info{
+ font-size: 12px;
+ font-weight: 200;
+ margin: 0 .2rem;
+ display: inline-flex;
+ align-items: center;
+}
+.top-post-info svg{
+ width: 14px;
+ height: 14px;
+}
+@media screen and (max-width: 768px) {
+ .article.have-img:hover .article-img img{
+ transform: unset;
+ }
+ .article.no-img .article-description {
+ -webkit-line-clamp: 2;
+ min-height: unset;
+ }
+ .article.no-img .article-ctx {
+ padding: 1.25rem;
+ }
+ .article.no-img .article-title {
+ font-size: 1.25rem;
+ }
+ .article.have-img .article-img.img-left {
+ clip-path: unset;
+ }
+
+ .article.have-img .article-img.img-right {
+ clip-path: unset;
+ display: flex;
+ align-items: center;
+ margin: 0.5rem 0 0.5rem 0.5rem;
+ }
+
+ .article.have-img.flex-row-reverse .article-img.img-left {
+ clip-path: unset;
+ display: flex;
+ align-items: center;
+ margin: 0.5rem 0.5rem 0.5rem 0;
+ }
+
+ .article.have-img.flex-row-reverse .article-img.img-right {
+ clip-path: unset;
+ display: flex;
+ align-items: center;
+ margin: 0.5rem 0.5rem 0.5rem 0;
+ }
+}
+@media screen and (min-width: 576px) and (max-width: 768px) {
+ .article.have-img:hover .article-img img{
+ transform: unset;
+ }
+ .article:not(.card-style) {
+ height: 10.5rem;
+ background-color: var(--bs-white);
+ color: var(--bs-dark);
+ }
+ .article.have-img .article-img.img-left {
+ clip-path: unset;
+ }
+
+ .article.have-img .article-img.img-right {
+ clip-path: unset;
+ }
+
+ .article.have-img.flex-row-reverse .article-img.img-left {
+ clip-path: unset;
+ }
+
+ .article.have-img.flex-row-reverse .article-img.img-right {
+ clip-path: unset;
+ }
+}
+@media (max-width: 576px) {
+
+ .dark-mode .article:not(.card-style){
+ background-color:#1f1b24;
+ }
+ .top-post-info>.post-info:last-child,.top-post-info>.post-info:nth-child(3){
+ display: none;
+ }
+ #postTop .carousel-item {
+ height: 10rem;
+ }
+ .carousel-caption{
+ padding: 0;
+ right: 10%;
+ left: 10%;
+ }
+
+ .article:not(.card-style) {
+ height: 8.5rem;
+ background-color: var(--bs-white);
+ color: var(--bs-dark);
+ margin-bottom: 1rem;
+ }
+ [data-bgimg=no] {
+ margin-top: 5rem;
+ }
+ .article.no-img {
+ height: 10.5rem;
+ }
+ .article.no-img .article-views,.post-noimg-nav>.post-info:last-child,.comment-system>span {
+ display: none;
+ }
+ .All_Pagination li a {
+ height: 30px;
+ line-height: 30px;
+ margin: 10px 2px 0;
+ width: 30px;
+ }
+ .post-ctx, .post-comment{
+ padding: 1rem;
+ }
+ #content:not(.cardMode){
+ padding-right: 0;
+ padding-left: 0;
+ min-height: unset;
+ }
+ .comment-system{
+ margin: 0 5px;
+ padding:0;
+ }
+ .comment-system svg{
+ width: 1rem;
+ height: 1rem;
+ margin-right: 0;
+ }
+ .comment-card.comment-parent:not(.comment-child)>.comment-quote{
+ padding-left: 1rem;
+ }
+ .OwO .OwO-body .OwO-items-image .OwO-item {
+ max-width: unset;}
+ .hero-box{
+ height: 20rem !important;
+ }
+ .has-img{
+ padding-left: 1rem;
+ padding-right: 1rem;
+ }
+ .has-img svg{
+ color: var(--bs-white);
+ }
+ #heading{
+ font-size: 1.5rem;
+ padding: 0 1rem;
+ }
+ #subheading .post-info{
+ font-size: 12px;
+ }
+ .card-style-body {
+ padding: 0.5rem;}
+ .card-style-img{
+ height: 8rem;
+ }
+ .card-style-title {
+ min-height: 20px;
+ max-height: 20px;
+ font-size: 14px;
+ -webkit-line-clamp: 1;
+ }
+ .card-style {
+ margin-bottom: 1rem;
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+ .waves-area .waves-svg {
+ height: 3rem;
+ }
+ #postTop ,#header{
+ margin-bottom: 1rem;
+ }
+ .carousel-item h4 {
+ font-size: 1.5rem;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 1;
+ overflow: hidden;
+ word-break: break-all;
+ }
+}
+@media screen and (min-width: 576px) and (max-width: 768px) {
+ .article.have-img .article-description {
+ min-height: unset;
+ }
+ .article.have-img .article-ctx {
+ padding: 1.25rem;
+ }
+ .article.have-img .article-vs {
+ display: flex;
+ }
+ .article.have-img .article-views, .article.have-img .blur-img {
+ display: none;
+ }
+ .article.have-img .article-info, .article.have-img .article-description, .article.have-img .article-title {
+ text-shadow: unset;
+ }
+ .article.have-img .article-description {
+ -webkit-line-clamp: 2;
+ }
+ .article.have-img .article-title {
+ font-size: 1.25rem;
+ }
+ .article.have-img .article-img img ,.article.have-img.no-bg-img .article-img img{
+ border-radius: var(--radius);
+ }
+ .article.have-img.flex-row-reverse .article-img{
+ margin: 0.75rem 0.75rem 0.75rem 0;
+ }
+ .article.have-img .article-img {
+ margin: 0.75rem 0 0.75rem 0.75rem;
+ }
+ .article.have-img.no-bg-img.flex-row-reverse .article-img{
+ margin: 0.75rem 0.75rem 0.75rem 0;
+ }
+ .article.have-img.no-bg-img .article-img {
+ margin: 0.75rem 0 0.75rem 0.75rem;
+ }
+}
+@media (max-width: 576px) {
+ .article.have-img .article-img ,.article.have-img.no-bg-img .article-img{
+ clip-path: unset;
+ display: flex;
+ align-items: center;
+ margin: 0.5rem 0 0.5rem 0.5rem;
+ }
+ .article.have-img.flex-row-reverse .article-img,.article.have-img.no-bg-img.flex-row-reverse .article-img {
+ margin: 0.5rem 0.5rem 0.5rem 0;
+ }
+
+ .article.have-img .article-img img {
+ border-radius: var(--radius);
+ width: 80px;
+ height: 80px;
+ }
+ #NextButton{
+ width: auto;
+ }
+
+ .article.have-img .article-ctx {
+ padding: 1rem;
+ min-width:calc(100% - 80px - 0.5rem);
+ }
+ .article.have-img .article-title {
+ font-size: 18px;
+ font-weight: bold;
+ }
+ .article.have-img .article-info {
+ letter-spacing: unset;
+ font-size: 0.75rem;
+ flex-direction: column;
+ line-height: 1.8;
+ }
+ .article.have-img .article-vs {
+ display: flex;
+ justify-content: space-between;
+ }
+ .article.have-img .article-time, .article.have-img .blur-img {
+ display: none;
+ }
+ .article.have-img .article-description{
+ display: -webkit-box;
+ font-size: 12px;
+ line-height: unset;
+ min-height: auto;
+ }
+
+ .article.have-img .article-info, .article.have-img .article-description, .article.have-img .article-title {
+ text-shadow: unset;
+ }
+}
+/**除手机外,都会生效*/
+@media (min-width: 768px) {
+ .navbar {
+ padding: 0;
+ }
+
+ /*.mobile-right-btn{*/
+ /* display: none;*/
+ /*}*/
+}
+.Cuteen_DarkSky, .Cuteen_DarkSky:before {
+ content: "";
+ position: fixed;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ z-index: 88888888
+}
+
+.Cuteen_DarkSky {
+ background: linear-gradient(#feb8b0, #fef9db)
+}
+
+.Cuteen_DarkSky:before {
+ transition: 2s ease all;
+ opacity: 0;
+ background: linear-gradient(#4c3f6d, #6c62bb, #93b1ed)
+}
+
+.DarkMode .Cuteen_DarkSky:before {
+ opacity: 1
+}
+
+.Cuteen_DarkPlanet {
+ z-index: 99999999;
+ position: fixed;
+ left: -50%;
+ top: -50%;
+ width: 200%;
+ height: 200%;
+ -webkit-animation: CuteenPlanetMove 2s cubic-bezier(.7, 0, 0, 1);
+ animation: CuteenPlanetMove 2s cubic-bezier(.7, 0, 0, 1);
+ transform-origin: center bottom
+}
+
+@-webkit-keyframes CuteenPlanetMove {
+ 0% {
+ transform: rotate(0)
+ }
+ to {
+ transform: rotate(360deg)
+ }
+}
+
+@keyframes CuteenPlanetMove {
+ 0% {
+ transform: rotate(0)
+ }
+ to {
+ transform: rotate(360deg)
+ }
+}
+
+.Cuteen_DarkPlanet::before {
+ position: absolute;
+ left: 35%;
+ top: 40%;
+ width: 150px;
+ height: 150px;
+ border-radius: 50%;
+ content: "";
+ background: linear-gradient(#fefefe, #fffbe8)
+}
+.hero-box{
+ text-shadow: 0 0.1875rem 0.3125rem #1c1f21;
+}
+.sidebar-banner{
+ position: relative;
+}
+.sidebar-banner::after {
+ content: '';
+ width: 100%;
+ height: 40%;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ background: linear-gradient(to top, var(--bs-white), transparent);
+}
+.sidebar-box {
+ border: 1px solid #e9ecef;
+ background-color: var(--bs-white);
+ min-height: 10rem;
+ color: var(--bs-dark);
+ word-break: break-all;
+ border-radius: var(--radius);
+ margin-bottom: 1rem;
+}
+
+.sidebar-banner {
+ object-fit: cover;
+ background-position-x: center;
+ background-position-y: center;
+ background-size: cover;
+ min-height: 120px;
+ width: 100%;
+ overflow: hidden;
+ border-top-right-radius: 6px;
+ border-top-left-radius: 6px;
+}
+
+.sidebar-avatar {
+ left: 50%;
+ transform: translateX(-50%) translateY(-50%);
+ border: rgba(255, 255, 255, .4) 4px solid;
+ width: 68px;
+ height: 68px;
+ border-radius: 50%;
+}
+
+.sidebar-name {
+ padding-top: 2.5rem;
+ font-weight: bold;
+ text-align: center;
+ padding-bottom: .5rem;
+}
+
+.sidebar-info {
+ display: flex;
+ padding: 1rem;
+ border-top: 1px solid #efefef;
+}
+
+.sidebar-post-number, .sidebar-tags-number, .sidebar-categories-number {
+ width: 33%;
+ color: var(--bs-primary);
+ text-align: center;
+ letter-spacing: 1px;
+ font-size: 13px;
+ line-height: 16px;
+ font-weight: 200;
+}
+
+.sidebar-comment-avatar {
+ width: 40px;
+ height: 40px;
+ border-radius: 50%;
+}
+
+.sidebar-comment-info {
+ font-size: 12px;
+ justify-content: space-between;
+}
+
+.sidebar-comment-text {
+ font-size: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ word-break: break-all;
+}
+
+.sidebar-comment-text .emoji {
+ height: 20px;
+ width: auto;
+}
+
+.sidebar-rand-item {
+ height: 7rem;
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+ border-radius: var(--radius);
+
+}
+
+.sidebar-rand-img {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ -o-object-fit: cover;
+ object-fit: cover;
+ background-position-x: center;
+ background-position-y: center;
+ background-size: cover;
+}
+
+.sidebar-rand-info {
+ z-index: 1;
+ background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ width: 100%;
+}
+.sidebar-rand-date{
+ font-size: 12px;
+ color: white;
+}
+.sidebar-rand-title{
+ font-size: 12px;
+ color: white !important;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 1;
+ word-break: break-word;
+}
+#themeColor {
+ min-width: 12.5rem;
+ display: flex;
+}
+#themeColor label{
+ margin: 0 5px;
+}
+.carousel-caption {
+ bottom: 15%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+.btn-primary:hover {
+ color: #fff;
+ background-color: var(--bs-primary_opacity_9);
+ border-color: var(--bs-primary);
+}
+.btn-primary {
+ color: #fff;
+ background-color: var(--bs-primary);
+ border-color: var(--bs-primary);
+}
+.btn-outline-primary:hover {
+ color: #fff;
+ background-color: var(--bs-primary);
+ border-color: var(--bs-primary);
+}
+.btn-outline-primary {
+ color: var(--bs-primary);
+ border-color: var(--bs-primary);
+}
+.bg-primary {
+ background-color: var(--bs-primary)!important;
+}
+.btn-outline-blue {
+ color: var(--bs-blue);
+ border-color: var(--bs-blue);
+}
+.btn-outline-blue:hover {
+ color: #fff;
+ background-color:var(--bs-blue);
+ border-color:var(--bs-blue);
+}
+.btn-check:active+.btn-primary, .btn-check:checked+.btn-primary, .btn-primary.active, .btn-primary:active, .show>.btn-primary.dropdown-toggle {
+ color: #fff;
+ background-color: var(--bs-primary_opacity_9);
+ border-color: var(--bs-primary_opacity_9);
+}
+.dark-mode .sidebar-banner::after {
+ background: linear-gradient(to top, #1f1b24, transparent);
+}
+
+.dark-mode .hljs {
+ background: #000000;
+}
+.dark-mode #mobileAside,.dark-mode .article:not(.card-style),
+.dark-mode .form-control, .dark-mode .bg-light, .dark-mode #post table:not(.hljs-ln) tbody tr, .dark-mode .hljs-control.hljs-title {
+ background-color: #121212 !important;
+}
+.dark-mode .article:not(.card-style), .dark-mode .post-ctx, .dark-mode .post-comment {
+ border: 1px solid #121212;
+}
+.dark-mode .waves-area .parallax > use:first-child {
+ fill: rgba(0, 0, 0, 0.7);
+}
+.dark-mode .waves-area .parallax > use:nth-child(2) {
+ fill: rgba(0, 0, 0, 0.5);
+}
+.dark-mode .waves-area .parallax > use:nth-child(3) {
+ fill: rgba(0, 0, 0, 0.3);
+}
+.dark-mode tspan,.dark-mode #navMobile svg{
+ fill: rgba(255, 255, 255, 0.8);
+}
+.dark-mode .bg-blur {
+ background-color: rgba(31, 27, 36, 0.8) !important;
+}
+.dark-mode .reply2view{
+ background: #363636 repeating-linear-gradient(-45deg, #000, #000 1.125rem, transparent 1.125rem, transparent 2.25rem);
+}
+.dark-mode .aside-sort a,.dark-mode .aside-pages a,.dark-mode .archives-title,
+.dark-mode .modal-content, .dark-mode .form-control,.dark-mode #mobileAside,
+.dark-mode #TOC-btn, .dark-mode #TOC-btn svg, .dark-mode .right-btn-icon svg, .dark-mode .comment-input, .dark-mode .nav-tabs .nav-item.show .nav-link, .dark-mode .nav-tabs .nav-link.active, .dark-mode .navbar-nav svg, .dark-mode #footer p, .dark-mode .navbar-light .navbar-brand, .dark-mode .navbar-light .navbar-nav .nav-link:focus, .dark-mode .navbar-light .navbar-nav .nav-link:hover {
+ color: rgba(255, 255, 255, 0.8);
+}
+.dark-mode .card,
+.dark-mode #musicPop,.dark-mode #musicMobileBox,.dark-mode .accordion .card-body,
+.dark-mode .article.no-img,
+.dark-mode .article.no-bg-img,
+.dark-mode .article.no-bg-img .article-info,
+.dark-mode .article.no-bg-img .article-description,
+.dark-mode .article.no-bg-img .article-title,
+.dark-mode .card-style .card,
+.dark-mode .modal-content,
+.dark-mode .sidebar-box, .dark-mode .TOC-ctx, .dark-mode #footer, .dark-mode .mobile-right-btn, .dark-mode .post-ctx, .dark-mode .post-comment, .dark-mode .OwO .OwO-body, .dark-mode #TOC-btn {
+ background-color: #1f1b24 !important;
+}
+.dark-mode .progress,
+.dark-mode .accordion>.card,.dark-mode .OwO .OwO-body .OwO-bar .OwO-packages li:hover, .dark-mode .OwO .OwO-body .OwO-bar .OwO-packages .OwO-package-active, .dark-mode .OwO .OwO-body .OwO-items .OwO-item, .dark-mode .nav-tabs .nav-item.show .nav-link, .dark-mode .nav-tabs .nav-link.active, .dark-mode #post thead tr, .dark-mode #post tfoot tr {
+ background-color: #3e3e3e !important;
+}
+.dark-mode hr {
+ background-color: #909090;
+}
+ .dark-mode .tabs, .dark-mode #post th:not(.hljs-ln-line), .dark-mode #post td:not(.hljs-ln-line), .dark-mode .comment-input-warp {
+ border: 1px solid #909090;
+}
+.dark-mode #musicPop:before{
+ border-bottom: 5px solid #1f1b24;
+}
+.dark-mode #musicMobileBox:before{
+ border-top: 5px solid #fff;
+}
+
+.dark-mode .comment-card .comment-info, .dark-mode .modal-header {
+ border-bottom: 1px dashed rgba(0, 0, 0, 0.5);
+}
+.dark-mode .modal-footer, .dark-mode .sidebar-info {
+ border-top: 1px dashed rgba(0, 0, 0, 0.5);
+}
+.dark-mode .sidebar-box {
+ border: 1px solid rgba(0, 0, 0, 0.2);
+}
\ No newline at end of file
diff --git a/niege/Cuteen/static/css/bootstrap-bc216d3b93.css b/niege/Cuteen/static/css/bootstrap-bc216d3b93.css
new file mode 100644
index 0000000..c8d0242
--- /dev/null
+++ b/niege/Cuteen/static/css/bootstrap-bc216d3b93.css
@@ -0,0 +1,6 @@
+/*!
+ * Bootstrap v5.0.0-alpha1 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#28a745;--bs-teal:#20c997;--bs-cyan:#17a2b8;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#28a745;--bs-info:#17a2b8;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#343a40;--bs-success_opacity_1:rgba(40, 167, 69, 0.1);--bs-success_opacity_2:rgba(40, 167, 69, 0.2);--bs-success_opacity_3:rgba(40, 167, 69, 0.3);--bs-success_opacity_4:rgba(40, 167, 69, 0.4);--bs-success_opacity_5:rgba(40, 167, 69, 0.5);--bs-success_opacity_6:rgba(40, 167, 69, 0.6);--bs-success_opacity_7:rgba(40, 167, 69, 0.7);--bs-success_opacity_8:rgba(40, 167, 69, 0.8);--bs-success_opacity_9:rgba(40, 167, 69, 0.9);--bs-primary_opacity_1:rgba(13, 110, 253, 0.1);--bs-primary_opacity_2:rgba(13, 110, 253, 0.2);--bs-primary_opacity_3:rgba(13, 110, 253, 0.3);--bs-primary_opacity_4:rgba(13, 110, 253, 0.4);--bs-primary_opacity_5:rgba(13, 110, 253, 0.5);--bs-primary_opacity_6:rgba(13, 110, 253, 0.6);--bs-primary_opacity_7:rgba(13, 110, 253, 0.7);--bs-primary_opacity_8:rgba(13, 110, 253, 0.8);--bs-primary_opacity_9:rgba(13, 110, 253, 0.9);--bs-danger_opacity_1:rgba(220, 53, 69, 0.1);--bs-danger_opacity_2:rgba(220, 53, 69, 0.2);--bs-danger_opacity_3:rgba(220, 53, 69, 0.3);--bs-danger_opacity_4:rgba(220, 53, 69, 0.4);--bs-danger_opacity_5:rgba(220, 53, 69, 0.5);--bs-danger_opacity_6:rgba(220, 53, 69, 0.6);--bs-danger_opacity_7:rgba(220, 53, 69, 0.7);--bs-danger_opacity_8:rgba(220, 53, 69, 0.8);--bs-danger_opacity_9:rgba(220, 53, 69, 0.9);--bs-info_opacity_1:rgba(23, 162, 184, 0.1);--bs-info_opacity_2:rgba(23, 162, 184, 0.2);--bs-info_opacity_3:rgba(23, 162, 184, 0.3);--bs-info_opacity_4:rgba(23, 162, 184, 0.4);--bs-info_opacity_5:rgba(23, 162, 184, 0.5);--bs-info_opacity_6:rgba(23, 162, 184, 0.6);--bs-info_opacity_7:rgba(23, 162, 184, 0.7);--bs-info_opacity_8:rgba(23, 162, 184, 0.8);--bs-info_opacity_9:rgba(23, 162, 184, 0.9);--bs-warning_opacity_1:rgba(255, 193, 7, 0.1);--bs-warning_opacity_2:rgba(255, 193, 7, 0.2);--bs-warning_opacity_3:rgba(255, 193, 7, 0.3);--bs-warning_opacity_4:rgba(255, 193, 7, 0.4);--bs-warning_opacity_5:rgba(255, 193, 7, 0.5);--bs-warning_opacity_6:rgba(255, 193, 7, 0.6);--bs-warning_opacity_7:rgba(255, 193, 7, 0.7);--bs-warning_opacity_8:rgba(255, 193, 7, 0.8);--bs-warning_opacity_9:rgba(255, 193, 7, 0.9);--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#024dbc}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;-ms-overflow-style:scrollbar}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit;white-space:normal}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:1rem;padding-left:1rem;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex:1 0 100%;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x)/ -2);margin-left:calc(var(--bs-gutter-x)/ -2)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333%}.col-2{flex:0 0 auto;width:16.66667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333%}.col-5{flex:0 0 auto;width:41.66667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333%}.col-8{flex:0 0 auto;width:66.66667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333%}.col-11{flex:0 0 auto;width:91.66667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333%}.col-sm-2{flex:0 0 auto;width:16.66667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333%}.col-sm-5{flex:0 0 auto;width:41.66667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333%}.col-sm-8{flex:0 0 auto;width:66.66667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333%}.col-sm-11{flex:0 0 auto;width:91.66667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333%}.col-md-2{flex:0 0 auto;width:16.66667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333%}.col-md-5{flex:0 0 auto;width:41.66667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333%}.col-md-8{flex:0 0 auto;width:66.66667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333%}.col-md-11{flex:0 0 auto;width:91.66667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333%}.col-lg-2{flex:0 0 auto;width:16.66667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333%}.col-lg-5{flex:0 0 auto;width:41.66667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333%}.col-lg-8{flex:0 0 auto;width:66.66667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333%}.col-lg-11{flex:0 0 auto;width:91.66667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333%}.col-xl-2{flex:0 0 auto;width:16.66667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333%}.col-xl-5{flex:0 0 auto;width:41.66667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333%}.col-xl-8{flex:0 0 auto;width:66.66667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333%}.col-xl-11{flex:0 0 auto;width:91.66667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333%}.col-xxl-2{flex:0 0 auto;width:16.66667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333%}.col-xxl-5{flex:0 0 auto;width:41.66667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333%}.col-xxl-8{flex:0 0 auto;width:66.66667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333%}.col-xxl-11{flex:0 0 auto;width:91.66667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);background-image:linear-gradient(var(--bs-table-accent-bg),var(--bs-table-accent-bg));border-bottom-width:1px}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#bbd6fe;--bs-table-striped-bg:#b3cdf3;--bs-table-striped-color:#212529;--bs-table-active-bg:#acc4e9;--bs-table-active-color:#212529;--bs-table-hover-bg:#afc9ee;--bs-table-hover-color:#212529;color:#212529;border-color:#acc4e9}.table-secondary{--bs-table-bg:#d6d8db;--bs-table-striped-bg:#cdcfd2;--bs-table-striped-color:#212529;--bs-table-active-bg:#c4c6c9;--bs-table-active-color:#212529;--bs-table-hover-bg:#c8cbce;--bs-table-hover-color:#212529;color:#212529;border-color:#c4c6c9}.table-success{--bs-table-bg:#c3e6cb;--bs-table-striped-bg:#bbdcc3;--bs-table-striped-color:#212529;--bs-table-active-bg:#b3d3bb;--bs-table-active-color:#212529;--bs-table-hover-bg:#b7d8bf;--bs-table-hover-color:#212529;color:#212529;border-color:#b3d3bb}.table-info{--bs-table-bg:#bee5eb;--bs-table-striped-bg:#b6dbe1;--bs-table-striped-color:#212529;--bs-table-active-bg:#aed2d8;--bs-table-active-color:#212529;--bs-table-hover-bg:#b2d7dc;--bs-table-hover-color:#212529;color:#212529;border-color:#aed2d8}.table-warning{--bs-table-bg:#ffeeba;--bs-table-striped-bg:#f4e4b3;--bs-table-striped-color:#212529;--bs-table-active-bg:#e9daac;--bs-table-active-color:#212529;--bs-table-hover-bg:#eedfaf;--bs-table-hover-color:#212529;color:#212529;border-color:#e9daac}.table-danger{--bs-table-bg:#f5c6cb;--bs-table-striped-bg:#eabec3;--bs-table-striped-color:#212529;--bs-table-active-bg:#e0b6bb;--bs-table-active-color:#212529;--bs-table-hover-bg:#e5babf;--bs-table-hover-color:#212529;color:#212529;border-color:#e0b6bb}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#edeef0;--bs-table-striped-color:#212529;--bs-table-active-bg:#e3e4e5;--bs-table-active-color:#212529;--bs-table-hover-bg:#e8e9ea;--bs-table-hover-color:#212529;color:#212529;border-color:#e3e4e5}.table-dark{--bs-table-bg:#343a40;--bs-table-striped-bg:#3e444a;--bs-table-striped-color:#fff;--bs-table-active-bg:#484e53;--bs-table-active-color:#fff;--bs-table-hover-bg:#43494e;--bs-table-hover-color:#fff;color:#fff;border-color:#484e53}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;min-height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control:focus{color:#495057;background-color:#fff;border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-color{max-width:3rem;padding:.375rem}.form-control-color::-moz-color-swatch{border-radius:.25rem}.form-control-color::-webkit-color-swatch{border-radius:.25rem}.form-select{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.form-select:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-select:focus::-ms-value{color:#495057;background-color:#fff}.form-select[multiple],.form-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.75em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.75em}.form-check-input{width:1.25em;height:1.25em;margin-top:.125em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;color-adjust:exact;transition:background-color .15s ease-in-out,background-position .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-check-input{transition:none}}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238bbafe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.form-file{--bs-form-file-height:calc(1.5em + 0.75rem + 2px);position:relative}.form-file-input{position:relative;z-index:2;width:100%;height:var(--bs-form-file-height);margin:0;opacity:0}.form-file-input:focus-within~.form-file-label{border-color:#8bbafe;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-file-input:disabled~.form-file-label .form-file-text,.form-file-input[disabled]~.form-file-label .form-file-text{background-color:#e9ecef}.form-file-label{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;height:var(--bs-form-file-height);border-color:#ced4da;border-radius:.25rem}.form-file-text{display:block;flex-grow:1;padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;border-color:inherit;border-style:solid;border-width:1px;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.form-file-button{display:block;flex-shrink:0;padding:.375rem .75rem;margin-left:-1px;line-height:1.5;color:#495057;background-color:#e9ecef;border-color:inherit;border-style:solid;border-width:1px;border-top-right-radius:inherit;border-bottom-right-radius:inherit}.form-file-sm{--bs-form-file-height:calc(1.5em + 0.5rem + 2px);font-size:.875rem}.form-file-sm .form-file-button,.form-file-sm .form-file-text{padding:.25rem .5rem}.form-file-lg{--bs-form-file-height:calc(1.5em + 1rem + 2px);font-size:1.25rem}.form-file-lg .form-file-button,.form-file-lg .form-file-text{padding:.5rem 1rem}.form-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bed8fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#bed8fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-ms-thumb{transition:none}}.form-range::-ms-thumb:active{background-color:#bed8fe}.form-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.form-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.form-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-range:disabled::-ms-thumb{background-color:#adb5bd}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-file,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-file .form-file-input:focus~.form-file-label,.input-group>.form-select:focus{z-index:3}.input-group>.form-file>.form-file-input:focus{z-index:4}.input-group>.form-file:not(:last-child)>.form-file-label{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-file:not(:first-child)>.form-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.form-control{min-height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.form-control{min-height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:1.75rem}.input-group>.dropdown-toggle:nth-last-child(n+3),.input-group>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#28a745}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#28a745}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.form-file-input.is-valid~.form-file-label,.was-validated .form-file-input:valid~.form-file-label{border-color:#28a745}.form-file-input.is-valid:focus~.form-file-label,.was-validated .form-file-input:valid:focus~.form-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.form-file-input.is-invalid~.form-file-label,.was-validated .form-file-input:invalid~.form-file-label{border-color:#dc3545}.form-file-input.is-invalid:focus~.form-file-label,.was-validated .form-file-input:invalid:focus~.form-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#025ce2;border-color:#0257d5}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#025ce2;border-color:#0257d5;box-shadow:0 0 0 .2rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0257d5;border-color:#0252c9}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-check:focus+.btn-info,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-check:focus+.btn-light,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-success_opacity_1{color:#fff;background-color:rgba(40,167,69,.1);border-color:rgba(40,167,69,.1)}.btn-success_opacity_1:hover{color:#fff;background-color:rgba(33,136,56,.1);border-color:rgba(30,126,52,.1)}.btn-check:focus+.btn-success_opacity_1,.btn-success_opacity_1:focus{color:#fff;background-color:rgba(33,136,56,.1);border-color:rgba(30,126,52,.1);box-shadow:0 0 0 .2rem rgba(206,235,212,.5)}.btn-check:active+.btn-success_opacity_1,.btn-check:checked+.btn-success_opacity_1,.btn-success_opacity_1.active,.btn-success_opacity_1:active,.show>.btn-success_opacity_1.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.1);border-color:rgba(28,116,48,.1)}.btn-check:active+.btn-success_opacity_1:focus,.btn-check:checked+.btn-success_opacity_1:focus,.btn-success_opacity_1.active:focus,.btn-success_opacity_1:active:focus,.show>.btn-success_opacity_1.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(206,235,212,.5)}.btn-success_opacity_1.disabled,.btn-success_opacity_1:disabled{color:#fff;background-color:rgba(40,167,69,.1);border-color:rgba(40,167,69,.1)}.btn-success_opacity_2{color:#fff;background-color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.2)}.btn-success_opacity_2:hover{color:#fff;background-color:rgba(33,136,56,.2);border-color:rgba(30,126,52,.2)}.btn-check:focus+.btn-success_opacity_2,.btn-success_opacity_2:focus{color:#fff;background-color:rgba(33,136,56,.2);border-color:rgba(30,126,52,.2);box-shadow:0 0 0 .2rem rgba(172,221,183,.5)}.btn-check:active+.btn-success_opacity_2,.btn-check:checked+.btn-success_opacity_2,.btn-success_opacity_2.active,.btn-success_opacity_2:active,.show>.btn-success_opacity_2.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.2);border-color:rgba(28,116,48,.2)}.btn-check:active+.btn-success_opacity_2:focus,.btn-check:checked+.btn-success_opacity_2:focus,.btn-success_opacity_2.active:focus,.btn-success_opacity_2:active:focus,.show>.btn-success_opacity_2.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(172,221,183,.5)}.btn-success_opacity_2.disabled,.btn-success_opacity_2:disabled{color:#fff;background-color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.2)}.btn-success_opacity_3{color:#fff;background-color:rgba(40,167,69,.3);border-color:rgba(40,167,69,.3)}.btn-success_opacity_3:hover{color:#fff;background-color:rgba(33,136,56,.3);border-color:rgba(30,126,52,.3)}.btn-check:focus+.btn-success_opacity_3,.btn-success_opacity_3:focus{color:#fff;background-color:rgba(33,136,56,.3);border-color:rgba(30,126,52,.3);box-shadow:0 0 0 .2rem rgba(148,211,162,.5)}.btn-check:active+.btn-success_opacity_3,.btn-check:checked+.btn-success_opacity_3,.btn-success_opacity_3.active,.btn-success_opacity_3:active,.show>.btn-success_opacity_3.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.3);border-color:rgba(28,116,48,.3)}.btn-check:active+.btn-success_opacity_3:focus,.btn-check:checked+.btn-success_opacity_3:focus,.btn-success_opacity_3.active:focus,.btn-success_opacity_3:active:focus,.show>.btn-success_opacity_3.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(148,211,162,.5)}.btn-success_opacity_3.disabled,.btn-success_opacity_3:disabled{color:#fff;background-color:rgba(40,167,69,.3);border-color:rgba(40,167,69,.3)}.btn-success_opacity_4{color:#fff;background-color:rgba(40,167,69,.4);border-color:rgba(40,167,69,.4)}.btn-success_opacity_4:hover{color:#fff;background-color:rgba(33,136,56,.4);border-color:rgba(30,126,52,.4)}.btn-check:focus+.btn-success_opacity_4,.btn-success_opacity_4:focus{color:#fff;background-color:rgba(33,136,56,.4);border-color:rgba(30,126,52,.4);box-shadow:0 0 0 .2rem rgba(129,203,146,.5)}.btn-check:active+.btn-success_opacity_4,.btn-check:checked+.btn-success_opacity_4,.btn-success_opacity_4.active,.btn-success_opacity_4:active,.show>.btn-success_opacity_4.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.4);border-color:rgba(28,116,48,.4)}.btn-check:active+.btn-success_opacity_4:focus,.btn-check:checked+.btn-success_opacity_4:focus,.btn-success_opacity_4.active:focus,.btn-success_opacity_4:active:focus,.show>.btn-success_opacity_4.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(129,203,146,.5)}.btn-success_opacity_4.disabled,.btn-success_opacity_4:disabled{color:#fff;background-color:rgba(40,167,69,.4);border-color:rgba(40,167,69,.4)}.btn-success_opacity_5{color:#fff;background-color:rgba(40,167,69,.5);border-color:rgba(40,167,69,.5)}.btn-success_opacity_5:hover{color:#fff;background-color:rgba(33,136,56,.5);border-color:rgba(30,126,52,.5)}.btn-check:focus+.btn-success_opacity_5,.btn-success_opacity_5:focus{color:#fff;background-color:rgba(33,136,56,.5);border-color:rgba(30,126,52,.5);box-shadow:0 0 0 .2rem rgba(114,197,133,.5)}.btn-check:active+.btn-success_opacity_5,.btn-check:checked+.btn-success_opacity_5,.btn-success_opacity_5.active,.btn-success_opacity_5:active,.show>.btn-success_opacity_5.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.5);border-color:rgba(28,116,48,.5)}.btn-check:active+.btn-success_opacity_5:focus,.btn-check:checked+.btn-success_opacity_5:focus,.btn-success_opacity_5.active:focus,.btn-success_opacity_5:active:focus,.show>.btn-success_opacity_5.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(114,197,133,.5)}.btn-success_opacity_5.disabled,.btn-success_opacity_5:disabled{color:#fff;background-color:rgba(40,167,69,.5);border-color:rgba(40,167,69,.5)}.btn-success_opacity_6{color:#fff;background-color:rgba(40,167,69,.6);border-color:rgba(40,167,69,.6)}.btn-success_opacity_6:hover{color:#fff;background-color:rgba(33,136,56,.6);border-color:rgba(30,126,52,.6)}.btn-check:focus+.btn-success_opacity_6,.btn-success_opacity_6:focus{color:#fff;background-color:rgba(33,136,56,.6);border-color:rgba(30,126,52,.6);box-shadow:0 0 0 .2rem rgba(103,193,123,.5)}.btn-check:active+.btn-success_opacity_6,.btn-check:checked+.btn-success_opacity_6,.btn-success_opacity_6.active,.btn-success_opacity_6:active,.show>.btn-success_opacity_6.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.6);border-color:rgba(28,116,48,.6)}.btn-check:active+.btn-success_opacity_6:focus,.btn-check:checked+.btn-success_opacity_6:focus,.btn-success_opacity_6.active:focus,.btn-success_opacity_6:active:focus,.show>.btn-success_opacity_6.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(103,193,123,.5)}.btn-success_opacity_6.disabled,.btn-success_opacity_6:disabled{color:#fff;background-color:rgba(40,167,69,.6);border-color:rgba(40,167,69,.6)}.btn-success_opacity_7{color:#fff;background-color:rgba(40,167,69,.7);border-color:rgba(40,167,69,.7)}.btn-success_opacity_7:hover{color:#fff;background-color:rgba(33,136,56,.7);border-color:rgba(30,126,52,.7)}.btn-check:focus+.btn-success_opacity_7,.btn-success_opacity_7:focus{color:#fff;background-color:rgba(33,136,56,.7);border-color:rgba(30,126,52,.7);box-shadow:0 0 0 .2rem rgba(93,189,115,.5)}.btn-check:active+.btn-success_opacity_7,.btn-check:checked+.btn-success_opacity_7,.btn-success_opacity_7.active,.btn-success_opacity_7:active,.show>.btn-success_opacity_7.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.7);border-color:rgba(28,116,48,.7)}.btn-check:active+.btn-success_opacity_7:focus,.btn-check:checked+.btn-success_opacity_7:focus,.btn-success_opacity_7.active:focus,.btn-success_opacity_7:active:focus,.show>.btn-success_opacity_7.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(93,189,115,.5)}.btn-success_opacity_7.disabled,.btn-success_opacity_7:disabled{color:#fff;background-color:rgba(40,167,69,.7);border-color:rgba(40,167,69,.7)}.btn-success_opacity_8{color:#fff;background-color:rgba(40,167,69,.8);border-color:rgba(40,167,69,.8)}.btn-success_opacity_8:hover{color:#fff;background-color:rgba(33,136,56,.8);border-color:rgba(30,126,52,.8)}.btn-check:focus+.btn-success_opacity_8,.btn-success_opacity_8:focus{color:#fff;background-color:rgba(33,136,56,.8);border-color:rgba(30,126,52,.8);box-shadow:0 0 0 .2rem rgba(85,185,108,.5)}.btn-check:active+.btn-success_opacity_8,.btn-check:checked+.btn-success_opacity_8,.btn-success_opacity_8.active,.btn-success_opacity_8:active,.show>.btn-success_opacity_8.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.8);border-color:rgba(28,116,48,.8)}.btn-check:active+.btn-success_opacity_8:focus,.btn-check:checked+.btn-success_opacity_8:focus,.btn-success_opacity_8.active:focus,.btn-success_opacity_8:active:focus,.show>.btn-success_opacity_8.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(85,185,108,.5)}.btn-success_opacity_8.disabled,.btn-success_opacity_8:disabled{color:#fff;background-color:rgba(40,167,69,.8);border-color:rgba(40,167,69,.8)}.btn-success_opacity_9{color:#fff;background-color:rgba(40,167,69,.9);border-color:rgba(40,167,69,.9)}.btn-success_opacity_9:hover{color:#fff;background-color:rgba(33,136,56,.9);border-color:rgba(30,126,52,.9)}.btn-check:focus+.btn-success_opacity_9,.btn-success_opacity_9:focus{color:#fff;background-color:rgba(33,136,56,.9);border-color:rgba(30,126,52,.9);box-shadow:0 0 0 .2rem rgba(78,183,102,.5)}.btn-check:active+.btn-success_opacity_9,.btn-check:checked+.btn-success_opacity_9,.btn-success_opacity_9.active,.btn-success_opacity_9:active,.show>.btn-success_opacity_9.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.9);border-color:rgba(28,116,48,.9)}.btn-check:active+.btn-success_opacity_9:focus,.btn-check:checked+.btn-success_opacity_9:focus,.btn-success_opacity_9.active:focus,.btn-success_opacity_9:active:focus,.show>.btn-success_opacity_9.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(78,183,102,.5)}.btn-success_opacity_9.disabled,.btn-success_opacity_9:disabled{color:#fff;background-color:rgba(40,167,69,.9);border-color:rgba(40,167,69,.9)}.btn-primary_opacity_1{color:#fff;background-color:rgba(13,110,253,.1);border-color:rgba(13,110,253,.1)}.btn-primary_opacity_1:hover{color:#fff;background-color:rgba(2,92,226,.1);border-color:rgba(2,87,213,.1)}.btn-check:focus+.btn-primary_opacity_1,.btn-primary_opacity_1:focus{color:#fff;background-color:rgba(2,92,226,.1);border-color:rgba(2,87,213,.1);box-shadow:0 0 0 .2rem rgba(199,222,255,.5)}.btn-check:active+.btn-primary_opacity_1,.btn-check:checked+.btn-primary_opacity_1,.btn-primary_opacity_1.active,.btn-primary_opacity_1:active,.show>.btn-primary_opacity_1.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.1);border-color:rgba(2,82,201,.1)}.btn-check:active+.btn-primary_opacity_1:focus,.btn-check:checked+.btn-primary_opacity_1:focus,.btn-primary_opacity_1.active:focus,.btn-primary_opacity_1:active:focus,.show>.btn-primary_opacity_1.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(199,222,255,.5)}.btn-primary_opacity_1.disabled,.btn-primary_opacity_1:disabled{color:#fff;background-color:rgba(13,110,253,.1);border-color:rgba(13,110,253,.1)}.btn-primary_opacity_2{color:#fff;background-color:rgba(13,110,253,.2);border-color:rgba(13,110,253,.2)}.btn-primary_opacity_2:hover{color:#fff;background-color:rgba(2,92,226,.2);border-color:rgba(2,87,213,.2)}.btn-check:focus+.btn-primary_opacity_2,.btn-primary_opacity_2:focus{color:#fff;background-color:rgba(2,92,226,.2);border-color:rgba(2,87,213,.2);box-shadow:0 0 0 .2rem rgba(162,199,254,.5)}.btn-check:active+.btn-primary_opacity_2,.btn-check:checked+.btn-primary_opacity_2,.btn-primary_opacity_2.active,.btn-primary_opacity_2:active,.show>.btn-primary_opacity_2.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.2);border-color:rgba(2,82,201,.2)}.btn-check:active+.btn-primary_opacity_2:focus,.btn-check:checked+.btn-primary_opacity_2:focus,.btn-primary_opacity_2.active:focus,.btn-primary_opacity_2:active:focus,.show>.btn-primary_opacity_2.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(162,199,254,.5)}.btn-primary_opacity_2.disabled,.btn-primary_opacity_2:disabled{color:#fff;background-color:rgba(13,110,253,.2);border-color:rgba(13,110,253,.2)}.btn-primary_opacity_3{color:#fff;background-color:rgba(13,110,253,.3);border-color:rgba(13,110,253,.3)}.btn-primary_opacity_3:hover{color:#fff;background-color:rgba(2,92,226,.3);border-color:rgba(2,87,213,.3)}.btn-check:focus+.btn-primary_opacity_3,.btn-primary_opacity_3:focus{color:#fff;background-color:rgba(2,92,226,.3);border-color:rgba(2,87,213,.3);box-shadow:0 0 0 .2rem rgba(134,183,254,.5)}.btn-check:active+.btn-primary_opacity_3,.btn-check:checked+.btn-primary_opacity_3,.btn-primary_opacity_3.active,.btn-primary_opacity_3:active,.show>.btn-primary_opacity_3.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.3);border-color:rgba(2,82,201,.3)}.btn-check:active+.btn-primary_opacity_3:focus,.btn-check:checked+.btn-primary_opacity_3:focus,.btn-primary_opacity_3.active:focus,.btn-primary_opacity_3:active:focus,.show>.btn-primary_opacity_3.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(134,183,254,.5)}.btn-primary_opacity_3.disabled,.btn-primary_opacity_3:disabled{color:#fff;background-color:rgba(13,110,253,.3);border-color:rgba(13,110,253,.3)}.btn-primary_opacity_4{color:#fff;background-color:rgba(13,110,253,.4);border-color:rgba(13,110,253,.4)}.btn-primary_opacity_4:hover{color:#fff;background-color:rgba(2,92,226,.4);border-color:rgba(2,87,213,.4)}.btn-check:focus+.btn-primary_opacity_4,.btn-primary_opacity_4:focus{color:#fff;background-color:rgba(2,92,226,.4);border-color:rgba(2,87,213,.4);box-shadow:0 0 0 .2rem rgba(113,170,254,.5)}.btn-check:active+.btn-primary_opacity_4,.btn-check:checked+.btn-primary_opacity_4,.btn-primary_opacity_4.active,.btn-primary_opacity_4:active,.show>.btn-primary_opacity_4.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.4);border-color:rgba(2,82,201,.4)}.btn-check:active+.btn-primary_opacity_4:focus,.btn-check:checked+.btn-primary_opacity_4:focus,.btn-primary_opacity_4.active:focus,.btn-primary_opacity_4:active:focus,.show>.btn-primary_opacity_4.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(113,170,254,.5)}.btn-primary_opacity_4.disabled,.btn-primary_opacity_4:disabled{color:#fff;background-color:rgba(13,110,253,.4);border-color:rgba(13,110,253,.4)}.btn-primary_opacity_5{color:#fff;background-color:rgba(13,110,253,.5);border-color:rgba(13,110,253,.5)}.btn-primary_opacity_5:hover{color:#fff;background-color:rgba(2,92,226,.5);border-color:rgba(2,87,213,.5)}.btn-check:focus+.btn-primary_opacity_5,.btn-primary_opacity_5:focus{color:#fff;background-color:rgba(2,92,226,.5);border-color:rgba(2,87,213,.5);box-shadow:0 0 0 .2rem rgba(97,160,254,.5)}.btn-check:active+.btn-primary_opacity_5,.btn-check:checked+.btn-primary_opacity_5,.btn-primary_opacity_5.active,.btn-primary_opacity_5:active,.show>.btn-primary_opacity_5.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.5);border-color:rgba(2,82,201,.5)}.btn-check:active+.btn-primary_opacity_5:focus,.btn-check:checked+.btn-primary_opacity_5:focus,.btn-primary_opacity_5.active:focus,.btn-primary_opacity_5:active:focus,.show>.btn-primary_opacity_5.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(97,160,254,.5)}.btn-primary_opacity_5.disabled,.btn-primary_opacity_5:disabled{color:#fff;background-color:rgba(13,110,253,.5);border-color:rgba(13,110,253,.5)}.btn-primary_opacity_6{color:#fff;background-color:rgba(13,110,253,.6);border-color:rgba(13,110,253,.6)}.btn-primary_opacity_6:hover{color:#fff;background-color:rgba(2,92,226,.6);border-color:rgba(2,87,213,.6)}.btn-check:focus+.btn-primary_opacity_6,.btn-primary_opacity_6:focus{color:#fff;background-color:rgba(2,92,226,.6);border-color:rgba(2,87,213,.6);box-shadow:0 0 0 .2rem rgba(84,152,254,.5)}.btn-check:active+.btn-primary_opacity_6,.btn-check:checked+.btn-primary_opacity_6,.btn-primary_opacity_6.active,.btn-primary_opacity_6:active,.show>.btn-primary_opacity_6.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.6);border-color:rgba(2,82,201,.6)}.btn-check:active+.btn-primary_opacity_6:focus,.btn-check:checked+.btn-primary_opacity_6:focus,.btn-primary_opacity_6.active:focus,.btn-primary_opacity_6:active:focus,.show>.btn-primary_opacity_6.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(84,152,254,.5)}.btn-primary_opacity_6.disabled,.btn-primary_opacity_6:disabled{color:#fff;background-color:rgba(13,110,253,.6);border-color:rgba(13,110,253,.6)}.btn-primary_opacity_7{color:#fff;background-color:rgba(13,110,253,.7);border-color:rgba(13,110,253,.7)}.btn-primary_opacity_7:hover{color:#fff;background-color:rgba(2,92,226,.7);border-color:rgba(2,87,213,.7)}.btn-check:focus+.btn-primary_opacity_7,.btn-primary_opacity_7:focus{color:#fff;background-color:rgba(2,92,226,.7);border-color:rgba(2,87,213,.7);box-shadow:0 0 0 .2rem rgba(73,146,253,.5)}.btn-check:active+.btn-primary_opacity_7,.btn-check:checked+.btn-primary_opacity_7,.btn-primary_opacity_7.active,.btn-primary_opacity_7:active,.show>.btn-primary_opacity_7.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.7);border-color:rgba(2,82,201,.7)}.btn-check:active+.btn-primary_opacity_7:focus,.btn-check:checked+.btn-primary_opacity_7:focus,.btn-primary_opacity_7.active:focus,.btn-primary_opacity_7:active:focus,.show>.btn-primary_opacity_7.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(73,146,253,.5)}.btn-primary_opacity_7.disabled,.btn-primary_opacity_7:disabled{color:#fff;background-color:rgba(13,110,253,.7);border-color:rgba(13,110,253,.7)}.btn-primary_opacity_8{color:#fff;background-color:rgba(13,110,253,.8);border-color:rgba(13,110,253,.8)}.btn-primary_opacity_8:hover{color:#fff;background-color:rgba(2,92,226,.8);border-color:rgba(2,87,213,.8)}.btn-check:focus+.btn-primary_opacity_8,.btn-primary_opacity_8:focus{color:#fff;background-color:rgba(2,92,226,.8);border-color:rgba(2,87,213,.8);box-shadow:0 0 0 .2rem rgba(64,140,253,.5)}.btn-check:active+.btn-primary_opacity_8,.btn-check:checked+.btn-primary_opacity_8,.btn-primary_opacity_8.active,.btn-primary_opacity_8:active,.show>.btn-primary_opacity_8.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.8);border-color:rgba(2,82,201,.8)}.btn-check:active+.btn-primary_opacity_8:focus,.btn-check:checked+.btn-primary_opacity_8:focus,.btn-primary_opacity_8.active:focus,.btn-primary_opacity_8:active:focus,.show>.btn-primary_opacity_8.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(64,140,253,.5)}.btn-primary_opacity_8.disabled,.btn-primary_opacity_8:disabled{color:#fff;background-color:rgba(13,110,253,.8);border-color:rgba(13,110,253,.8)}.btn-primary_opacity_9{color:#fff;background-color:rgba(13,110,253,.9);border-color:rgba(13,110,253,.9)}.btn-primary_opacity_9:hover{color:#fff;background-color:rgba(2,92,226,.9);border-color:rgba(2,87,213,.9)}.btn-check:focus+.btn-primary_opacity_9,.btn-primary_opacity_9:focus{color:#fff;background-color:rgba(2,92,226,.9);border-color:rgba(2,87,213,.9);box-shadow:0 0 0 .2rem rgba(56,136,253,.5)}.btn-check:active+.btn-primary_opacity_9,.btn-check:checked+.btn-primary_opacity_9,.btn-primary_opacity_9.active,.btn-primary_opacity_9:active,.show>.btn-primary_opacity_9.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.9);border-color:rgba(2,82,201,.9)}.btn-check:active+.btn-primary_opacity_9:focus,.btn-check:checked+.btn-primary_opacity_9:focus,.btn-primary_opacity_9.active:focus,.btn-primary_opacity_9:active:focus,.show>.btn-primary_opacity_9.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(56,136,253,.5)}.btn-primary_opacity_9.disabled,.btn-primary_opacity_9:disabled{color:#fff;background-color:rgba(13,110,253,.9);border-color:rgba(13,110,253,.9)}.btn-danger_opacity_1{color:#fff;background-color:rgba(220,53,69,.1);border-color:rgba(220,53,69,.1)}.btn-danger_opacity_1:hover{color:#fff;background-color:rgba(200,35,51,.1);border-color:rgba(189,33,48,.1)}.btn-check:focus+.btn-danger_opacity_1,.btn-danger_opacity_1:focus{color:#fff;background-color:rgba(200,35,51,.1);border-color:rgba(189,33,48,.1);box-shadow:0 0 0 .2rem rgba(247,209,212,.5)}.btn-check:active+.btn-danger_opacity_1,.btn-check:checked+.btn-danger_opacity_1,.btn-danger_opacity_1.active,.btn-danger_opacity_1:active,.show>.btn-danger_opacity_1.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.1);border-color:rgba(178,31,45,.1)}.btn-check:active+.btn-danger_opacity_1:focus,.btn-check:checked+.btn-danger_opacity_1:focus,.btn-danger_opacity_1.active:focus,.btn-danger_opacity_1:active:focus,.show>.btn-danger_opacity_1.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(247,209,212,.5)}.btn-danger_opacity_1.disabled,.btn-danger_opacity_1:disabled{color:#fff;background-color:rgba(220,53,69,.1);border-color:rgba(220,53,69,.1)}.btn-danger_opacity_2{color:#fff;background-color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.2)}.btn-danger_opacity_2:hover{color:#fff;background-color:rgba(200,35,51,.2);border-color:rgba(189,33,48,.2)}.btn-check:focus+.btn-danger_opacity_2,.btn-danger_opacity_2:focus{color:#fff;background-color:rgba(200,35,51,.2);border-color:rgba(189,33,48,.2);box-shadow:0 0 0 .2rem rgba(241,177,183,.5)}.btn-check:active+.btn-danger_opacity_2,.btn-check:checked+.btn-danger_opacity_2,.btn-danger_opacity_2.active,.btn-danger_opacity_2:active,.show>.btn-danger_opacity_2.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.2);border-color:rgba(178,31,45,.2)}.btn-check:active+.btn-danger_opacity_2:focus,.btn-check:checked+.btn-danger_opacity_2:focus,.btn-danger_opacity_2.active:focus,.btn-danger_opacity_2:active:focus,.show>.btn-danger_opacity_2.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(241,177,183,.5)}.btn-danger_opacity_2.disabled,.btn-danger_opacity_2:disabled{color:#fff;background-color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.2)}.btn-danger_opacity_3{color:#fff;background-color:rgba(220,53,69,.3);border-color:rgba(220,53,69,.3)}.btn-danger_opacity_3:hover{color:#fff;background-color:rgba(200,35,51,.3);border-color:rgba(189,33,48,.3)}.btn-check:focus+.btn-danger_opacity_3,.btn-danger_opacity_3:focus{color:#fff;background-color:rgba(200,35,51,.3);border-color:rgba(189,33,48,.3);box-shadow:0 0 0 .2rem rgba(238,154,162,.5)}.btn-check:active+.btn-danger_opacity_3,.btn-check:checked+.btn-danger_opacity_3,.btn-danger_opacity_3.active,.btn-danger_opacity_3:active,.show>.btn-danger_opacity_3.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.3);border-color:rgba(178,31,45,.3)}.btn-check:active+.btn-danger_opacity_3:focus,.btn-check:checked+.btn-danger_opacity_3:focus,.btn-danger_opacity_3.active:focus,.btn-danger_opacity_3:active:focus,.show>.btn-danger_opacity_3.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(238,154,162,.5)}.btn-danger_opacity_3.disabled,.btn-danger_opacity_3:disabled{color:#fff;background-color:rgba(220,53,69,.3);border-color:rgba(220,53,69,.3)}.btn-danger_opacity_4{color:#fff;background-color:rgba(220,53,69,.4);border-color:rgba(220,53,69,.4)}.btn-danger_opacity_4:hover{color:#fff;background-color:rgba(200,35,51,.4);border-color:rgba(189,33,48,.4)}.btn-check:focus+.btn-danger_opacity_4,.btn-danger_opacity_4:focus{color:#fff;background-color:rgba(200,35,51,.4);border-color:rgba(189,33,48,.4);box-shadow:0 0 0 .2rem rgba(234,137,146,.5)}.btn-check:active+.btn-danger_opacity_4,.btn-check:checked+.btn-danger_opacity_4,.btn-danger_opacity_4.active,.btn-danger_opacity_4:active,.show>.btn-danger_opacity_4.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.4);border-color:rgba(178,31,45,.4)}.btn-check:active+.btn-danger_opacity_4:focus,.btn-check:checked+.btn-danger_opacity_4:focus,.btn-danger_opacity_4.active:focus,.btn-danger_opacity_4:active:focus,.show>.btn-danger_opacity_4.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(234,137,146,.5)}.btn-danger_opacity_4.disabled,.btn-danger_opacity_4:disabled{color:#fff;background-color:rgba(220,53,69,.4);border-color:rgba(220,53,69,.4)}.btn-danger_opacity_5{color:#fff;background-color:rgba(220,53,69,.5);border-color:rgba(220,53,69,.5)}.btn-danger_opacity_5:hover{color:#fff;background-color:rgba(200,35,51,.5);border-color:rgba(189,33,48,.5)}.btn-check:focus+.btn-danger_opacity_5,.btn-danger_opacity_5:focus{color:#fff;background-color:rgba(200,35,51,.5);border-color:rgba(189,33,48,.5);box-shadow:0 0 0 .2rem rgba(232,123,133,.5)}.btn-check:active+.btn-danger_opacity_5,.btn-check:checked+.btn-danger_opacity_5,.btn-danger_opacity_5.active,.btn-danger_opacity_5:active,.show>.btn-danger_opacity_5.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.5);border-color:rgba(178,31,45,.5)}.btn-check:active+.btn-danger_opacity_5:focus,.btn-check:checked+.btn-danger_opacity_5:focus,.btn-danger_opacity_5.active:focus,.btn-danger_opacity_5:active:focus,.show>.btn-danger_opacity_5.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(232,123,133,.5)}.btn-danger_opacity_5.disabled,.btn-danger_opacity_5:disabled{color:#fff;background-color:rgba(220,53,69,.5);border-color:rgba(220,53,69,.5)}.btn-danger_opacity_6{color:#fff;background-color:rgba(220,53,69,.6);border-color:rgba(220,53,69,.6)}.btn-danger_opacity_6:hover{color:#fff;background-color:rgba(200,35,51,.6);border-color:rgba(189,33,48,.6)}.btn-check:focus+.btn-danger_opacity_6,.btn-danger_opacity_6:focus{color:#fff;background-color:rgba(200,35,51,.6);border-color:rgba(189,33,48,.6);box-shadow:0 0 0 .2rem rgba(230,112,123,.5)}.btn-check:active+.btn-danger_opacity_6,.btn-check:checked+.btn-danger_opacity_6,.btn-danger_opacity_6.active,.btn-danger_opacity_6:active,.show>.btn-danger_opacity_6.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.6);border-color:rgba(178,31,45,.6)}.btn-check:active+.btn-danger_opacity_6:focus,.btn-check:checked+.btn-danger_opacity_6:focus,.btn-danger_opacity_6.active:focus,.btn-danger_opacity_6:active:focus,.show>.btn-danger_opacity_6.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(230,112,123,.5)}.btn-danger_opacity_6.disabled,.btn-danger_opacity_6:disabled{color:#fff;background-color:rgba(220,53,69,.6);border-color:rgba(220,53,69,.6)}.btn-danger_opacity_7{color:#fff;background-color:rgba(220,53,69,.7);border-color:rgba(220,53,69,.7)}.btn-danger_opacity_7:hover{color:#fff;background-color:rgba(200,35,51,.7);border-color:rgba(189,33,48,.7)}.btn-check:focus+.btn-danger_opacity_7,.btn-danger_opacity_7:focus{color:#fff;background-color:rgba(200,35,51,.7);border-color:rgba(189,33,48,.7);box-shadow:0 0 0 .2rem rgba(229,103,115,.5)}.btn-check:active+.btn-danger_opacity_7,.btn-check:checked+.btn-danger_opacity_7,.btn-danger_opacity_7.active,.btn-danger_opacity_7:active,.show>.btn-danger_opacity_7.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.7);border-color:rgba(178,31,45,.7)}.btn-check:active+.btn-danger_opacity_7:focus,.btn-check:checked+.btn-danger_opacity_7:focus,.btn-danger_opacity_7.active:focus,.btn-danger_opacity_7:active:focus,.show>.btn-danger_opacity_7.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(229,103,115,.5)}.btn-danger_opacity_7.disabled,.btn-danger_opacity_7:disabled{color:#fff;background-color:rgba(220,53,69,.7);border-color:rgba(220,53,69,.7)}.btn-danger_opacity_8{color:#fff;background-color:rgba(220,53,69,.8);border-color:rgba(220,53,69,.8)}.btn-danger_opacity_8:hover{color:#fff;background-color:rgba(200,35,51,.8);border-color:rgba(189,33,48,.8)}.btn-check:focus+.btn-danger_opacity_8,.btn-danger_opacity_8:focus{color:#fff;background-color:rgba(200,35,51,.8);border-color:rgba(189,33,48,.8);box-shadow:0 0 0 .2rem rgba(227,95,108,.5)}.btn-check:active+.btn-danger_opacity_8,.btn-check:checked+.btn-danger_opacity_8,.btn-danger_opacity_8.active,.btn-danger_opacity_8:active,.show>.btn-danger_opacity_8.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.8);border-color:rgba(178,31,45,.8)}.btn-check:active+.btn-danger_opacity_8:focus,.btn-check:checked+.btn-danger_opacity_8:focus,.btn-danger_opacity_8.active:focus,.btn-danger_opacity_8:active:focus,.show>.btn-danger_opacity_8.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(227,95,108,.5)}.btn-danger_opacity_8.disabled,.btn-danger_opacity_8:disabled{color:#fff;background-color:rgba(220,53,69,.8);border-color:rgba(220,53,69,.8)}.btn-danger_opacity_9{color:#fff;background-color:rgba(220,53,69,.9);border-color:rgba(220,53,69,.9)}.btn-danger_opacity_9:hover{color:#fff;background-color:rgba(200,35,51,.9);border-color:rgba(189,33,48,.9)}.btn-check:focus+.btn-danger_opacity_9,.btn-danger_opacity_9:focus{color:#fff;background-color:rgba(200,35,51,.9);border-color:rgba(189,33,48,.9);box-shadow:0 0 0 .2rem rgba(226,89,102,.5)}.btn-check:active+.btn-danger_opacity_9,.btn-check:checked+.btn-danger_opacity_9,.btn-danger_opacity_9.active,.btn-danger_opacity_9:active,.show>.btn-danger_opacity_9.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.9);border-color:rgba(178,31,45,.9)}.btn-check:active+.btn-danger_opacity_9:focus,.btn-check:checked+.btn-danger_opacity_9:focus,.btn-danger_opacity_9.active:focus,.btn-danger_opacity_9:active:focus,.show>.btn-danger_opacity_9.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(226,89,102,.5)}.btn-danger_opacity_9.disabled,.btn-danger_opacity_9:disabled{color:#fff;background-color:rgba(220,53,69,.9);border-color:rgba(220,53,69,.9)}.btn-info_opacity_1{color:#fff;background-color:rgba(23,162,184,.1);border-color:rgba(23,162,184,.1)}.btn-info_opacity_1:hover{color:#fff;background-color:rgba(19,132,150,.1);border-color:rgba(17,122,139,.1)}.btn-check:focus+.btn-info_opacity_1,.btn-info_opacity_1:focus{color:#fff;background-color:rgba(19,132,150,.1);border-color:rgba(17,122,139,.1);box-shadow:0 0 0 .2rem rgba(202,234,239,.5)}.btn-check:active+.btn-info_opacity_1,.btn-check:checked+.btn-info_opacity_1,.btn-info_opacity_1.active,.btn-info_opacity_1:active,.show>.btn-info_opacity_1.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.1);border-color:rgba(16,112,127,.1)}.btn-check:active+.btn-info_opacity_1:focus,.btn-check:checked+.btn-info_opacity_1:focus,.btn-info_opacity_1.active:focus,.btn-info_opacity_1:active:focus,.show>.btn-info_opacity_1.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(202,234,239,.5)}.btn-info_opacity_1.disabled,.btn-info_opacity_1:disabled{color:#fff;background-color:rgba(23,162,184,.1);border-color:rgba(23,162,184,.1)}.btn-info_opacity_2{color:#fff;background-color:rgba(23,162,184,.2);border-color:rgba(23,162,184,.2)}.btn-info_opacity_2:hover{color:#fff;background-color:rgba(19,132,150,.2);border-color:rgba(17,122,139,.2)}.btn-check:focus+.btn-info_opacity_2,.btn-info_opacity_2:focus{color:#fff;background-color:rgba(19,132,150,.2);border-color:rgba(17,122,139,.2);box-shadow:0 0 0 .2rem rgba(165,219,228,.5)}.btn-check:active+.btn-info_opacity_2,.btn-check:checked+.btn-info_opacity_2,.btn-info_opacity_2.active,.btn-info_opacity_2:active,.show>.btn-info_opacity_2.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.2);border-color:rgba(16,112,127,.2)}.btn-check:active+.btn-info_opacity_2:focus,.btn-check:checked+.btn-info_opacity_2:focus,.btn-info_opacity_2.active:focus,.btn-info_opacity_2:active:focus,.show>.btn-info_opacity_2.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(165,219,228,.5)}.btn-info_opacity_2.disabled,.btn-info_opacity_2:disabled{color:#fff;background-color:rgba(23,162,184,.2);border-color:rgba(23,162,184,.2)}.btn-info_opacity_3{color:#fff;background-color:rgba(23,162,184,.3);border-color:rgba(23,162,184,.3)}.btn-info_opacity_3:hover{color:#fff;background-color:rgba(19,132,150,.3);border-color:rgba(17,122,139,.3)}.btn-check:focus+.btn-info_opacity_3,.btn-info_opacity_3:focus{color:#fff;background-color:rgba(19,132,150,.3);border-color:rgba(17,122,139,.3);box-shadow:0 0 0 .2rem rgba(139,209,220,.5)}.btn-check:active+.btn-info_opacity_3,.btn-check:checked+.btn-info_opacity_3,.btn-info_opacity_3.active,.btn-info_opacity_3:active,.show>.btn-info_opacity_3.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.3);border-color:rgba(16,112,127,.3)}.btn-check:active+.btn-info_opacity_3:focus,.btn-check:checked+.btn-info_opacity_3:focus,.btn-info_opacity_3.active:focus,.btn-info_opacity_3:active:focus,.show>.btn-info_opacity_3.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(139,209,220,.5)}.btn-info_opacity_3.disabled,.btn-info_opacity_3:disabled{color:#fff;background-color:rgba(23,162,184,.3);border-color:rgba(23,162,184,.3)}.btn-info_opacity_4{color:#fff;background-color:rgba(23,162,184,.4);border-color:rgba(23,162,184,.4)}.btn-info_opacity_4:hover{color:#fff;background-color:rgba(19,132,150,.4);border-color:rgba(17,122,139,.4)}.btn-check:focus+.btn-info_opacity_4,.btn-info_opacity_4:focus{color:#fff;background-color:rgba(19,132,150,.4);border-color:rgba(17,122,139,.4);box-shadow:0 0 0 .2rem rgba(119,200,213,.5)}.btn-check:active+.btn-info_opacity_4,.btn-check:checked+.btn-info_opacity_4,.btn-info_opacity_4.active,.btn-info_opacity_4:active,.show>.btn-info_opacity_4.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.4);border-color:rgba(16,112,127,.4)}.btn-check:active+.btn-info_opacity_4:focus,.btn-check:checked+.btn-info_opacity_4:focus,.btn-info_opacity_4.active:focus,.btn-info_opacity_4:active:focus,.show>.btn-info_opacity_4.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(119,200,213,.5)}.btn-info_opacity_4.disabled,.btn-info_opacity_4:disabled{color:#fff;background-color:rgba(23,162,184,.4);border-color:rgba(23,162,184,.4)}.btn-info_opacity_5{color:#fff;background-color:rgba(23,162,184,.5);border-color:rgba(23,162,184,.5)}.btn-info_opacity_5:hover{color:#fff;background-color:rgba(19,132,150,.5);border-color:rgba(17,122,139,.5)}.btn-check:focus+.btn-info_opacity_5,.btn-info_opacity_5:focus{color:#fff;background-color:rgba(19,132,150,.5);border-color:rgba(17,122,139,.5);box-shadow:0 0 0 .2rem rgba(103,194,209,.5)}.btn-check:active+.btn-info_opacity_5,.btn-check:checked+.btn-info_opacity_5,.btn-info_opacity_5.active,.btn-info_opacity_5:active,.show>.btn-info_opacity_5.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.5);border-color:rgba(16,112,127,.5)}.btn-check:active+.btn-info_opacity_5:focus,.btn-check:checked+.btn-info_opacity_5:focus,.btn-info_opacity_5.active:focus,.btn-info_opacity_5:active:focus,.show>.btn-info_opacity_5.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(103,194,209,.5)}.btn-info_opacity_5.disabled,.btn-info_opacity_5:disabled{color:#fff;background-color:rgba(23,162,184,.5);border-color:rgba(23,162,184,.5)}.btn-info_opacity_6{color:#fff;background-color:rgba(23,162,184,.6);border-color:rgba(23,162,184,.6)}.btn-info_opacity_6:hover{color:#fff;background-color:rgba(19,132,150,.6);border-color:rgba(17,122,139,.6)}.btn-check:focus+.btn-info_opacity_6,.btn-info_opacity_6:focus{color:#fff;background-color:rgba(19,132,150,.6);border-color:rgba(17,122,139,.6);box-shadow:0 0 0 .2rem rgba(91,189,205,.5)}.btn-check:active+.btn-info_opacity_6,.btn-check:checked+.btn-info_opacity_6,.btn-info_opacity_6.active,.btn-info_opacity_6:active,.show>.btn-info_opacity_6.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.6);border-color:rgba(16,112,127,.6)}.btn-check:active+.btn-info_opacity_6:focus,.btn-check:checked+.btn-info_opacity_6:focus,.btn-info_opacity_6.active:focus,.btn-info_opacity_6:active:focus,.show>.btn-info_opacity_6.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(91,189,205,.5)}.btn-info_opacity_6.disabled,.btn-info_opacity_6:disabled{color:#fff;background-color:rgba(23,162,184,.6);border-color:rgba(23,162,184,.6)}.btn-info_opacity_7{color:#fff;background-color:rgba(23,162,184,.7);border-color:rgba(23,162,184,.7)}.btn-info_opacity_7:hover{color:#fff;background-color:rgba(19,132,150,.7);border-color:rgba(17,122,139,.7)}.btn-check:focus+.btn-info_opacity_7,.btn-info_opacity_7:focus{color:#fff;background-color:rgba(19,132,150,.7);border-color:rgba(17,122,139,.7);box-shadow:0 0 0 .2rem rgba(80,185,202,.5)}.btn-check:active+.btn-info_opacity_7,.btn-check:checked+.btn-info_opacity_7,.btn-info_opacity_7.active,.btn-info_opacity_7:active,.show>.btn-info_opacity_7.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.7);border-color:rgba(16,112,127,.7)}.btn-check:active+.btn-info_opacity_7:focus,.btn-check:checked+.btn-info_opacity_7:focus,.btn-info_opacity_7.active:focus,.btn-info_opacity_7:active:focus,.show>.btn-info_opacity_7.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(80,185,202,.5)}.btn-info_opacity_7.disabled,.btn-info_opacity_7:disabled{color:#fff;background-color:rgba(23,162,184,.7);border-color:rgba(23,162,184,.7)}.btn-info_opacity_8{color:#fff;background-color:rgba(23,162,184,.8);border-color:rgba(23,162,184,.8)}.btn-info_opacity_8:hover{color:#fff;background-color:rgba(19,132,150,.8);border-color:rgba(17,122,139,.8)}.btn-check:focus+.btn-info_opacity_8,.btn-info_opacity_8:focus{color:#fff;background-color:rgba(19,132,150,.8);border-color:rgba(17,122,139,.8);box-shadow:0 0 0 .2rem rgba(72,181,199,.5)}.btn-check:active+.btn-info_opacity_8,.btn-check:checked+.btn-info_opacity_8,.btn-info_opacity_8.active,.btn-info_opacity_8:active,.show>.btn-info_opacity_8.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.8);border-color:rgba(16,112,127,.8)}.btn-check:active+.btn-info_opacity_8:focus,.btn-check:checked+.btn-info_opacity_8:focus,.btn-info_opacity_8.active:focus,.btn-info_opacity_8:active:focus,.show>.btn-info_opacity_8.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,181,199,.5)}.btn-info_opacity_8.disabled,.btn-info_opacity_8:disabled{color:#fff;background-color:rgba(23,162,184,.8);border-color:rgba(23,162,184,.8)}.btn-info_opacity_9{color:#fff;background-color:rgba(23,162,184,.9);border-color:rgba(23,162,184,.9)}.btn-info_opacity_9:hover{color:#fff;background-color:rgba(19,132,150,.9);border-color:rgba(17,122,139,.9)}.btn-check:focus+.btn-info_opacity_9,.btn-info_opacity_9:focus{color:#fff;background-color:rgba(19,132,150,.9);border-color:rgba(17,122,139,.9);box-shadow:0 0 0 .2rem rgba(64,179,197,.5)}.btn-check:active+.btn-info_opacity_9,.btn-check:checked+.btn-info_opacity_9,.btn-info_opacity_9.active,.btn-info_opacity_9:active,.show>.btn-info_opacity_9.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.9);border-color:rgba(16,112,127,.9)}.btn-check:active+.btn-info_opacity_9:focus,.btn-check:checked+.btn-info_opacity_9:focus,.btn-info_opacity_9.active:focus,.btn-info_opacity_9:active:focus,.show>.btn-info_opacity_9.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(64,179,197,.5)}.btn-info_opacity_9.disabled,.btn-info_opacity_9:disabled{color:#fff;background-color:rgba(23,162,184,.9);border-color:rgba(23,162,184,.9)}.btn-warning_opacity_1{color:#212529;background-color:rgba(255,193,7,.1);border-color:rgba(255,193,7,.1)}.btn-warning_opacity_1:hover{color:#212529;background-color:rgba(224,168,0,.1);border-color:rgba(211,158,0,.1)}.btn-check:focus+.btn-warning_opacity_1,.btn-warning_opacity_1:focus{color:#212529;background-color:rgba(224,168,0,.1);border-color:rgba(211,158,0,.1);box-shadow:0 0 0 .2rem rgba(84,73,33,.5)}.btn-check:active+.btn-warning_opacity_1,.btn-check:checked+.btn-warning_opacity_1,.btn-warning_opacity_1.active,.btn-warning_opacity_1:active,.show>.btn-warning_opacity_1.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.1);border-color:rgba(198,149,0,.1)}.btn-check:active+.btn-warning_opacity_1:focus,.btn-check:checked+.btn-warning_opacity_1:focus,.btn-warning_opacity_1.active:focus,.btn-warning_opacity_1:active:focus,.show>.btn-warning_opacity_1.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(84,73,33,.5)}.btn-warning_opacity_1.disabled,.btn-warning_opacity_1:disabled{color:#212529;background-color:rgba(255,193,7,.1);border-color:rgba(255,193,7,.1)}.btn-warning_opacity_2{color:#212529;background-color:rgba(255,193,7,.2);border-color:rgba(255,193,7,.2)}.btn-warning_opacity_2:hover{color:#212529;background-color:rgba(224,168,0,.2);border-color:rgba(211,158,0,.2)}.btn-check:focus+.btn-warning_opacity_2,.btn-warning_opacity_2:focus{color:#212529;background-color:rgba(224,168,0,.2);border-color:rgba(211,158,0,.2);box-shadow:0 0 0 .2rem rgba(119,97,28,.5)}.btn-check:active+.btn-warning_opacity_2,.btn-check:checked+.btn-warning_opacity_2,.btn-warning_opacity_2.active,.btn-warning_opacity_2:active,.show>.btn-warning_opacity_2.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.2);border-color:rgba(198,149,0,.2)}.btn-check:active+.btn-warning_opacity_2:focus,.btn-check:checked+.btn-warning_opacity_2:focus,.btn-warning_opacity_2.active:focus,.btn-warning_opacity_2:active:focus,.show>.btn-warning_opacity_2.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(119,97,28,.5)}.btn-warning_opacity_2.disabled,.btn-warning_opacity_2:disabled{color:#212529;background-color:rgba(255,193,7,.2);border-color:rgba(255,193,7,.2)}.btn-warning_opacity_3{color:#212529;background-color:rgba(255,193,7,.3);border-color:rgba(255,193,7,.3)}.btn-warning_opacity_3:hover{color:#212529;background-color:rgba(224,168,0,.3);border-color:rgba(211,158,0,.3)}.btn-check:focus+.btn-warning_opacity_3,.btn-warning_opacity_3:focus{color:#212529;background-color:rgba(224,168,0,.3);border-color:rgba(211,158,0,.3);box-shadow:0 0 0 .2rem rgba(144,115,24,.5)}.btn-check:active+.btn-warning_opacity_3,.btn-check:checked+.btn-warning_opacity_3,.btn-warning_opacity_3.active,.btn-warning_opacity_3:active,.show>.btn-warning_opacity_3.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.3);border-color:rgba(198,149,0,.3)}.btn-check:active+.btn-warning_opacity_3:focus,.btn-check:checked+.btn-warning_opacity_3:focus,.btn-warning_opacity_3.active:focus,.btn-warning_opacity_3:active:focus,.show>.btn-warning_opacity_3.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(144,115,24,.5)}.btn-warning_opacity_3.disabled,.btn-warning_opacity_3:disabled{color:#212529;background-color:rgba(255,193,7,.3);border-color:rgba(255,193,7,.3)}.btn-warning_opacity_4{color:#212529;background-color:rgba(255,193,7,.4);border-color:rgba(255,193,7,.4)}.btn-warning_opacity_4:hover{color:#212529;background-color:rgba(224,168,0,.4);border-color:rgba(211,158,0,.4)}.btn-check:focus+.btn-warning_opacity_4,.btn-warning_opacity_4:focus{color:#212529;background-color:rgba(224,168,0,.4);border-color:rgba(211,158,0,.4);box-shadow:0 0 0 .2rem rgba(163,128,21,.5)}.btn-check:active+.btn-warning_opacity_4,.btn-check:checked+.btn-warning_opacity_4,.btn-warning_opacity_4.active,.btn-warning_opacity_4:active,.show>.btn-warning_opacity_4.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.4);border-color:rgba(198,149,0,.4)}.btn-check:active+.btn-warning_opacity_4:focus,.btn-check:checked+.btn-warning_opacity_4:focus,.btn-warning_opacity_4.active:focus,.btn-warning_opacity_4:active:focus,.show>.btn-warning_opacity_4.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(163,128,21,.5)}.btn-warning_opacity_4.disabled,.btn-warning_opacity_4:disabled{color:#212529;background-color:rgba(255,193,7,.4);border-color:rgba(255,193,7,.4)}.btn-warning_opacity_5{color:#212529;background-color:rgba(255,193,7,.5);border-color:rgba(255,193,7,.5)}.btn-warning_opacity_5:hover{color:#212529;background-color:rgba(224,168,0,.5);border-color:rgba(211,158,0,.5)}.btn-check:focus+.btn-warning_opacity_5,.btn-warning_opacity_5:focus{color:#212529;background-color:rgba(224,168,0,.5);border-color:rgba(211,158,0,.5);box-shadow:0 0 0 .2rem rgba(178,139,19,.5)}.btn-check:active+.btn-warning_opacity_5,.btn-check:checked+.btn-warning_opacity_5,.btn-warning_opacity_5.active,.btn-warning_opacity_5:active,.show>.btn-warning_opacity_5.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.5);border-color:rgba(198,149,0,.5)}.btn-check:active+.btn-warning_opacity_5:focus,.btn-check:checked+.btn-warning_opacity_5:focus,.btn-warning_opacity_5.active:focus,.btn-warning_opacity_5:active:focus,.show>.btn-warning_opacity_5.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(178,139,19,.5)}.btn-warning_opacity_5.disabled,.btn-warning_opacity_5:disabled{color:#212529;background-color:rgba(255,193,7,.5);border-color:rgba(255,193,7,.5)}.btn-warning_opacity_6{color:#212529;background-color:rgba(255,193,7,.6);border-color:rgba(255,193,7,.6)}.btn-warning_opacity_6:hover{color:#212529;background-color:rgba(224,168,0,.6);border-color:rgba(211,158,0,.6)}.btn-check:focus+.btn-warning_opacity_6,.btn-warning_opacity_6:focus{color:#212529;background-color:rgba(224,168,0,.6);border-color:rgba(211,158,0,.6);box-shadow:0 0 0 .2rem rgba(190,148,17,.5)}.btn-check:active+.btn-warning_opacity_6,.btn-check:checked+.btn-warning_opacity_6,.btn-warning_opacity_6.active,.btn-warning_opacity_6:active,.show>.btn-warning_opacity_6.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.6);border-color:rgba(198,149,0,.6)}.btn-check:active+.btn-warning_opacity_6:focus,.btn-check:checked+.btn-warning_opacity_6:focus,.btn-warning_opacity_6.active:focus,.btn-warning_opacity_6:active:focus,.show>.btn-warning_opacity_6.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(190,148,17,.5)}.btn-warning_opacity_6.disabled,.btn-warning_opacity_6:disabled{color:#212529;background-color:rgba(255,193,7,.6);border-color:rgba(255,193,7,.6)}.btn-warning_opacity_7{color:#212529;background-color:rgba(255,193,7,.7);border-color:rgba(255,193,7,.7)}.btn-warning_opacity_7:hover{color:#212529;background-color:rgba(224,168,0,.7);border-color:rgba(211,158,0,.7)}.btn-check:focus+.btn-warning_opacity_7,.btn-warning_opacity_7:focus{color:#212529;background-color:rgba(224,168,0,.7);border-color:rgba(211,158,0,.7);box-shadow:0 0 0 .2rem rgba(200,154,15,.5)}.btn-check:active+.btn-warning_opacity_7,.btn-check:checked+.btn-warning_opacity_7,.btn-warning_opacity_7.active,.btn-warning_opacity_7:active,.show>.btn-warning_opacity_7.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.7);border-color:rgba(198,149,0,.7)}.btn-check:active+.btn-warning_opacity_7:focus,.btn-check:checked+.btn-warning_opacity_7:focus,.btn-warning_opacity_7.active:focus,.btn-warning_opacity_7:active:focus,.show>.btn-warning_opacity_7.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(200,154,15,.5)}.btn-warning_opacity_7.disabled,.btn-warning_opacity_7:disabled{color:#212529;background-color:rgba(255,193,7,.7);border-color:rgba(255,193,7,.7)}.btn-warning_opacity_8{color:#212529;background-color:rgba(255,193,7,.8);border-color:rgba(255,193,7,.8)}.btn-warning_opacity_8:hover{color:#212529;background-color:rgba(224,168,0,.8);border-color:rgba(211,158,0,.8)}.btn-check:focus+.btn-warning_opacity_8,.btn-warning_opacity_8:focus{color:#212529;background-color:rgba(224,168,0,.8);border-color:rgba(211,158,0,.8);box-shadow:0 0 0 .2rem rgba(209,160,14,.5)}.btn-check:active+.btn-warning_opacity_8,.btn-check:checked+.btn-warning_opacity_8,.btn-warning_opacity_8.active,.btn-warning_opacity_8:active,.show>.btn-warning_opacity_8.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.8);border-color:rgba(198,149,0,.8)}.btn-check:active+.btn-warning_opacity_8:focus,.btn-check:checked+.btn-warning_opacity_8:focus,.btn-warning_opacity_8.active:focus,.btn-warning_opacity_8:active:focus,.show>.btn-warning_opacity_8.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(209,160,14,.5)}.btn-warning_opacity_8.disabled,.btn-warning_opacity_8:disabled{color:#212529;background-color:rgba(255,193,7,.8);border-color:rgba(255,193,7,.8)}.btn-warning_opacity_9{color:#212529;background-color:rgba(255,193,7,.9);border-color:rgba(255,193,7,.9)}.btn-warning_opacity_9:hover{color:#212529;background-color:rgba(224,168,0,.9);border-color:rgba(211,158,0,.9)}.btn-check:focus+.btn-warning_opacity_9,.btn-warning_opacity_9:focus{color:#212529;background-color:rgba(224,168,0,.9);border-color:rgba(211,158,0,.9);box-shadow:0 0 0 .2rem rgba(216,165,13,.5)}.btn-check:active+.btn-warning_opacity_9,.btn-check:checked+.btn-warning_opacity_9,.btn-warning_opacity_9.active,.btn-warning_opacity_9:active,.show>.btn-warning_opacity_9.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.9);border-color:rgba(198,149,0,.9)}.btn-check:active+.btn-warning_opacity_9:focus,.btn-check:checked+.btn-warning_opacity_9:focus,.btn-warning_opacity_9.active:focus,.btn-warning_opacity_9:active:focus,.show>.btn-warning_opacity_9.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,165,13,.5)}.btn-warning_opacity_9.disabled,.btn-warning_opacity_9:disabled{color:#212529;background-color:rgba(255,193,7,.9);border-color:rgba(255,193,7,.9)}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#28a745;border-color:#28a745}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-success_opacity_1{color:rgba(40,167,69,.1);border-color:rgba(40,167,69,.1)}.btn-outline-success_opacity_1:hover{color:#fff;background-color:rgba(40,167,69,.1);border-color:rgba(40,167,69,.1)}.btn-check:focus+.btn-outline-success_opacity_1,.btn-outline-success_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_1,.btn-check:checked+.btn-outline-success_opacity_1,.btn-outline-success_opacity_1.active,.btn-outline-success_opacity_1.dropdown-toggle.show,.btn-outline-success_opacity_1:active{color:#fff;background-color:rgba(40,167,69,.1);border-color:rgba(40,167,69,.1)}.btn-check:active+.btn-outline-success_opacity_1:focus,.btn-check:checked+.btn-outline-success_opacity_1:focus,.btn-outline-success_opacity_1.active:focus,.btn-outline-success_opacity_1.dropdown-toggle.show:focus,.btn-outline-success_opacity_1:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_1.disabled,.btn-outline-success_opacity_1:disabled{color:rgba(40,167,69,.1);background-color:transparent}.btn-outline-success_opacity_2{color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.2)}.btn-outline-success_opacity_2:hover{color:#fff;background-color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.2)}.btn-check:focus+.btn-outline-success_opacity_2,.btn-outline-success_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_2,.btn-check:checked+.btn-outline-success_opacity_2,.btn-outline-success_opacity_2.active,.btn-outline-success_opacity_2.dropdown-toggle.show,.btn-outline-success_opacity_2:active{color:#fff;background-color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.2)}.btn-check:active+.btn-outline-success_opacity_2:focus,.btn-check:checked+.btn-outline-success_opacity_2:focus,.btn-outline-success_opacity_2.active:focus,.btn-outline-success_opacity_2.dropdown-toggle.show:focus,.btn-outline-success_opacity_2:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_2.disabled,.btn-outline-success_opacity_2:disabled{color:rgba(40,167,69,.2);background-color:transparent}.btn-outline-success_opacity_3{color:rgba(40,167,69,.3);border-color:rgba(40,167,69,.3)}.btn-outline-success_opacity_3:hover{color:#fff;background-color:rgba(40,167,69,.3);border-color:rgba(40,167,69,.3)}.btn-check:focus+.btn-outline-success_opacity_3,.btn-outline-success_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_3,.btn-check:checked+.btn-outline-success_opacity_3,.btn-outline-success_opacity_3.active,.btn-outline-success_opacity_3.dropdown-toggle.show,.btn-outline-success_opacity_3:active{color:#fff;background-color:rgba(40,167,69,.3);border-color:rgba(40,167,69,.3)}.btn-check:active+.btn-outline-success_opacity_3:focus,.btn-check:checked+.btn-outline-success_opacity_3:focus,.btn-outline-success_opacity_3.active:focus,.btn-outline-success_opacity_3.dropdown-toggle.show:focus,.btn-outline-success_opacity_3:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_3.disabled,.btn-outline-success_opacity_3:disabled{color:rgba(40,167,69,.3);background-color:transparent}.btn-outline-success_opacity_4{color:rgba(40,167,69,.4);border-color:rgba(40,167,69,.4)}.btn-outline-success_opacity_4:hover{color:#fff;background-color:rgba(40,167,69,.4);border-color:rgba(40,167,69,.4)}.btn-check:focus+.btn-outline-success_opacity_4,.btn-outline-success_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_4,.btn-check:checked+.btn-outline-success_opacity_4,.btn-outline-success_opacity_4.active,.btn-outline-success_opacity_4.dropdown-toggle.show,.btn-outline-success_opacity_4:active{color:#fff;background-color:rgba(40,167,69,.4);border-color:rgba(40,167,69,.4)}.btn-check:active+.btn-outline-success_opacity_4:focus,.btn-check:checked+.btn-outline-success_opacity_4:focus,.btn-outline-success_opacity_4.active:focus,.btn-outline-success_opacity_4.dropdown-toggle.show:focus,.btn-outline-success_opacity_4:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_4.disabled,.btn-outline-success_opacity_4:disabled{color:rgba(40,167,69,.4);background-color:transparent}.btn-outline-success_opacity_5{color:rgba(40,167,69,.5);border-color:rgba(40,167,69,.5)}.btn-outline-success_opacity_5:hover{color:#fff;background-color:rgba(40,167,69,.5);border-color:rgba(40,167,69,.5)}.btn-check:focus+.btn-outline-success_opacity_5,.btn-outline-success_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_5,.btn-check:checked+.btn-outline-success_opacity_5,.btn-outline-success_opacity_5.active,.btn-outline-success_opacity_5.dropdown-toggle.show,.btn-outline-success_opacity_5:active{color:#fff;background-color:rgba(40,167,69,.5);border-color:rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_5:focus,.btn-check:checked+.btn-outline-success_opacity_5:focus,.btn-outline-success_opacity_5.active:focus,.btn-outline-success_opacity_5.dropdown-toggle.show:focus,.btn-outline-success_opacity_5:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_5.disabled,.btn-outline-success_opacity_5:disabled{color:rgba(40,167,69,.5);background-color:transparent}.btn-outline-success_opacity_6{color:rgba(40,167,69,.6);border-color:rgba(40,167,69,.6)}.btn-outline-success_opacity_6:hover{color:#fff;background-color:rgba(40,167,69,.6);border-color:rgba(40,167,69,.6)}.btn-check:focus+.btn-outline-success_opacity_6,.btn-outline-success_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_6,.btn-check:checked+.btn-outline-success_opacity_6,.btn-outline-success_opacity_6.active,.btn-outline-success_opacity_6.dropdown-toggle.show,.btn-outline-success_opacity_6:active{color:#fff;background-color:rgba(40,167,69,.6);border-color:rgba(40,167,69,.6)}.btn-check:active+.btn-outline-success_opacity_6:focus,.btn-check:checked+.btn-outline-success_opacity_6:focus,.btn-outline-success_opacity_6.active:focus,.btn-outline-success_opacity_6.dropdown-toggle.show:focus,.btn-outline-success_opacity_6:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_6.disabled,.btn-outline-success_opacity_6:disabled{color:rgba(40,167,69,.6);background-color:transparent}.btn-outline-success_opacity_7{color:rgba(40,167,69,.7);border-color:rgba(40,167,69,.7)}.btn-outline-success_opacity_7:hover{color:#fff;background-color:rgba(40,167,69,.7);border-color:rgba(40,167,69,.7)}.btn-check:focus+.btn-outline-success_opacity_7,.btn-outline-success_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_7,.btn-check:checked+.btn-outline-success_opacity_7,.btn-outline-success_opacity_7.active,.btn-outline-success_opacity_7.dropdown-toggle.show,.btn-outline-success_opacity_7:active{color:#fff;background-color:rgba(40,167,69,.7);border-color:rgba(40,167,69,.7)}.btn-check:active+.btn-outline-success_opacity_7:focus,.btn-check:checked+.btn-outline-success_opacity_7:focus,.btn-outline-success_opacity_7.active:focus,.btn-outline-success_opacity_7.dropdown-toggle.show:focus,.btn-outline-success_opacity_7:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_7.disabled,.btn-outline-success_opacity_7:disabled{color:rgba(40,167,69,.7);background-color:transparent}.btn-outline-success_opacity_8{color:rgba(40,167,69,.8);border-color:rgba(40,167,69,.8)}.btn-outline-success_opacity_8:hover{color:#fff;background-color:rgba(40,167,69,.8);border-color:rgba(40,167,69,.8)}.btn-check:focus+.btn-outline-success_opacity_8,.btn-outline-success_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_8,.btn-check:checked+.btn-outline-success_opacity_8,.btn-outline-success_opacity_8.active,.btn-outline-success_opacity_8.dropdown-toggle.show,.btn-outline-success_opacity_8:active{color:#fff;background-color:rgba(40,167,69,.8);border-color:rgba(40,167,69,.8)}.btn-check:active+.btn-outline-success_opacity_8:focus,.btn-check:checked+.btn-outline-success_opacity_8:focus,.btn-outline-success_opacity_8.active:focus,.btn-outline-success_opacity_8.dropdown-toggle.show:focus,.btn-outline-success_opacity_8:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_8.disabled,.btn-outline-success_opacity_8:disabled{color:rgba(40,167,69,.8);background-color:transparent}.btn-outline-success_opacity_9{color:rgba(40,167,69,.9);border-color:rgba(40,167,69,.9)}.btn-outline-success_opacity_9:hover{color:#fff;background-color:rgba(40,167,69,.9);border-color:rgba(40,167,69,.9)}.btn-check:focus+.btn-outline-success_opacity_9,.btn-outline-success_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_9,.btn-check:checked+.btn-outline-success_opacity_9,.btn-outline-success_opacity_9.active,.btn-outline-success_opacity_9.dropdown-toggle.show,.btn-outline-success_opacity_9:active{color:#fff;background-color:rgba(40,167,69,.9);border-color:rgba(40,167,69,.9)}.btn-check:active+.btn-outline-success_opacity_9:focus,.btn-check:checked+.btn-outline-success_opacity_9:focus,.btn-outline-success_opacity_9.active:focus,.btn-outline-success_opacity_9.dropdown-toggle.show:focus,.btn-outline-success_opacity_9:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_9.disabled,.btn-outline-success_opacity_9:disabled{color:rgba(40,167,69,.9);background-color:transparent}.btn-outline-primary_opacity_1{color:rgba(13,110,253,.1);border-color:rgba(13,110,253,.1)}.btn-outline-primary_opacity_1:hover{color:#fff;background-color:rgba(13,110,253,.1);border-color:rgba(13,110,253,.1)}.btn-check:focus+.btn-outline-primary_opacity_1,.btn-outline-primary_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_1,.btn-check:checked+.btn-outline-primary_opacity_1,.btn-outline-primary_opacity_1.active,.btn-outline-primary_opacity_1.dropdown-toggle.show,.btn-outline-primary_opacity_1:active{color:#fff;background-color:rgba(13,110,253,.1);border-color:rgba(13,110,253,.1)}.btn-check:active+.btn-outline-primary_opacity_1:focus,.btn-check:checked+.btn-outline-primary_opacity_1:focus,.btn-outline-primary_opacity_1.active:focus,.btn-outline-primary_opacity_1.dropdown-toggle.show:focus,.btn-outline-primary_opacity_1:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_1.disabled,.btn-outline-primary_opacity_1:disabled{color:rgba(13,110,253,.1);background-color:transparent}.btn-outline-primary_opacity_2{color:rgba(13,110,253,.2);border-color:rgba(13,110,253,.2)}.btn-outline-primary_opacity_2:hover{color:#fff;background-color:rgba(13,110,253,.2);border-color:rgba(13,110,253,.2)}.btn-check:focus+.btn-outline-primary_opacity_2,.btn-outline-primary_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_2,.btn-check:checked+.btn-outline-primary_opacity_2,.btn-outline-primary_opacity_2.active,.btn-outline-primary_opacity_2.dropdown-toggle.show,.btn-outline-primary_opacity_2:active{color:#fff;background-color:rgba(13,110,253,.2);border-color:rgba(13,110,253,.2)}.btn-check:active+.btn-outline-primary_opacity_2:focus,.btn-check:checked+.btn-outline-primary_opacity_2:focus,.btn-outline-primary_opacity_2.active:focus,.btn-outline-primary_opacity_2.dropdown-toggle.show:focus,.btn-outline-primary_opacity_2:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_2.disabled,.btn-outline-primary_opacity_2:disabled{color:rgba(13,110,253,.2);background-color:transparent}.btn-outline-primary_opacity_3{color:rgba(13,110,253,.3);border-color:rgba(13,110,253,.3)}.btn-outline-primary_opacity_3:hover{color:#fff;background-color:rgba(13,110,253,.3);border-color:rgba(13,110,253,.3)}.btn-check:focus+.btn-outline-primary_opacity_3,.btn-outline-primary_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_3,.btn-check:checked+.btn-outline-primary_opacity_3,.btn-outline-primary_opacity_3.active,.btn-outline-primary_opacity_3.dropdown-toggle.show,.btn-outline-primary_opacity_3:active{color:#fff;background-color:rgba(13,110,253,.3);border-color:rgba(13,110,253,.3)}.btn-check:active+.btn-outline-primary_opacity_3:focus,.btn-check:checked+.btn-outline-primary_opacity_3:focus,.btn-outline-primary_opacity_3.active:focus,.btn-outline-primary_opacity_3.dropdown-toggle.show:focus,.btn-outline-primary_opacity_3:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_3.disabled,.btn-outline-primary_opacity_3:disabled{color:rgba(13,110,253,.3);background-color:transparent}.btn-outline-primary_opacity_4{color:rgba(13,110,253,.4);border-color:rgba(13,110,253,.4)}.btn-outline-primary_opacity_4:hover{color:#fff;background-color:rgba(13,110,253,.4);border-color:rgba(13,110,253,.4)}.btn-check:focus+.btn-outline-primary_opacity_4,.btn-outline-primary_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_4,.btn-check:checked+.btn-outline-primary_opacity_4,.btn-outline-primary_opacity_4.active,.btn-outline-primary_opacity_4.dropdown-toggle.show,.btn-outline-primary_opacity_4:active{color:#fff;background-color:rgba(13,110,253,.4);border-color:rgba(13,110,253,.4)}.btn-check:active+.btn-outline-primary_opacity_4:focus,.btn-check:checked+.btn-outline-primary_opacity_4:focus,.btn-outline-primary_opacity_4.active:focus,.btn-outline-primary_opacity_4.dropdown-toggle.show:focus,.btn-outline-primary_opacity_4:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_4.disabled,.btn-outline-primary_opacity_4:disabled{color:rgba(13,110,253,.4);background-color:transparent}.btn-outline-primary_opacity_5{color:rgba(13,110,253,.5);border-color:rgba(13,110,253,.5)}.btn-outline-primary_opacity_5:hover{color:#fff;background-color:rgba(13,110,253,.5);border-color:rgba(13,110,253,.5)}.btn-check:focus+.btn-outline-primary_opacity_5,.btn-outline-primary_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_5,.btn-check:checked+.btn-outline-primary_opacity_5,.btn-outline-primary_opacity_5.active,.btn-outline-primary_opacity_5.dropdown-toggle.show,.btn-outline-primary_opacity_5:active{color:#fff;background-color:rgba(13,110,253,.5);border-color:rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_5:focus,.btn-check:checked+.btn-outline-primary_opacity_5:focus,.btn-outline-primary_opacity_5.active:focus,.btn-outline-primary_opacity_5.dropdown-toggle.show:focus,.btn-outline-primary_opacity_5:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_5.disabled,.btn-outline-primary_opacity_5:disabled{color:rgba(13,110,253,.5);background-color:transparent}.btn-outline-primary_opacity_6{color:rgba(13,110,253,.6);border-color:rgba(13,110,253,.6)}.btn-outline-primary_opacity_6:hover{color:#fff;background-color:rgba(13,110,253,.6);border-color:rgba(13,110,253,.6)}.btn-check:focus+.btn-outline-primary_opacity_6,.btn-outline-primary_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_6,.btn-check:checked+.btn-outline-primary_opacity_6,.btn-outline-primary_opacity_6.active,.btn-outline-primary_opacity_6.dropdown-toggle.show,.btn-outline-primary_opacity_6:active{color:#fff;background-color:rgba(13,110,253,.6);border-color:rgba(13,110,253,.6)}.btn-check:active+.btn-outline-primary_opacity_6:focus,.btn-check:checked+.btn-outline-primary_opacity_6:focus,.btn-outline-primary_opacity_6.active:focus,.btn-outline-primary_opacity_6.dropdown-toggle.show:focus,.btn-outline-primary_opacity_6:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_6.disabled,.btn-outline-primary_opacity_6:disabled{color:rgba(13,110,253,.6);background-color:transparent}.btn-outline-primary_opacity_7{color:rgba(13,110,253,.7);border-color:rgba(13,110,253,.7)}.btn-outline-primary_opacity_7:hover{color:#fff;background-color:rgba(13,110,253,.7);border-color:rgba(13,110,253,.7)}.btn-check:focus+.btn-outline-primary_opacity_7,.btn-outline-primary_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_7,.btn-check:checked+.btn-outline-primary_opacity_7,.btn-outline-primary_opacity_7.active,.btn-outline-primary_opacity_7.dropdown-toggle.show,.btn-outline-primary_opacity_7:active{color:#fff;background-color:rgba(13,110,253,.7);border-color:rgba(13,110,253,.7)}.btn-check:active+.btn-outline-primary_opacity_7:focus,.btn-check:checked+.btn-outline-primary_opacity_7:focus,.btn-outline-primary_opacity_7.active:focus,.btn-outline-primary_opacity_7.dropdown-toggle.show:focus,.btn-outline-primary_opacity_7:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_7.disabled,.btn-outline-primary_opacity_7:disabled{color:rgba(13,110,253,.7);background-color:transparent}.btn-outline-primary_opacity_8{color:rgba(13,110,253,.8);border-color:rgba(13,110,253,.8)}.btn-outline-primary_opacity_8:hover{color:#fff;background-color:rgba(13,110,253,.8);border-color:rgba(13,110,253,.8)}.btn-check:focus+.btn-outline-primary_opacity_8,.btn-outline-primary_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_8,.btn-check:checked+.btn-outline-primary_opacity_8,.btn-outline-primary_opacity_8.active,.btn-outline-primary_opacity_8.dropdown-toggle.show,.btn-outline-primary_opacity_8:active{color:#fff;background-color:rgba(13,110,253,.8);border-color:rgba(13,110,253,.8)}.btn-check:active+.btn-outline-primary_opacity_8:focus,.btn-check:checked+.btn-outline-primary_opacity_8:focus,.btn-outline-primary_opacity_8.active:focus,.btn-outline-primary_opacity_8.dropdown-toggle.show:focus,.btn-outline-primary_opacity_8:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_8.disabled,.btn-outline-primary_opacity_8:disabled{color:rgba(13,110,253,.8);background-color:transparent}.btn-outline-primary_opacity_9{color:rgba(13,110,253,.9);border-color:rgba(13,110,253,.9)}.btn-outline-primary_opacity_9:hover{color:#fff;background-color:rgba(13,110,253,.9);border-color:rgba(13,110,253,.9)}.btn-check:focus+.btn-outline-primary_opacity_9,.btn-outline-primary_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_9,.btn-check:checked+.btn-outline-primary_opacity_9,.btn-outline-primary_opacity_9.active,.btn-outline-primary_opacity_9.dropdown-toggle.show,.btn-outline-primary_opacity_9:active{color:#fff;background-color:rgba(13,110,253,.9);border-color:rgba(13,110,253,.9)}.btn-check:active+.btn-outline-primary_opacity_9:focus,.btn-check:checked+.btn-outline-primary_opacity_9:focus,.btn-outline-primary_opacity_9.active:focus,.btn-outline-primary_opacity_9.dropdown-toggle.show:focus,.btn-outline-primary_opacity_9:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_9.disabled,.btn-outline-primary_opacity_9:disabled{color:rgba(13,110,253,.9);background-color:transparent}.btn-outline-danger_opacity_1{color:rgba(220,53,69,.1);border-color:rgba(220,53,69,.1)}.btn-outline-danger_opacity_1:hover{color:#fff;background-color:rgba(220,53,69,.1);border-color:rgba(220,53,69,.1)}.btn-check:focus+.btn-outline-danger_opacity_1,.btn-outline-danger_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_1,.btn-check:checked+.btn-outline-danger_opacity_1,.btn-outline-danger_opacity_1.active,.btn-outline-danger_opacity_1.dropdown-toggle.show,.btn-outline-danger_opacity_1:active{color:#fff;background-color:rgba(220,53,69,.1);border-color:rgba(220,53,69,.1)}.btn-check:active+.btn-outline-danger_opacity_1:focus,.btn-check:checked+.btn-outline-danger_opacity_1:focus,.btn-outline-danger_opacity_1.active:focus,.btn-outline-danger_opacity_1.dropdown-toggle.show:focus,.btn-outline-danger_opacity_1:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_1.disabled,.btn-outline-danger_opacity_1:disabled{color:rgba(220,53,69,.1);background-color:transparent}.btn-outline-danger_opacity_2{color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.2)}.btn-outline-danger_opacity_2:hover{color:#fff;background-color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.2)}.btn-check:focus+.btn-outline-danger_opacity_2,.btn-outline-danger_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_2,.btn-check:checked+.btn-outline-danger_opacity_2,.btn-outline-danger_opacity_2.active,.btn-outline-danger_opacity_2.dropdown-toggle.show,.btn-outline-danger_opacity_2:active{color:#fff;background-color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.2)}.btn-check:active+.btn-outline-danger_opacity_2:focus,.btn-check:checked+.btn-outline-danger_opacity_2:focus,.btn-outline-danger_opacity_2.active:focus,.btn-outline-danger_opacity_2.dropdown-toggle.show:focus,.btn-outline-danger_opacity_2:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_2.disabled,.btn-outline-danger_opacity_2:disabled{color:rgba(220,53,69,.2);background-color:transparent}.btn-outline-danger_opacity_3{color:rgba(220,53,69,.3);border-color:rgba(220,53,69,.3)}.btn-outline-danger_opacity_3:hover{color:#fff;background-color:rgba(220,53,69,.3);border-color:rgba(220,53,69,.3)}.btn-check:focus+.btn-outline-danger_opacity_3,.btn-outline-danger_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_3,.btn-check:checked+.btn-outline-danger_opacity_3,.btn-outline-danger_opacity_3.active,.btn-outline-danger_opacity_3.dropdown-toggle.show,.btn-outline-danger_opacity_3:active{color:#fff;background-color:rgba(220,53,69,.3);border-color:rgba(220,53,69,.3)}.btn-check:active+.btn-outline-danger_opacity_3:focus,.btn-check:checked+.btn-outline-danger_opacity_3:focus,.btn-outline-danger_opacity_3.active:focus,.btn-outline-danger_opacity_3.dropdown-toggle.show:focus,.btn-outline-danger_opacity_3:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_3.disabled,.btn-outline-danger_opacity_3:disabled{color:rgba(220,53,69,.3);background-color:transparent}.btn-outline-danger_opacity_4{color:rgba(220,53,69,.4);border-color:rgba(220,53,69,.4)}.btn-outline-danger_opacity_4:hover{color:#fff;background-color:rgba(220,53,69,.4);border-color:rgba(220,53,69,.4)}.btn-check:focus+.btn-outline-danger_opacity_4,.btn-outline-danger_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_4,.btn-check:checked+.btn-outline-danger_opacity_4,.btn-outline-danger_opacity_4.active,.btn-outline-danger_opacity_4.dropdown-toggle.show,.btn-outline-danger_opacity_4:active{color:#fff;background-color:rgba(220,53,69,.4);border-color:rgba(220,53,69,.4)}.btn-check:active+.btn-outline-danger_opacity_4:focus,.btn-check:checked+.btn-outline-danger_opacity_4:focus,.btn-outline-danger_opacity_4.active:focus,.btn-outline-danger_opacity_4.dropdown-toggle.show:focus,.btn-outline-danger_opacity_4:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_4.disabled,.btn-outline-danger_opacity_4:disabled{color:rgba(220,53,69,.4);background-color:transparent}.btn-outline-danger_opacity_5{color:rgba(220,53,69,.5);border-color:rgba(220,53,69,.5)}.btn-outline-danger_opacity_5:hover{color:#fff;background-color:rgba(220,53,69,.5);border-color:rgba(220,53,69,.5)}.btn-check:focus+.btn-outline-danger_opacity_5,.btn-outline-danger_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_5,.btn-check:checked+.btn-outline-danger_opacity_5,.btn-outline-danger_opacity_5.active,.btn-outline-danger_opacity_5.dropdown-toggle.show,.btn-outline-danger_opacity_5:active{color:#fff;background-color:rgba(220,53,69,.5);border-color:rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_5:focus,.btn-check:checked+.btn-outline-danger_opacity_5:focus,.btn-outline-danger_opacity_5.active:focus,.btn-outline-danger_opacity_5.dropdown-toggle.show:focus,.btn-outline-danger_opacity_5:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_5.disabled,.btn-outline-danger_opacity_5:disabled{color:rgba(220,53,69,.5);background-color:transparent}.btn-outline-danger_opacity_6{color:rgba(220,53,69,.6);border-color:rgba(220,53,69,.6)}.btn-outline-danger_opacity_6:hover{color:#fff;background-color:rgba(220,53,69,.6);border-color:rgba(220,53,69,.6)}.btn-check:focus+.btn-outline-danger_opacity_6,.btn-outline-danger_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_6,.btn-check:checked+.btn-outline-danger_opacity_6,.btn-outline-danger_opacity_6.active,.btn-outline-danger_opacity_6.dropdown-toggle.show,.btn-outline-danger_opacity_6:active{color:#fff;background-color:rgba(220,53,69,.6);border-color:rgba(220,53,69,.6)}.btn-check:active+.btn-outline-danger_opacity_6:focus,.btn-check:checked+.btn-outline-danger_opacity_6:focus,.btn-outline-danger_opacity_6.active:focus,.btn-outline-danger_opacity_6.dropdown-toggle.show:focus,.btn-outline-danger_opacity_6:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_6.disabled,.btn-outline-danger_opacity_6:disabled{color:rgba(220,53,69,.6);background-color:transparent}.btn-outline-danger_opacity_7{color:rgba(220,53,69,.7);border-color:rgba(220,53,69,.7)}.btn-outline-danger_opacity_7:hover{color:#fff;background-color:rgba(220,53,69,.7);border-color:rgba(220,53,69,.7)}.btn-check:focus+.btn-outline-danger_opacity_7,.btn-outline-danger_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_7,.btn-check:checked+.btn-outline-danger_opacity_7,.btn-outline-danger_opacity_7.active,.btn-outline-danger_opacity_7.dropdown-toggle.show,.btn-outline-danger_opacity_7:active{color:#fff;background-color:rgba(220,53,69,.7);border-color:rgba(220,53,69,.7)}.btn-check:active+.btn-outline-danger_opacity_7:focus,.btn-check:checked+.btn-outline-danger_opacity_7:focus,.btn-outline-danger_opacity_7.active:focus,.btn-outline-danger_opacity_7.dropdown-toggle.show:focus,.btn-outline-danger_opacity_7:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_7.disabled,.btn-outline-danger_opacity_7:disabled{color:rgba(220,53,69,.7);background-color:transparent}.btn-outline-danger_opacity_8{color:rgba(220,53,69,.8);border-color:rgba(220,53,69,.8)}.btn-outline-danger_opacity_8:hover{color:#fff;background-color:rgba(220,53,69,.8);border-color:rgba(220,53,69,.8)}.btn-check:focus+.btn-outline-danger_opacity_8,.btn-outline-danger_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_8,.btn-check:checked+.btn-outline-danger_opacity_8,.btn-outline-danger_opacity_8.active,.btn-outline-danger_opacity_8.dropdown-toggle.show,.btn-outline-danger_opacity_8:active{color:#fff;background-color:rgba(220,53,69,.8);border-color:rgba(220,53,69,.8)}.btn-check:active+.btn-outline-danger_opacity_8:focus,.btn-check:checked+.btn-outline-danger_opacity_8:focus,.btn-outline-danger_opacity_8.active:focus,.btn-outline-danger_opacity_8.dropdown-toggle.show:focus,.btn-outline-danger_opacity_8:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_8.disabled,.btn-outline-danger_opacity_8:disabled{color:rgba(220,53,69,.8);background-color:transparent}.btn-outline-danger_opacity_9{color:rgba(220,53,69,.9);border-color:rgba(220,53,69,.9)}.btn-outline-danger_opacity_9:hover{color:#fff;background-color:rgba(220,53,69,.9);border-color:rgba(220,53,69,.9)}.btn-check:focus+.btn-outline-danger_opacity_9,.btn-outline-danger_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_9,.btn-check:checked+.btn-outline-danger_opacity_9,.btn-outline-danger_opacity_9.active,.btn-outline-danger_opacity_9.dropdown-toggle.show,.btn-outline-danger_opacity_9:active{color:#fff;background-color:rgba(220,53,69,.9);border-color:rgba(220,53,69,.9)}.btn-check:active+.btn-outline-danger_opacity_9:focus,.btn-check:checked+.btn-outline-danger_opacity_9:focus,.btn-outline-danger_opacity_9.active:focus,.btn-outline-danger_opacity_9.dropdown-toggle.show:focus,.btn-outline-danger_opacity_9:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_9.disabled,.btn-outline-danger_opacity_9:disabled{color:rgba(220,53,69,.9);background-color:transparent}.btn-outline-info_opacity_1{color:rgba(23,162,184,.1);border-color:rgba(23,162,184,.1)}.btn-outline-info_opacity_1:hover{color:#fff;background-color:rgba(23,162,184,.1);border-color:rgba(23,162,184,.1)}.btn-check:focus+.btn-outline-info_opacity_1,.btn-outline-info_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_1,.btn-check:checked+.btn-outline-info_opacity_1,.btn-outline-info_opacity_1.active,.btn-outline-info_opacity_1.dropdown-toggle.show,.btn-outline-info_opacity_1:active{color:#fff;background-color:rgba(23,162,184,.1);border-color:rgba(23,162,184,.1)}.btn-check:active+.btn-outline-info_opacity_1:focus,.btn-check:checked+.btn-outline-info_opacity_1:focus,.btn-outline-info_opacity_1.active:focus,.btn-outline-info_opacity_1.dropdown-toggle.show:focus,.btn-outline-info_opacity_1:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_1.disabled,.btn-outline-info_opacity_1:disabled{color:rgba(23,162,184,.1);background-color:transparent}.btn-outline-info_opacity_2{color:rgba(23,162,184,.2);border-color:rgba(23,162,184,.2)}.btn-outline-info_opacity_2:hover{color:#fff;background-color:rgba(23,162,184,.2);border-color:rgba(23,162,184,.2)}.btn-check:focus+.btn-outline-info_opacity_2,.btn-outline-info_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_2,.btn-check:checked+.btn-outline-info_opacity_2,.btn-outline-info_opacity_2.active,.btn-outline-info_opacity_2.dropdown-toggle.show,.btn-outline-info_opacity_2:active{color:#fff;background-color:rgba(23,162,184,.2);border-color:rgba(23,162,184,.2)}.btn-check:active+.btn-outline-info_opacity_2:focus,.btn-check:checked+.btn-outline-info_opacity_2:focus,.btn-outline-info_opacity_2.active:focus,.btn-outline-info_opacity_2.dropdown-toggle.show:focus,.btn-outline-info_opacity_2:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_2.disabled,.btn-outline-info_opacity_2:disabled{color:rgba(23,162,184,.2);background-color:transparent}.btn-outline-info_opacity_3{color:rgba(23,162,184,.3);border-color:rgba(23,162,184,.3)}.btn-outline-info_opacity_3:hover{color:#fff;background-color:rgba(23,162,184,.3);border-color:rgba(23,162,184,.3)}.btn-check:focus+.btn-outline-info_opacity_3,.btn-outline-info_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_3,.btn-check:checked+.btn-outline-info_opacity_3,.btn-outline-info_opacity_3.active,.btn-outline-info_opacity_3.dropdown-toggle.show,.btn-outline-info_opacity_3:active{color:#fff;background-color:rgba(23,162,184,.3);border-color:rgba(23,162,184,.3)}.btn-check:active+.btn-outline-info_opacity_3:focus,.btn-check:checked+.btn-outline-info_opacity_3:focus,.btn-outline-info_opacity_3.active:focus,.btn-outline-info_opacity_3.dropdown-toggle.show:focus,.btn-outline-info_opacity_3:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_3.disabled,.btn-outline-info_opacity_3:disabled{color:rgba(23,162,184,.3);background-color:transparent}.btn-outline-info_opacity_4{color:rgba(23,162,184,.4);border-color:rgba(23,162,184,.4)}.btn-outline-info_opacity_4:hover{color:#fff;background-color:rgba(23,162,184,.4);border-color:rgba(23,162,184,.4)}.btn-check:focus+.btn-outline-info_opacity_4,.btn-outline-info_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_4,.btn-check:checked+.btn-outline-info_opacity_4,.btn-outline-info_opacity_4.active,.btn-outline-info_opacity_4.dropdown-toggle.show,.btn-outline-info_opacity_4:active{color:#fff;background-color:rgba(23,162,184,.4);border-color:rgba(23,162,184,.4)}.btn-check:active+.btn-outline-info_opacity_4:focus,.btn-check:checked+.btn-outline-info_opacity_4:focus,.btn-outline-info_opacity_4.active:focus,.btn-outline-info_opacity_4.dropdown-toggle.show:focus,.btn-outline-info_opacity_4:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_4.disabled,.btn-outline-info_opacity_4:disabled{color:rgba(23,162,184,.4);background-color:transparent}.btn-outline-info_opacity_5{color:rgba(23,162,184,.5);border-color:rgba(23,162,184,.5)}.btn-outline-info_opacity_5:hover{color:#fff;background-color:rgba(23,162,184,.5);border-color:rgba(23,162,184,.5)}.btn-check:focus+.btn-outline-info_opacity_5,.btn-outline-info_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_5,.btn-check:checked+.btn-outline-info_opacity_5,.btn-outline-info_opacity_5.active,.btn-outline-info_opacity_5.dropdown-toggle.show,.btn-outline-info_opacity_5:active{color:#fff;background-color:rgba(23,162,184,.5);border-color:rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_5:focus,.btn-check:checked+.btn-outline-info_opacity_5:focus,.btn-outline-info_opacity_5.active:focus,.btn-outline-info_opacity_5.dropdown-toggle.show:focus,.btn-outline-info_opacity_5:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_5.disabled,.btn-outline-info_opacity_5:disabled{color:rgba(23,162,184,.5);background-color:transparent}.btn-outline-info_opacity_6{color:rgba(23,162,184,.6);border-color:rgba(23,162,184,.6)}.btn-outline-info_opacity_6:hover{color:#fff;background-color:rgba(23,162,184,.6);border-color:rgba(23,162,184,.6)}.btn-check:focus+.btn-outline-info_opacity_6,.btn-outline-info_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_6,.btn-check:checked+.btn-outline-info_opacity_6,.btn-outline-info_opacity_6.active,.btn-outline-info_opacity_6.dropdown-toggle.show,.btn-outline-info_opacity_6:active{color:#fff;background-color:rgba(23,162,184,.6);border-color:rgba(23,162,184,.6)}.btn-check:active+.btn-outline-info_opacity_6:focus,.btn-check:checked+.btn-outline-info_opacity_6:focus,.btn-outline-info_opacity_6.active:focus,.btn-outline-info_opacity_6.dropdown-toggle.show:focus,.btn-outline-info_opacity_6:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_6.disabled,.btn-outline-info_opacity_6:disabled{color:rgba(23,162,184,.6);background-color:transparent}.btn-outline-info_opacity_7{color:rgba(23,162,184,.7);border-color:rgba(23,162,184,.7)}.btn-outline-info_opacity_7:hover{color:#fff;background-color:rgba(23,162,184,.7);border-color:rgba(23,162,184,.7)}.btn-check:focus+.btn-outline-info_opacity_7,.btn-outline-info_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_7,.btn-check:checked+.btn-outline-info_opacity_7,.btn-outline-info_opacity_7.active,.btn-outline-info_opacity_7.dropdown-toggle.show,.btn-outline-info_opacity_7:active{color:#fff;background-color:rgba(23,162,184,.7);border-color:rgba(23,162,184,.7)}.btn-check:active+.btn-outline-info_opacity_7:focus,.btn-check:checked+.btn-outline-info_opacity_7:focus,.btn-outline-info_opacity_7.active:focus,.btn-outline-info_opacity_7.dropdown-toggle.show:focus,.btn-outline-info_opacity_7:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_7.disabled,.btn-outline-info_opacity_7:disabled{color:rgba(23,162,184,.7);background-color:transparent}.btn-outline-info_opacity_8{color:rgba(23,162,184,.8);border-color:rgba(23,162,184,.8)}.btn-outline-info_opacity_8:hover{color:#fff;background-color:rgba(23,162,184,.8);border-color:rgba(23,162,184,.8)}.btn-check:focus+.btn-outline-info_opacity_8,.btn-outline-info_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_8,.btn-check:checked+.btn-outline-info_opacity_8,.btn-outline-info_opacity_8.active,.btn-outline-info_opacity_8.dropdown-toggle.show,.btn-outline-info_opacity_8:active{color:#fff;background-color:rgba(23,162,184,.8);border-color:rgba(23,162,184,.8)}.btn-check:active+.btn-outline-info_opacity_8:focus,.btn-check:checked+.btn-outline-info_opacity_8:focus,.btn-outline-info_opacity_8.active:focus,.btn-outline-info_opacity_8.dropdown-toggle.show:focus,.btn-outline-info_opacity_8:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_8.disabled,.btn-outline-info_opacity_8:disabled{color:rgba(23,162,184,.8);background-color:transparent}.btn-outline-info_opacity_9{color:rgba(23,162,184,.9);border-color:rgba(23,162,184,.9)}.btn-outline-info_opacity_9:hover{color:#fff;background-color:rgba(23,162,184,.9);border-color:rgba(23,162,184,.9)}.btn-check:focus+.btn-outline-info_opacity_9,.btn-outline-info_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_9,.btn-check:checked+.btn-outline-info_opacity_9,.btn-outline-info_opacity_9.active,.btn-outline-info_opacity_9.dropdown-toggle.show,.btn-outline-info_opacity_9:active{color:#fff;background-color:rgba(23,162,184,.9);border-color:rgba(23,162,184,.9)}.btn-check:active+.btn-outline-info_opacity_9:focus,.btn-check:checked+.btn-outline-info_opacity_9:focus,.btn-outline-info_opacity_9.active:focus,.btn-outline-info_opacity_9.dropdown-toggle.show:focus,.btn-outline-info_opacity_9:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_9.disabled,.btn-outline-info_opacity_9:disabled{color:rgba(23,162,184,.9);background-color:transparent}.btn-outline-warning_opacity_1{color:rgba(255,193,7,.1);border-color:rgba(255,193,7,.1)}.btn-outline-warning_opacity_1:hover{color:#212529;background-color:rgba(255,193,7,.1);border-color:rgba(255,193,7,.1)}.btn-check:focus+.btn-outline-warning_opacity_1,.btn-outline-warning_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_1,.btn-check:checked+.btn-outline-warning_opacity_1,.btn-outline-warning_opacity_1.active,.btn-outline-warning_opacity_1.dropdown-toggle.show,.btn-outline-warning_opacity_1:active{color:#212529;background-color:rgba(255,193,7,.1);border-color:rgba(255,193,7,.1)}.btn-check:active+.btn-outline-warning_opacity_1:focus,.btn-check:checked+.btn-outline-warning_opacity_1:focus,.btn-outline-warning_opacity_1.active:focus,.btn-outline-warning_opacity_1.dropdown-toggle.show:focus,.btn-outline-warning_opacity_1:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_1.disabled,.btn-outline-warning_opacity_1:disabled{color:rgba(255,193,7,.1);background-color:transparent}.btn-outline-warning_opacity_2{color:rgba(255,193,7,.2);border-color:rgba(255,193,7,.2)}.btn-outline-warning_opacity_2:hover{color:#212529;background-color:rgba(255,193,7,.2);border-color:rgba(255,193,7,.2)}.btn-check:focus+.btn-outline-warning_opacity_2,.btn-outline-warning_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_2,.btn-check:checked+.btn-outline-warning_opacity_2,.btn-outline-warning_opacity_2.active,.btn-outline-warning_opacity_2.dropdown-toggle.show,.btn-outline-warning_opacity_2:active{color:#212529;background-color:rgba(255,193,7,.2);border-color:rgba(255,193,7,.2)}.btn-check:active+.btn-outline-warning_opacity_2:focus,.btn-check:checked+.btn-outline-warning_opacity_2:focus,.btn-outline-warning_opacity_2.active:focus,.btn-outline-warning_opacity_2.dropdown-toggle.show:focus,.btn-outline-warning_opacity_2:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_2.disabled,.btn-outline-warning_opacity_2:disabled{color:rgba(255,193,7,.2);background-color:transparent}.btn-outline-warning_opacity_3{color:rgba(255,193,7,.3);border-color:rgba(255,193,7,.3)}.btn-outline-warning_opacity_3:hover{color:#212529;background-color:rgba(255,193,7,.3);border-color:rgba(255,193,7,.3)}.btn-check:focus+.btn-outline-warning_opacity_3,.btn-outline-warning_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_3,.btn-check:checked+.btn-outline-warning_opacity_3,.btn-outline-warning_opacity_3.active,.btn-outline-warning_opacity_3.dropdown-toggle.show,.btn-outline-warning_opacity_3:active{color:#212529;background-color:rgba(255,193,7,.3);border-color:rgba(255,193,7,.3)}.btn-check:active+.btn-outline-warning_opacity_3:focus,.btn-check:checked+.btn-outline-warning_opacity_3:focus,.btn-outline-warning_opacity_3.active:focus,.btn-outline-warning_opacity_3.dropdown-toggle.show:focus,.btn-outline-warning_opacity_3:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_3.disabled,.btn-outline-warning_opacity_3:disabled{color:rgba(255,193,7,.3);background-color:transparent}.btn-outline-warning_opacity_4{color:rgba(255,193,7,.4);border-color:rgba(255,193,7,.4)}.btn-outline-warning_opacity_4:hover{color:#212529;background-color:rgba(255,193,7,.4);border-color:rgba(255,193,7,.4)}.btn-check:focus+.btn-outline-warning_opacity_4,.btn-outline-warning_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_4,.btn-check:checked+.btn-outline-warning_opacity_4,.btn-outline-warning_opacity_4.active,.btn-outline-warning_opacity_4.dropdown-toggle.show,.btn-outline-warning_opacity_4:active{color:#212529;background-color:rgba(255,193,7,.4);border-color:rgba(255,193,7,.4)}.btn-check:active+.btn-outline-warning_opacity_4:focus,.btn-check:checked+.btn-outline-warning_opacity_4:focus,.btn-outline-warning_opacity_4.active:focus,.btn-outline-warning_opacity_4.dropdown-toggle.show:focus,.btn-outline-warning_opacity_4:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_4.disabled,.btn-outline-warning_opacity_4:disabled{color:rgba(255,193,7,.4);background-color:transparent}.btn-outline-warning_opacity_5{color:rgba(255,193,7,.5);border-color:rgba(255,193,7,.5)}.btn-outline-warning_opacity_5:hover{color:#212529;background-color:rgba(255,193,7,.5);border-color:rgba(255,193,7,.5)}.btn-check:focus+.btn-outline-warning_opacity_5,.btn-outline-warning_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_5,.btn-check:checked+.btn-outline-warning_opacity_5,.btn-outline-warning_opacity_5.active,.btn-outline-warning_opacity_5.dropdown-toggle.show,.btn-outline-warning_opacity_5:active{color:#212529;background-color:rgba(255,193,7,.5);border-color:rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_5:focus,.btn-check:checked+.btn-outline-warning_opacity_5:focus,.btn-outline-warning_opacity_5.active:focus,.btn-outline-warning_opacity_5.dropdown-toggle.show:focus,.btn-outline-warning_opacity_5:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_5.disabled,.btn-outline-warning_opacity_5:disabled{color:rgba(255,193,7,.5);background-color:transparent}.btn-outline-warning_opacity_6{color:rgba(255,193,7,.6);border-color:rgba(255,193,7,.6)}.btn-outline-warning_opacity_6:hover{color:#212529;background-color:rgba(255,193,7,.6);border-color:rgba(255,193,7,.6)}.btn-check:focus+.btn-outline-warning_opacity_6,.btn-outline-warning_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_6,.btn-check:checked+.btn-outline-warning_opacity_6,.btn-outline-warning_opacity_6.active,.btn-outline-warning_opacity_6.dropdown-toggle.show,.btn-outline-warning_opacity_6:active{color:#212529;background-color:rgba(255,193,7,.6);border-color:rgba(255,193,7,.6)}.btn-check:active+.btn-outline-warning_opacity_6:focus,.btn-check:checked+.btn-outline-warning_opacity_6:focus,.btn-outline-warning_opacity_6.active:focus,.btn-outline-warning_opacity_6.dropdown-toggle.show:focus,.btn-outline-warning_opacity_6:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_6.disabled,.btn-outline-warning_opacity_6:disabled{color:rgba(255,193,7,.6);background-color:transparent}.btn-outline-warning_opacity_7{color:rgba(255,193,7,.7);border-color:rgba(255,193,7,.7)}.btn-outline-warning_opacity_7:hover{color:#212529;background-color:rgba(255,193,7,.7);border-color:rgba(255,193,7,.7)}.btn-check:focus+.btn-outline-warning_opacity_7,.btn-outline-warning_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_7,.btn-check:checked+.btn-outline-warning_opacity_7,.btn-outline-warning_opacity_7.active,.btn-outline-warning_opacity_7.dropdown-toggle.show,.btn-outline-warning_opacity_7:active{color:#212529;background-color:rgba(255,193,7,.7);border-color:rgba(255,193,7,.7)}.btn-check:active+.btn-outline-warning_opacity_7:focus,.btn-check:checked+.btn-outline-warning_opacity_7:focus,.btn-outline-warning_opacity_7.active:focus,.btn-outline-warning_opacity_7.dropdown-toggle.show:focus,.btn-outline-warning_opacity_7:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_7.disabled,.btn-outline-warning_opacity_7:disabled{color:rgba(255,193,7,.7);background-color:transparent}.btn-outline-warning_opacity_8{color:rgba(255,193,7,.8);border-color:rgba(255,193,7,.8)}.btn-outline-warning_opacity_8:hover{color:#212529;background-color:rgba(255,193,7,.8);border-color:rgba(255,193,7,.8)}.btn-check:focus+.btn-outline-warning_opacity_8,.btn-outline-warning_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_8,.btn-check:checked+.btn-outline-warning_opacity_8,.btn-outline-warning_opacity_8.active,.btn-outline-warning_opacity_8.dropdown-toggle.show,.btn-outline-warning_opacity_8:active{color:#212529;background-color:rgba(255,193,7,.8);border-color:rgba(255,193,7,.8)}.btn-check:active+.btn-outline-warning_opacity_8:focus,.btn-check:checked+.btn-outline-warning_opacity_8:focus,.btn-outline-warning_opacity_8.active:focus,.btn-outline-warning_opacity_8.dropdown-toggle.show:focus,.btn-outline-warning_opacity_8:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_8.disabled,.btn-outline-warning_opacity_8:disabled{color:rgba(255,193,7,.8);background-color:transparent}.btn-outline-warning_opacity_9{color:rgba(255,193,7,.9);border-color:rgba(255,193,7,.9)}.btn-outline-warning_opacity_9:hover{color:#212529;background-color:rgba(255,193,7,.9);border-color:rgba(255,193,7,.9)}.btn-check:focus+.btn-outline-warning_opacity_9,.btn-outline-warning_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_9,.btn-check:checked+.btn-outline-warning_opacity_9,.btn-outline-warning_opacity_9.active,.btn-outline-warning_opacity_9.dropdown-toggle.show,.btn-outline-warning_opacity_9:active{color:#212529;background-color:rgba(255,193,7,.9);border-color:rgba(255,193,7,.9)}.btn-check:active+.btn-outline-warning_opacity_9:focus,.btn-check:checked+.btn-outline-warning_opacity_9:focus,.btn-outline-warning_opacity_9.active:focus,.btn-outline-warning_opacity_9.dropdown-toggle.show:focus,.btn-outline-warning_opacity_9:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_9.disabled,.btn-outline-warning_opacity_9:disabled{color:rgba(255,193,7,.9);background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#024dbc}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-left{right:auto;left:0}.dropdown-menu-xxl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{align-items:center;width:100%}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .2rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-collapse{display:flex!important}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-collapse{display:flex!important}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-collapse{display:flex!important}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-collapse{display:flex!important}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-collapse{display:flex!important}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-collapse{display:flex!important}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.5rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#024dbc;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .5em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3.5rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:1rem 1rem;color:inherit}.alert-primary{color:#073984;background-color:#cfe2ff;border-color:#bbd6fe}.alert-primary .alert-link{color:#042454}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark .alert-link{color:#040505}.alert-success_opacity_1{color:rgba(2,9,4,.532);background-color:rgba(252,254,253,.82);border-color:rgba(251,253,251,.748)}.alert-success_opacity_1 .alert-link{color:rgba(0,0,0,.532)}.alert-success_opacity_2{color:rgba(4,18,7,.584);background-color:rgba(249,253,250,.84);border-color:rgba(246,251,247,.776)}.alert-success_opacity_2 .alert-link{color:rgba(0,0,0,.584)}.alert-success_opacity_3{color:rgba(6,27,11,.636);background-color:rgba(246,251,247,.86);border-color:rgba(241,249,243,.804)}.alert-success_opacity_3 .alert-link{color:rgba(0,0,0,.636)}.alert-success_opacity_4{color:rgba(9,36,15,.688);background-color:rgba(242,250,244,.88);border-color:rgba(236,247,239,.832)}.alert-success_opacity_4 .alert-link{color:rgba(0,0,0,.688)}.alert-success_opacity_5{color:rgba(11,44,18,.74);background-color:rgba(238,248,241,.9);border-color:rgba(230,245,234,.86)}.alert-success_opacity_5 .alert-link{color:rgba(1,3,1,.74)}.alert-success_opacity_6{color:rgba(13,53,22,.792);background-color:rgba(234,246,237,.92);border-color:rgba(224,242,228,.888)}.alert-success_opacity_6 .alert-link{color:rgba(3,12,5,.792)}.alert-success_opacity_7{color:rgba(15,62,25,.844);background-color:rgba(229,245,233,.94);border-color:rgba(218,240,223,.916)}.alert-success_opacity_7 .alert-link{color:rgba(5,21,8,.844)}.alert-success_opacity_8{color:rgba(17,70,29,.896);background-color:rgba(224,242,228,.96);border-color:rgba(211,237,217,.944)}.alert-success_opacity_8 .alert-link{color:rgba(7,29,12,.896)}.alert-success_opacity_9{color:rgba(19,78,32,.948);background-color:rgba(218,240,223,.98);border-color:rgba(203,234,210,.972)}.alert-success_opacity_9 .alert-link{color:rgba(9,37,15,.948)}.alert-primary_opacity_1{color:rgba(1,6,14,.532);background-color:rgba(252,253,255,.82);border-color:rgba(250,252,255,.748)}.alert-primary_opacity_1 .alert-link{color:rgba(0,0,0,.532)}.alert-primary_opacity_2{color:rgba(1,12,27,.584);background-color:rgba(248,251,255,.84);border-color:rgba(245,249,255,.776)}.alert-primary_opacity_2 .alert-link{color:rgba(0,0,0,.584)}.alert-primary_opacity_3{color:rgba(2,18,41,.636);background-color:rgba(245,249,255,.86);border-color:rgba(239,246,255,.804)}.alert-primary_opacity_3 .alert-link{color:rgba(0,0,0,.636)}.alert-primary_opacity_4{color:rgba(3,23,54,.688);background-color:rgba(241,246,255,.88);border-color:rgba(234,242,255,.832)}.alert-primary_opacity_4 .alert-link{color:rgba(0,2,6,.688)}.alert-primary_opacity_5{color:rgba(3,29,67,.74);background-color:rgba(236,244,255,.9);border-color:rgba(227,238,255,.86)}.alert-primary_opacity_5 .alert-link{color:rgba(1,8,18,.74)}.alert-primary_opacity_6{color:rgba(4,35,80,.792);background-color:rgba(232,241,255,.92);border-color:rgba(220,234,255,.888)}.alert-primary_opacity_6 .alert-link{color:rgba(2,14,31,.792)}.alert-primary_opacity_7{color:rgba(5,41,93,.844);background-color:rgba(226,238,255,.94);border-color:rgba(213,230,255,.916)}.alert-primary_opacity_7 .alert-link{color:rgba(2,20,45,.844)}.alert-primary_opacity_8{color:rgba(5,46,106,.896);background-color:rgba(220,234,255,.96);border-color:rgba(205,225,255,.944)}.alert-primary_opacity_8 .alert-link{color:rgba(3,25,57,.896)}.alert-primary_opacity_9{color:rgba(6,52,119,.948);background-color:rgba(214,230,255,.98);border-color:rgba(197,220,255,.972)}.alert-primary_opacity_9 .alert-link{color:rgba(4,31,70,.948)}.alert-danger_opacity_1{color:rgba(12,3,4,.532);background-color:rgba(255,252,253,.82);border-color:rgba(254,251,251,.748)}.alert-danger_opacity_1 .alert-link{color:rgba(0,0,0,.532)}.alert-danger_opacity_2{color:rgba(24,6,7,.584);background-color:rgba(254,250,250,.84);border-color:rgba(254,247,247,.776)}.alert-danger_opacity_2 .alert-link{color:rgba(0,0,0,.584)}.alert-danger_opacity_3{color:rgba(35,9,11,.636);background-color:rgba(254,246,247,.86);border-color:rgba(253,242,243,.804)}.alert-danger_opacity_3 .alert-link{color:rgba(0,0,0,.636)}.alert-danger_opacity_4{color:rgba(47,11,15,.688);background-color:rgba(253,243,244,.88);border-color:rgba(252,237,239,.832)}.alert-danger_opacity_4 .alert-link{color:rgba(6,1,2,.688)}.alert-danger_opacity_5{color:rgba(58,14,18,.74);background-color:rgba(252,239,241,.9);border-color:rgba(251,232,234,.86)}.alert-danger_opacity_5 .alert-link{color:rgba(17,4,5,.74)}.alert-danger_opacity_6{color:rgba(70,17,22,.792);background-color:rgba(252,235,237,.92);border-color:rgba(250,226,228,.888)}.alert-danger_opacity_6 .alert-link{color:rgba(29,7,9,.792)}.alert-danger_opacity_7{color:rgba(81,20,25,.844);background-color:rgba(251,231,233,.94);border-color:rgba(249,220,223,.916)}.alert-danger_opacity_7 .alert-link{color:rgba(40,10,12,.844)}.alert-danger_opacity_8{color:rgba(92,22,29,.896);background-color:rgba(250,226,228,.96);border-color:rgba(248,213,217,.944)}.alert-danger_opacity_8 .alert-link{color:rgba(51,12,16,.896)}.alert-danger_opacity_9{color:rgba(103,25,32,.948);background-color:rgba(249,221,223,.98);border-color:rgba(247,206,210,.972)}.alert-danger_opacity_9 .alert-link{color:rgba(62,15,19,.948)}.alert-info_opacity_1{color:rgba(1,9,10,.532);background-color:rgba(252,254,254,.82);border-color:rgba(250,253,254,.748)}.alert-info_opacity_1 .alert-link{color:rgba(0,0,0,.532)}.alert-info_opacity_2{color:rgba(2,17,20,.584);background-color:rgba(249,252,253,.84);border-color:rgba(245,251,252,.776)}.alert-info_opacity_2 .alert-link{color:rgba(0,0,0,.584)}.alert-info_opacity_3{color:rgba(4,26,30,.636);background-color:rgba(245,251,252,.86);border-color:rgba(240,249,250,.804)}.alert-info_opacity_3 .alert-link{color:rgba(0,0,0,.636)}.alert-info_opacity_4{color:rgba(5,35,39,.688);background-color:rgba(241,250,251,.88);border-color:rgba(234,247,249,.832)}.alert-info_opacity_4 .alert-link{color:rgba(0,0,0,.688)}.alert-info_opacity_5{color:rgba(6,43,49,.74);background-color:rgba(237,248,250,.9);border-color:rgba(228,244,247,.86)}.alert-info_opacity_5 .alert-link{color:rgba(0,3,4,.74)}.alert-info_opacity_6{color:rgba(7,51,58,.792);background-color:rgba(233,246,248,.92);border-color:rgba(222,242,245,.888)}.alert-info_opacity_6 .alert-link{color:rgba(2,11,12,.792)}.alert-info_opacity_7{color:rgba(8,60,68,.844);background-color:rgba(227,244,247,.94);border-color:rgba(215,239,243,.916)}.alert-info_opacity_7 .alert-link{color:rgba(3,20,22,.844)}.alert-info_opacity_8{color:rgba(10,68,77,.896);background-color:rgba(222,242,245,.96);border-color:rgba(207,236,240,.944)}.alert-info_opacity_8 .alert-link{color:rgba(4,28,32,.896)}.alert-info_opacity_9{color:rgba(11,76,86,.948);background-color:rgba(216,239,243,.98);border-color:rgba(199,233,238,.972)}.alert-info_opacity_9 .alert-link{color:rgba(5,36,41,.948)}.alert-warning_opacity_1{color:rgba(14,10,0,.532);background-color:rgba(255,254,252,.82);border-color:rgba(255,254,250,.748)}.alert-warning_opacity_1 .alert-link{color:rgba(0,0,0,.532)}.alert-warning_opacity_2{color:rgba(27,21,1,.584);background-color:rgba(255,253,248,.84);border-color:rgba(255,252,245,.776)}.alert-warning_opacity_2 .alert-link{color:rgba(0,0,0,.584)}.alert-warning_opacity_3{color:rgba(41,31,1,.636);background-color:rgba(255,252,245,.86);border-color:rgba(255,251,239,.804)}.alert-warning_opacity_3 .alert-link{color:rgba(0,0,0,.636)}.alert-warning_opacity_4{color:rgba(54,41,1,.688);background-color:rgba(255,251,240,.88);border-color:rgba(255,250,233,.832)}.alert-warning_opacity_4 .alert-link{color:rgba(4,3,0,.688)}.alert-warning_opacity_5{color:rgba(68,51,2,.74);background-color:rgba(255,250,236,.9);border-color:rgba(255,248,227,.86)}.alert-warning_opacity_5 .alert-link{color:rgba(18,14,1,.74)}.alert-warning_opacity_6{color:rgba(81,61,2,.792);background-color:rgba(255,249,231,.92);border-color:rgba(255,246,220,.888)}.alert-warning_opacity_6 .alert-link{color:rgba(31,24,1,.792)}.alert-warning_opacity_7{color:rgba(94,71,3,.844);background-color:rgba(255,248,226,.94);border-color:rgba(255,244,212,.916)}.alert-warning_opacity_7 .alert-link{color:rgba(45,34,1,.844)}.alert-warning_opacity_8{color:rgba(107,81,3,.896);background-color:rgba(255,246,220,.96);border-color:rgba(255,242,204,.944)}.alert-warning_opacity_8 .alert-link{color:rgba(57,43,2,.896)}.alert-warning_opacity_9{color:rgba(120,91,3,.948);background-color:rgba(255,244,213,.98);border-color:rgba(255,240,195,.972)}.alert-warning_opacity_9 .alert-link{color:rgba(70,53,2,.948)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{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);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#073984;background-color:#bbd6fe}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#073984;background-color:#a2c7fe}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#073984;border-color:#073984}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.list-group-item-success_opacity_1{color:rgba(2,9,4,.532);background-color:rgba(251,253,251,.748)}.list-group-item-success_opacity_1.list-group-item-action:focus,.list-group-item-success_opacity_1.list-group-item-action:hover{color:rgba(2,9,4,.532);background-color:rgba(234,245,234,.748)}.list-group-item-success_opacity_1.list-group-item-action.active{color:#fff;background-color:rgba(2,9,4,.532);border-color:rgba(2,9,4,.532)}.list-group-item-success_opacity_2{color:rgba(4,18,7,.584);background-color:rgba(246,251,247,.776)}.list-group-item-success_opacity_2.list-group-item-action:focus,.list-group-item-success_opacity_2.list-group-item-action:hover{color:rgba(4,18,7,.584);background-color:rgba(228,243,231,.776)}.list-group-item-success_opacity_2.list-group-item-action.active{color:#fff;background-color:rgba(4,18,7,.584);border-color:rgba(4,18,7,.584)}.list-group-item-success_opacity_3{color:rgba(6,27,11,.636);background-color:rgba(241,249,243,.804)}.list-group-item-success_opacity_3.list-group-item-action:focus,.list-group-item-success_opacity_3.list-group-item-action:hover{color:rgba(6,27,11,.636);background-color:rgba(223,241,228,.804)}.list-group-item-success_opacity_3.list-group-item-action.active{color:#fff;background-color:rgba(6,27,11,.636);border-color:rgba(6,27,11,.636)}.list-group-item-success_opacity_4{color:rgba(9,36,15,.688);background-color:rgba(236,247,239,.832)}.list-group-item-success_opacity_4.list-group-item-action:focus,.list-group-item-success_opacity_4.list-group-item-action:hover{color:rgba(9,36,15,.688);background-color:rgba(218,239,224,.832)}.list-group-item-success_opacity_4.list-group-item-action.active{color:#fff;background-color:rgba(9,36,15,.688);border-color:rgba(9,36,15,.688)}.list-group-item-success_opacity_5{color:rgba(11,44,18,.74);background-color:rgba(230,245,234,.86)}.list-group-item-success_opacity_5.list-group-item-action:focus,.list-group-item-success_opacity_5.list-group-item-action:hover{color:rgba(11,44,18,.74);background-color:rgba(212,238,219,.86)}.list-group-item-success_opacity_5.list-group-item-action.active{color:#fff;background-color:rgba(11,44,18,.74);border-color:rgba(11,44,18,.74)}.list-group-item-success_opacity_6{color:rgba(13,53,22,.792);background-color:rgba(224,242,228,.888)}.list-group-item-success_opacity_6.list-group-item-action:focus,.list-group-item-success_opacity_6.list-group-item-action:hover{color:rgba(13,53,22,.792);background-color:rgba(206,234,212,.888)}.list-group-item-success_opacity_6.list-group-item-action.active{color:#fff;background-color:rgba(13,53,22,.792);border-color:rgba(13,53,22,.792)}.list-group-item-success_opacity_7{color:rgba(15,62,25,.844);background-color:rgba(218,240,223,.916)}.list-group-item-success_opacity_7.list-group-item-action:focus,.list-group-item-success_opacity_7.list-group-item-action:hover{color:rgba(15,62,25,.844);background-color:rgba(200,233,207,.916)}.list-group-item-success_opacity_7.list-group-item-action.active{color:#fff;background-color:rgba(15,62,25,.844);border-color:rgba(15,62,25,.844)}.list-group-item-success_opacity_8{color:rgba(17,70,29,.896);background-color:rgba(211,237,217,.944)}.list-group-item-success_opacity_8.list-group-item-action:focus,.list-group-item-success_opacity_8.list-group-item-action:hover{color:rgba(17,70,29,.896);background-color:rgba(193,230,201,.944)}.list-group-item-success_opacity_8.list-group-item-action.active{color:#fff;background-color:rgba(17,70,29,.896);border-color:rgba(17,70,29,.896)}.list-group-item-success_opacity_9{color:rgba(19,78,32,.948);background-color:rgba(203,234,210,.972)}.list-group-item-success_opacity_9.list-group-item-action:focus,.list-group-item-success_opacity_9.list-group-item-action:hover{color:rgba(19,78,32,.948);background-color:rgba(185,227,194,.972)}.list-group-item-success_opacity_9.list-group-item-action.active{color:#fff;background-color:rgba(19,78,32,.948);border-color:rgba(19,78,32,.948)}.list-group-item-primary_opacity_1{color:rgba(1,6,14,.532);background-color:rgba(250,252,255,.748)}.list-group-item-primary_opacity_1.list-group-item-action:focus,.list-group-item-primary_opacity_1.list-group-item-action:hover{color:rgba(1,6,14,.532);background-color:rgba(225,237,255,.748)}.list-group-item-primary_opacity_1.list-group-item-action.active{color:#fff;background-color:rgba(1,6,14,.532);border-color:rgba(1,6,14,.532)}.list-group-item-primary_opacity_2{color:rgba(1,12,27,.584);background-color:rgba(245,249,255,.776)}.list-group-item-primary_opacity_2.list-group-item-action:focus,.list-group-item-primary_opacity_2.list-group-item-action:hover{color:rgba(1,12,27,.584);background-color:rgba(220,234,255,.776)}.list-group-item-primary_opacity_2.list-group-item-action.active{color:#fff;background-color:rgba(1,12,27,.584);border-color:rgba(1,12,27,.584)}.list-group-item-primary_opacity_3{color:rgba(2,18,41,.636);background-color:rgba(239,246,255,.804)}.list-group-item-primary_opacity_3.list-group-item-action:focus,.list-group-item-primary_opacity_3.list-group-item-action:hover{color:rgba(2,18,41,.636);background-color:rgba(214,232,255,.804)}.list-group-item-primary_opacity_3.list-group-item-action.active{color:#fff;background-color:rgba(2,18,41,.636);border-color:rgba(2,18,41,.636)}.list-group-item-primary_opacity_4{color:rgba(3,23,54,.688);background-color:rgba(234,242,255,.832)}.list-group-item-primary_opacity_4.list-group-item-action:focus,.list-group-item-primary_opacity_4.list-group-item-action:hover{color:rgba(3,23,54,.688);background-color:rgba(209,226,255,.832)}.list-group-item-primary_opacity_4.list-group-item-action.active{color:#fff;background-color:rgba(3,23,54,.688);border-color:rgba(3,23,54,.688)}.list-group-item-primary_opacity_5{color:rgba(3,29,67,.74);background-color:rgba(227,238,255,.86)}.list-group-item-primary_opacity_5.list-group-item-action:focus,.list-group-item-primary_opacity_5.list-group-item-action:hover{color:rgba(3,29,67,.74);background-color:rgba(202,223,255,.86)}.list-group-item-primary_opacity_5.list-group-item-action.active{color:#fff;background-color:rgba(3,29,67,.74);border-color:rgba(3,29,67,.74)}.list-group-item-primary_opacity_6{color:rgba(4,35,80,.792);background-color:rgba(220,234,255,.888)}.list-group-item-primary_opacity_6.list-group-item-action:focus,.list-group-item-primary_opacity_6.list-group-item-action:hover{color:rgba(4,35,80,.792);background-color:rgba(195,219,255,.888)}.list-group-item-primary_opacity_6.list-group-item-action.active{color:#fff;background-color:rgba(4,35,80,.792);border-color:rgba(4,35,80,.792)}.list-group-item-primary_opacity_7{color:rgba(5,41,93,.844);background-color:rgba(213,230,255,.916)}.list-group-item-primary_opacity_7.list-group-item-action:focus,.list-group-item-primary_opacity_7.list-group-item-action:hover{color:rgba(5,41,93,.844);background-color:rgba(188,215,255,.916)}.list-group-item-primary_opacity_7.list-group-item-action.active{color:#fff;background-color:rgba(5,41,93,.844);border-color:rgba(5,41,93,.844)}.list-group-item-primary_opacity_8{color:rgba(5,46,106,.896);background-color:rgba(205,225,255,.944)}.list-group-item-primary_opacity_8.list-group-item-action:focus,.list-group-item-primary_opacity_8.list-group-item-action:hover{color:rgba(5,46,106,.896);background-color:rgba(180,210,255,.944)}.list-group-item-primary_opacity_8.list-group-item-action.active{color:#fff;background-color:rgba(5,46,106,.896);border-color:rgba(5,46,106,.896)}.list-group-item-primary_opacity_9{color:rgba(6,52,119,.948);background-color:rgba(197,220,255,.972)}.list-group-item-primary_opacity_9.list-group-item-action:focus,.list-group-item-primary_opacity_9.list-group-item-action:hover{color:rgba(6,52,119,.948);background-color:rgba(172,205,255,.972)}.list-group-item-primary_opacity_9.list-group-item-action.active{color:#fff;background-color:rgba(6,52,119,.948);border-color:rgba(6,52,119,.948)}.list-group-item-danger_opacity_1{color:rgba(12,3,4,.532);background-color:rgba(254,251,251,.748)}.list-group-item-danger_opacity_1.list-group-item-action:focus,.list-group-item-danger_opacity_1.list-group-item-action:hover{color:rgba(12,3,4,.532);background-color:rgba(249,231,231,.748)}.list-group-item-danger_opacity_1.list-group-item-action.active{color:#fff;background-color:rgba(12,3,4,.532);border-color:rgba(12,3,4,.532)}.list-group-item-danger_opacity_2{color:rgba(24,6,7,.584);background-color:rgba(254,247,247,.776)}.list-group-item-danger_opacity_2.list-group-item-action:focus,.list-group-item-danger_opacity_2.list-group-item-action:hover{color:rgba(24,6,7,.584);background-color:rgba(251,224,224,.776)}.list-group-item-danger_opacity_2.list-group-item-action.active{color:#fff;background-color:rgba(24,6,7,.584);border-color:rgba(24,6,7,.584)}.list-group-item-danger_opacity_3{color:rgba(35,9,11,.636);background-color:rgba(253,242,243,.804)}.list-group-item-danger_opacity_3.list-group-item-action:focus,.list-group-item-danger_opacity_3.list-group-item-action:hover{color:rgba(35,9,11,.636);background-color:rgba(250,220,223,.804)}.list-group-item-danger_opacity_3.list-group-item-action.active{color:#fff;background-color:rgba(35,9,11,.636);border-color:rgba(35,9,11,.636)}.list-group-item-danger_opacity_4{color:rgba(47,11,15,.688);background-color:rgba(252,237,239,.832)}.list-group-item-danger_opacity_4.list-group-item-action:focus,.list-group-item-danger_opacity_4.list-group-item-action:hover{color:rgba(47,11,15,.688);background-color:rgba(248,215,220,.832)}.list-group-item-danger_opacity_4.list-group-item-action.active{color:#fff;background-color:rgba(47,11,15,.688);border-color:rgba(47,11,15,.688)}.list-group-item-danger_opacity_5{color:rgba(58,14,18,.74);background-color:rgba(251,232,234,.86)}.list-group-item-danger_opacity_5.list-group-item-action:focus,.list-group-item-danger_opacity_5.list-group-item-action:hover{color:rgba(58,14,18,.74);background-color:rgba(247,210,214,.86)}.list-group-item-danger_opacity_5.list-group-item-action.active{color:#fff;background-color:rgba(58,14,18,.74);border-color:rgba(58,14,18,.74)}.list-group-item-danger_opacity_6{color:rgba(70,17,22,.792);background-color:rgba(250,226,228,.888)}.list-group-item-danger_opacity_6.list-group-item-action:focus,.list-group-item-danger_opacity_6.list-group-item-action:hover{color:rgba(70,17,22,.792);background-color:rgba(246,204,208,.888)}.list-group-item-danger_opacity_6.list-group-item-action.active{color:#fff;background-color:rgba(70,17,22,.792);border-color:rgba(70,17,22,.792)}.list-group-item-danger_opacity_7{color:rgba(81,20,25,.844);background-color:rgba(249,220,223,.916)}.list-group-item-danger_opacity_7.list-group-item-action:focus,.list-group-item-danger_opacity_7.list-group-item-action:hover{color:rgba(81,20,25,.844);background-color:rgba(245,198,203,.916)}.list-group-item-danger_opacity_7.list-group-item-action.active{color:#fff;background-color:rgba(81,20,25,.844);border-color:rgba(81,20,25,.844)}.list-group-item-danger_opacity_8{color:rgba(92,22,29,.896);background-color:rgba(248,213,217,.944)}.list-group-item-danger_opacity_8.list-group-item-action:focus,.list-group-item-danger_opacity_8.list-group-item-action:hover{color:rgba(92,22,29,.896);background-color:rgba(244,191,197,.944)}.list-group-item-danger_opacity_8.list-group-item-action.active{color:#fff;background-color:rgba(92,22,29,.896);border-color:rgba(92,22,29,.896)}.list-group-item-danger_opacity_9{color:rgba(103,25,32,.948);background-color:rgba(247,206,210,.972)}.list-group-item-danger_opacity_9.list-group-item-action:focus,.list-group-item-danger_opacity_9.list-group-item-action:hover{color:rgba(103,25,32,.948);background-color:rgba(243,184,190,.972)}.list-group-item-danger_opacity_9.list-group-item-action.active{color:#fff;background-color:rgba(103,25,32,.948);border-color:rgba(103,25,32,.948)}.list-group-item-info_opacity_1{color:rgba(1,9,10,.532);background-color:rgba(250,253,254,.748)}.list-group-item-info_opacity_1.list-group-item-action:focus,.list-group-item-info_opacity_1.list-group-item-action:hover{color:rgba(1,9,10,.532);background-color:rgba(229,245,250,.748)}.list-group-item-info_opacity_1.list-group-item-action.active{color:#fff;background-color:rgba(1,9,10,.532);border-color:rgba(1,9,10,.532)}.list-group-item-info_opacity_2{color:rgba(2,17,20,.584);background-color:rgba(245,251,252,.776)}.list-group-item-info_opacity_2.list-group-item-action:focus,.list-group-item-info_opacity_2.list-group-item-action:hover{color:rgba(2,17,20,.584);background-color:rgba(225,243,246,.776)}.list-group-item-info_opacity_2.list-group-item-action.active{color:#fff;background-color:rgba(2,17,20,.584);border-color:rgba(2,17,20,.584)}.list-group-item-info_opacity_3{color:rgba(4,26,30,.636);background-color:rgba(240,249,250,.804)}.list-group-item-info_opacity_3.list-group-item-action:focus,.list-group-item-info_opacity_3.list-group-item-action:hover{color:rgba(4,26,30,.636);background-color:rgba(221,241,244,.804)}.list-group-item-info_opacity_3.list-group-item-action.active{color:#fff;background-color:rgba(4,26,30,.636);border-color:rgba(4,26,30,.636)}.list-group-item-info_opacity_4{color:rgba(5,35,39,.688);background-color:rgba(234,247,249,.832)}.list-group-item-info_opacity_4.list-group-item-action:focus,.list-group-item-info_opacity_4.list-group-item-action:hover{color:rgba(5,35,39,.688);background-color:rgba(214,239,243,.832)}.list-group-item-info_opacity_4.list-group-item-action.active{color:#fff;background-color:rgba(5,35,39,.688);border-color:rgba(5,35,39,.688)}.list-group-item-info_opacity_5{color:rgba(6,43,49,.74);background-color:rgba(228,244,247,.86)}.list-group-item-info_opacity_5.list-group-item-action:focus,.list-group-item-info_opacity_5.list-group-item-action:hover{color:rgba(6,43,49,.74);background-color:rgba(208,236,241,.86)}.list-group-item-info_opacity_5.list-group-item-action.active{color:#fff;background-color:rgba(6,43,49,.74);border-color:rgba(6,43,49,.74)}.list-group-item-info_opacity_6{color:rgba(7,51,58,.792);background-color:rgba(222,242,245,.888)}.list-group-item-info_opacity_6.list-group-item-action:focus,.list-group-item-info_opacity_6.list-group-item-action:hover{color:rgba(7,51,58,.792);background-color:rgba(202,234,239,.888)}.list-group-item-info_opacity_6.list-group-item-action.active{color:#fff;background-color:rgba(7,51,58,.792);border-color:rgba(7,51,58,.792)}.list-group-item-info_opacity_7{color:rgba(8,60,68,.844);background-color:rgba(215,239,243,.916)}.list-group-item-info_opacity_7.list-group-item-action:focus,.list-group-item-info_opacity_7.list-group-item-action:hover{color:rgba(8,60,68,.844);background-color:rgba(195,231,237,.916)}.list-group-item-info_opacity_7.list-group-item-action.active{color:#fff;background-color:rgba(8,60,68,.844);border-color:rgba(8,60,68,.844)}.list-group-item-info_opacity_8{color:rgba(10,68,77,.896);background-color:rgba(207,236,240,.944)}.list-group-item-info_opacity_8.list-group-item-action:focus,.list-group-item-info_opacity_8.list-group-item-action:hover{color:rgba(10,68,77,.896);background-color:rgba(188,228,234,.944)}.list-group-item-info_opacity_8.list-group-item-action.active{color:#fff;background-color:rgba(10,68,77,.896);border-color:rgba(10,68,77,.896)}.list-group-item-info_opacity_9{color:rgba(11,76,86,.948);background-color:rgba(199,233,238,.972)}.list-group-item-info_opacity_9.list-group-item-action:focus,.list-group-item-info_opacity_9.list-group-item-action:hover{color:rgba(11,76,86,.948);background-color:rgba(179,225,232,.972)}.list-group-item-info_opacity_9.list-group-item-action.active{color:#fff;background-color:rgba(11,76,86,.948);border-color:rgba(11,76,86,.948)}.list-group-item-warning_opacity_1{color:rgba(14,10,0,.532);background-color:rgba(255,254,250,.748)}.list-group-item-warning_opacity_1.list-group-item-action:focus,.list-group-item-warning_opacity_1.list-group-item-action:hover{color:rgba(14,10,0,.532);background-color:rgba(255,249,225,.748)}.list-group-item-warning_opacity_1.list-group-item-action.active{color:#fff;background-color:rgba(14,10,0,.532);border-color:rgba(14,10,0,.532)}.list-group-item-warning_opacity_2{color:rgba(27,21,1,.584);background-color:rgba(255,252,245,.776)}.list-group-item-warning_opacity_2.list-group-item-action:focus,.list-group-item-warning_opacity_2.list-group-item-action:hover{color:rgba(27,21,1,.584);background-color:rgba(255,244,220,.776)}.list-group-item-warning_opacity_2.list-group-item-action.active{color:#fff;background-color:rgba(27,21,1,.584);border-color:rgba(27,21,1,.584)}.list-group-item-warning_opacity_3{color:rgba(41,31,1,.636);background-color:rgba(255,251,239,.804)}.list-group-item-warning_opacity_3.list-group-item-action:focus,.list-group-item-warning_opacity_3.list-group-item-action:hover{color:rgba(41,31,1,.636);background-color:rgba(255,245,214,.804)}.list-group-item-warning_opacity_3.list-group-item-action.active{color:#fff;background-color:rgba(41,31,1,.636);border-color:rgba(41,31,1,.636)}.list-group-item-warning_opacity_4{color:rgba(54,41,1,.688);background-color:rgba(255,250,233,.832)}.list-group-item-warning_opacity_4.list-group-item-action:focus,.list-group-item-warning_opacity_4.list-group-item-action:hover{color:rgba(54,41,1,.688);background-color:rgba(255,244,208,.832)}.list-group-item-warning_opacity_4.list-group-item-action.active{color:#fff;background-color:rgba(54,41,1,.688);border-color:rgba(54,41,1,.688)}.list-group-item-warning_opacity_5{color:rgba(68,51,2,.74);background-color:rgba(255,248,227,.86)}.list-group-item-warning_opacity_5.list-group-item-action:focus,.list-group-item-warning_opacity_5.list-group-item-action:hover{color:rgba(68,51,2,.74);background-color:rgba(255,242,202,.86)}.list-group-item-warning_opacity_5.list-group-item-action.active{color:#fff;background-color:rgba(68,51,2,.74);border-color:rgba(68,51,2,.74)}.list-group-item-warning_opacity_6{color:rgba(81,61,2,.792);background-color:rgba(255,246,220,.888)}.list-group-item-warning_opacity_6.list-group-item-action:focus,.list-group-item-warning_opacity_6.list-group-item-action:hover{color:rgba(81,61,2,.792);background-color:rgba(255,239,195,.888)}.list-group-item-warning_opacity_6.list-group-item-action.active{color:#fff;background-color:rgba(81,61,2,.792);border-color:rgba(81,61,2,.792)}.list-group-item-warning_opacity_7{color:rgba(94,71,3,.844);background-color:rgba(255,244,212,.916)}.list-group-item-warning_opacity_7.list-group-item-action:focus,.list-group-item-warning_opacity_7.list-group-item-action:hover{color:rgba(94,71,3,.844);background-color:rgba(255,237,187,.916)}.list-group-item-warning_opacity_7.list-group-item-action.active{color:#fff;background-color:rgba(94,71,3,.844);border-color:rgba(94,71,3,.844)}.list-group-item-warning_opacity_8{color:rgba(107,81,3,.896);background-color:rgba(255,242,204,.944)}.list-group-item-warning_opacity_8.list-group-item-action:focus,.list-group-item-warning_opacity_8.list-group-item-action:hover{color:rgba(107,81,3,.896);background-color:rgba(255,236,179,.944)}.list-group-item-warning_opacity_8.list-group-item-action.active{color:#fff;background-color:rgba(107,81,3,.896);border-color:rgba(107,81,3,.896)}.list-group-item-warning_opacity_9{color:rgba(120,91,3,.948);background-color:rgba(255,240,195,.972)}.list-group-item-warning_opacity_9.list-group-item-action:focus,.list-group-item-warning_opacity_9.list-group-item-action:hover{color:rgba(120,91,3,.948);background-color:rgba(255,234,170,.972)}.list-group-item-warning_opacity_9.list-group-item-action.active{color:#fff;background-color:rgba(120,91,3,.948);border-color:rgba(120,91,3,.948)}.close{font-size:calc(1.275rem + .3vw);font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}@media (min-width:1200px){.close{font-size:1.5rem}}.close:hover{color:#000;text-decoration:none}.close:focus,.close:hover{opacity:.75}.close.disabled,.close:disabled{pointer-events:none}button.close{padding:0;background-color:transparent;border:0}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow,.bs-tooltip-right .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow::before,.bs-tooltip-right .tooltip-arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow,.bs-tooltip-left .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow::before,.bs-tooltip-left .tooltip-arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.popover-arrow,.bs-popover-right>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.popover-arrow::before,.bs-popover-right>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.popover-arrow::after,.bs-popover-right>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.popover-arrow,.bs-popover-left>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.popover-arrow::before,.bs-popover-left>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.popover-arrow::after,.bs-popover-left>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#024dbc}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#494f54}.link-success{color:#28a745}.link-success:focus,.link-success:hover{color:#19692c}.link-info{color:#17a2b8}.link-info:focus,.link-info:hover{color:#0f6674}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ba8b00}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#a71d2a}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#cbd3da}.link-dark{color:#343a40}.link-dark:focus,.link-dark:hover{color:#121416}.link-success_opacity_1{color:rgba(40,167,69,.1)}.link-success_opacity_1:focus,.link-success_opacity_1:hover{color:rgba(25,105,44,.1)}.link-success_opacity_2{color:rgba(40,167,69,.2)}.link-success_opacity_2:focus,.link-success_opacity_2:hover{color:rgba(25,105,44,.2)}.link-success_opacity_3{color:rgba(40,167,69,.3)}.link-success_opacity_3:focus,.link-success_opacity_3:hover{color:rgba(25,105,44,.3)}.link-success_opacity_4{color:rgba(40,167,69,.4)}.link-success_opacity_4:focus,.link-success_opacity_4:hover{color:rgba(25,105,44,.4)}.link-success_opacity_5{color:rgba(40,167,69,.5)}.link-success_opacity_5:focus,.link-success_opacity_5:hover{color:rgba(25,105,44,.5)}.link-success_opacity_6{color:rgba(40,167,69,.6)}.link-success_opacity_6:focus,.link-success_opacity_6:hover{color:rgba(25,105,44,.6)}.link-success_opacity_7{color:rgba(40,167,69,.7)}.link-success_opacity_7:focus,.link-success_opacity_7:hover{color:rgba(25,105,44,.7)}.link-success_opacity_8{color:rgba(40,167,69,.8)}.link-success_opacity_8:focus,.link-success_opacity_8:hover{color:rgba(25,105,44,.8)}.link-success_opacity_9{color:rgba(40,167,69,.9)}.link-success_opacity_9:focus,.link-success_opacity_9:hover{color:rgba(25,105,44,.9)}.link-primary_opacity_1{color:rgba(13,110,253,.1)}.link-primary_opacity_1:focus,.link-primary_opacity_1:hover{color:rgba(2,77,188,.1)}.link-primary_opacity_2{color:rgba(13,110,253,.2)}.link-primary_opacity_2:focus,.link-primary_opacity_2:hover{color:rgba(2,77,188,.2)}.link-primary_opacity_3{color:rgba(13,110,253,.3)}.link-primary_opacity_3:focus,.link-primary_opacity_3:hover{color:rgba(2,77,188,.3)}.link-primary_opacity_4{color:rgba(13,110,253,.4)}.link-primary_opacity_4:focus,.link-primary_opacity_4:hover{color:rgba(2,77,188,.4)}.link-primary_opacity_5{color:rgba(13,110,253,.5)}.link-primary_opacity_5:focus,.link-primary_opacity_5:hover{color:rgba(2,77,188,.5)}.link-primary_opacity_6{color:rgba(13,110,253,.6)}.link-primary_opacity_6:focus,.link-primary_opacity_6:hover{color:rgba(2,77,188,.6)}.link-primary_opacity_7{color:rgba(13,110,253,.7)}.link-primary_opacity_7:focus,.link-primary_opacity_7:hover{color:rgba(2,77,188,.7)}.link-primary_opacity_8{color:rgba(13,110,253,.8)}.link-primary_opacity_8:focus,.link-primary_opacity_8:hover{color:rgba(2,77,188,.8)}.link-primary_opacity_9{color:rgba(13,110,253,.9)}.link-primary_opacity_9:focus,.link-primary_opacity_9:hover{color:rgba(2,77,188,.9)}.link-danger_opacity_1{color:rgba(220,53,69,.1)}.link-danger_opacity_1:focus,.link-danger_opacity_1:hover{color:rgba(167,29,42,.1)}.link-danger_opacity_2{color:rgba(220,53,69,.2)}.link-danger_opacity_2:focus,.link-danger_opacity_2:hover{color:rgba(167,29,42,.2)}.link-danger_opacity_3{color:rgba(220,53,69,.3)}.link-danger_opacity_3:focus,.link-danger_opacity_3:hover{color:rgba(167,29,42,.3)}.link-danger_opacity_4{color:rgba(220,53,69,.4)}.link-danger_opacity_4:focus,.link-danger_opacity_4:hover{color:rgba(167,29,42,.4)}.link-danger_opacity_5{color:rgba(220,53,69,.5)}.link-danger_opacity_5:focus,.link-danger_opacity_5:hover{color:rgba(167,29,42,.5)}.link-danger_opacity_6{color:rgba(220,53,69,.6)}.link-danger_opacity_6:focus,.link-danger_opacity_6:hover{color:rgba(167,29,42,.6)}.link-danger_opacity_7{color:rgba(220,53,69,.7)}.link-danger_opacity_7:focus,.link-danger_opacity_7:hover{color:rgba(167,29,42,.7)}.link-danger_opacity_8{color:rgba(220,53,69,.8)}.link-danger_opacity_8:focus,.link-danger_opacity_8:hover{color:rgba(167,29,42,.8)}.link-danger_opacity_9{color:rgba(220,53,69,.9)}.link-danger_opacity_9:focus,.link-danger_opacity_9:hover{color:rgba(167,29,42,.9)}.link-info_opacity_1{color:rgba(23,162,184,.1)}.link-info_opacity_1:focus,.link-info_opacity_1:hover{color:rgba(15,102,116,.1)}.link-info_opacity_2{color:rgba(23,162,184,.2)}.link-info_opacity_2:focus,.link-info_opacity_2:hover{color:rgba(15,102,116,.2)}.link-info_opacity_3{color:rgba(23,162,184,.3)}.link-info_opacity_3:focus,.link-info_opacity_3:hover{color:rgba(15,102,116,.3)}.link-info_opacity_4{color:rgba(23,162,184,.4)}.link-info_opacity_4:focus,.link-info_opacity_4:hover{color:rgba(15,102,116,.4)}.link-info_opacity_5{color:rgba(23,162,184,.5)}.link-info_opacity_5:focus,.link-info_opacity_5:hover{color:rgba(15,102,116,.5)}.link-info_opacity_6{color:rgba(23,162,184,.6)}.link-info_opacity_6:focus,.link-info_opacity_6:hover{color:rgba(15,102,116,.6)}.link-info_opacity_7{color:rgba(23,162,184,.7)}.link-info_opacity_7:focus,.link-info_opacity_7:hover{color:rgba(15,102,116,.7)}.link-info_opacity_8{color:rgba(23,162,184,.8)}.link-info_opacity_8:focus,.link-info_opacity_8:hover{color:rgba(15,102,116,.8)}.link-info_opacity_9{color:rgba(23,162,184,.9)}.link-info_opacity_9:focus,.link-info_opacity_9:hover{color:rgba(15,102,116,.9)}.link-warning_opacity_1{color:rgba(255,193,7,.1)}.link-warning_opacity_1:focus,.link-warning_opacity_1:hover{color:rgba(186,139,0,.1)}.link-warning_opacity_2{color:rgba(255,193,7,.2)}.link-warning_opacity_2:focus,.link-warning_opacity_2:hover{color:rgba(186,139,0,.2)}.link-warning_opacity_3{color:rgba(255,193,7,.3)}.link-warning_opacity_3:focus,.link-warning_opacity_3:hover{color:rgba(186,139,0,.3)}.link-warning_opacity_4{color:rgba(255,193,7,.4)}.link-warning_opacity_4:focus,.link-warning_opacity_4:hover{color:rgba(186,139,0,.4)}.link-warning_opacity_5{color:rgba(255,193,7,.5)}.link-warning_opacity_5:focus,.link-warning_opacity_5:hover{color:rgba(186,139,0,.5)}.link-warning_opacity_6{color:rgba(255,193,7,.6)}.link-warning_opacity_6:focus,.link-warning_opacity_6:hover{color:rgba(186,139,0,.6)}.link-warning_opacity_7{color:rgba(255,193,7,.7)}.link-warning_opacity_7:focus,.link-warning_opacity_7:hover{color:rgba(186,139,0,.7)}.link-warning_opacity_8{color:rgba(255,193,7,.8)}.link-warning_opacity_8:focus,.link-warning_opacity_8:hover{color:rgba(186,139,0,.8)}.link-warning_opacity_9{color:rgba(255,193,7,.9)}.link-warning_opacity_9:focus,.link-warning_opacity_9:hover{color:rgba(186,139,0,.9)}.embed-responsive{position:relative;width:100%}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;width:100%;height:100%}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.sr-only,.sr-only-focusable:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-success_opacity_1{border-color:rgba(40,167,69,.1)!important}.border-success_opacity_2{border-color:rgba(40,167,69,.2)!important}.border-success_opacity_3{border-color:rgba(40,167,69,.3)!important}.border-success_opacity_4{border-color:rgba(40,167,69,.4)!important}.border-success_opacity_5{border-color:rgba(40,167,69,.5)!important}.border-success_opacity_6{border-color:rgba(40,167,69,.6)!important}.border-success_opacity_7{border-color:rgba(40,167,69,.7)!important}.border-success_opacity_8{border-color:rgba(40,167,69,.8)!important}.border-success_opacity_9{border-color:rgba(40,167,69,.9)!important}.border-primary_opacity_1{border-color:rgba(13,110,253,.1)!important}.border-primary_opacity_2{border-color:rgba(13,110,253,.2)!important}.border-primary_opacity_3{border-color:rgba(13,110,253,.3)!important}.border-primary_opacity_4{border-color:rgba(13,110,253,.4)!important}.border-primary_opacity_5{border-color:rgba(13,110,253,.5)!important}.border-primary_opacity_6{border-color:rgba(13,110,253,.6)!important}.border-primary_opacity_7{border-color:rgba(13,110,253,.7)!important}.border-primary_opacity_8{border-color:rgba(13,110,253,.8)!important}.border-primary_opacity_9{border-color:rgba(13,110,253,.9)!important}.border-danger_opacity_1{border-color:rgba(220,53,69,.1)!important}.border-danger_opacity_2{border-color:rgba(220,53,69,.2)!important}.border-danger_opacity_3{border-color:rgba(220,53,69,.3)!important}.border-danger_opacity_4{border-color:rgba(220,53,69,.4)!important}.border-danger_opacity_5{border-color:rgba(220,53,69,.5)!important}.border-danger_opacity_6{border-color:rgba(220,53,69,.6)!important}.border-danger_opacity_7{border-color:rgba(220,53,69,.7)!important}.border-danger_opacity_8{border-color:rgba(220,53,69,.8)!important}.border-danger_opacity_9{border-color:rgba(220,53,69,.9)!important}.border-info_opacity_1{border-color:rgba(23,162,184,.1)!important}.border-info_opacity_2{border-color:rgba(23,162,184,.2)!important}.border-info_opacity_3{border-color:rgba(23,162,184,.3)!important}.border-info_opacity_4{border-color:rgba(23,162,184,.4)!important}.border-info_opacity_5{border-color:rgba(23,162,184,.5)!important}.border-info_opacity_6{border-color:rgba(23,162,184,.6)!important}.border-info_opacity_7{border-color:rgba(23,162,184,.7)!important}.border-info_opacity_8{border-color:rgba(23,162,184,.8)!important}.border-info_opacity_9{border-color:rgba(23,162,184,.9)!important}.border-warning_opacity_1{border-color:rgba(255,193,7,.1)!important}.border-warning_opacity_2{border-color:rgba(255,193,7,.2)!important}.border-warning_opacity_3{border-color:rgba(255,193,7,.3)!important}.border-warning_opacity_4{border-color:rgba(255,193,7,.4)!important}.border-warning_opacity_5{border-color:rgba(255,193,7,.5)!important}.border-warning_opacity_6{border-color:rgba(255,193,7,.6)!important}.border-warning_opacity_7{border-color:rgba(255,193,7,.7)!important}.border-warning_opacity_8{border-color:rgba(255,193,7,.8)!important}.border-warning_opacity_9{border-color:rgba(255,193,7,.9)!important}.border-white{border-color:#fff!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#28a745!important}.text-info{color:#17a2b8!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-success_opacity_1{color:rgba(40,167,69,.1)!important}.text-success_opacity_2{color:rgba(40,167,69,.2)!important}.text-success_opacity_3{color:rgba(40,167,69,.3)!important}.text-success_opacity_4{color:rgba(40,167,69,.4)!important}.text-success_opacity_5{color:rgba(40,167,69,.5)!important}.text-success_opacity_6{color:rgba(40,167,69,.6)!important}.text-success_opacity_7{color:rgba(40,167,69,.7)!important}.text-success_opacity_8{color:rgba(40,167,69,.8)!important}.text-success_opacity_9{color:rgba(40,167,69,.9)!important}.text-primary_opacity_1{color:rgba(13,110,253,.1)!important}.text-primary_opacity_2{color:rgba(13,110,253,.2)!important}.text-primary_opacity_3{color:rgba(13,110,253,.3)!important}.text-primary_opacity_4{color:rgba(13,110,253,.4)!important}.text-primary_opacity_5{color:rgba(13,110,253,.5)!important}.text-primary_opacity_6{color:rgba(13,110,253,.6)!important}.text-primary_opacity_7{color:rgba(13,110,253,.7)!important}.text-primary_opacity_8{color:rgba(13,110,253,.8)!important}.text-primary_opacity_9{color:rgba(13,110,253,.9)!important}.text-danger_opacity_1{color:rgba(220,53,69,.1)!important}.text-danger_opacity_2{color:rgba(220,53,69,.2)!important}.text-danger_opacity_3{color:rgba(220,53,69,.3)!important}.text-danger_opacity_4{color:rgba(220,53,69,.4)!important}.text-danger_opacity_5{color:rgba(220,53,69,.5)!important}.text-danger_opacity_6{color:rgba(220,53,69,.6)!important}.text-danger_opacity_7{color:rgba(220,53,69,.7)!important}.text-danger_opacity_8{color:rgba(220,53,69,.8)!important}.text-danger_opacity_9{color:rgba(220,53,69,.9)!important}.text-info_opacity_1{color:rgba(23,162,184,.1)!important}.text-info_opacity_2{color:rgba(23,162,184,.2)!important}.text-info_opacity_3{color:rgba(23,162,184,.3)!important}.text-info_opacity_4{color:rgba(23,162,184,.4)!important}.text-info_opacity_5{color:rgba(23,162,184,.5)!important}.text-info_opacity_6{color:rgba(23,162,184,.6)!important}.text-info_opacity_7{color:rgba(23,162,184,.7)!important}.text-info_opacity_8{color:rgba(23,162,184,.8)!important}.text-info_opacity_9{color:rgba(23,162,184,.9)!important}.text-warning_opacity_1{color:rgba(255,193,7,.1)!important}.text-warning_opacity_2{color:rgba(255,193,7,.2)!important}.text-warning_opacity_3{color:rgba(255,193,7,.3)!important}.text-warning_opacity_4{color:rgba(255,193,7,.4)!important}.text-warning_opacity_5{color:rgba(255,193,7,.5)!important}.text-warning_opacity_6{color:rgba(255,193,7,.6)!important}.text-warning_opacity_7{color:rgba(255,193,7,.7)!important}.text-warning_opacity_8{color:rgba(255,193,7,.8)!important}.text-warning_opacity_9{color:rgba(255,193,7,.9)!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}.bg-info{background-color:#17a2b8!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-success_opacity_1{background-color:rgba(40,167,69,.1)!important}.bg-success_opacity_2{background-color:rgba(40,167,69,.2)!important}.bg-success_opacity_3{background-color:rgba(40,167,69,.3)!important}.bg-success_opacity_4{background-color:rgba(40,167,69,.4)!important}.bg-success_opacity_5{background-color:rgba(40,167,69,.5)!important}.bg-success_opacity_6{background-color:rgba(40,167,69,.6)!important}.bg-success_opacity_7{background-color:rgba(40,167,69,.7)!important}.bg-success_opacity_8{background-color:rgba(40,167,69,.8)!important}.bg-success_opacity_9{background-color:rgba(40,167,69,.9)!important}.bg-primary_opacity_1{background-color:rgba(13,110,253,.1)!important}.bg-primary_opacity_2{background-color:rgba(13,110,253,.2)!important}.bg-primary_opacity_3{background-color:rgba(13,110,253,.3)!important}.bg-primary_opacity_4{background-color:rgba(13,110,253,.4)!important}.bg-primary_opacity_5{background-color:rgba(13,110,253,.5)!important}.bg-primary_opacity_6{background-color:rgba(13,110,253,.6)!important}.bg-primary_opacity_7{background-color:rgba(13,110,253,.7)!important}.bg-primary_opacity_8{background-color:rgba(13,110,253,.8)!important}.bg-primary_opacity_9{background-color:rgba(13,110,253,.9)!important}.bg-danger_opacity_1{background-color:rgba(220,53,69,.1)!important}.bg-danger_opacity_2{background-color:rgba(220,53,69,.2)!important}.bg-danger_opacity_3{background-color:rgba(220,53,69,.3)!important}.bg-danger_opacity_4{background-color:rgba(220,53,69,.4)!important}.bg-danger_opacity_5{background-color:rgba(220,53,69,.5)!important}.bg-danger_opacity_6{background-color:rgba(220,53,69,.6)!important}.bg-danger_opacity_7{background-color:rgba(220,53,69,.7)!important}.bg-danger_opacity_8{background-color:rgba(220,53,69,.8)!important}.bg-danger_opacity_9{background-color:rgba(220,53,69,.9)!important}.bg-info_opacity_1{background-color:rgba(23,162,184,.1)!important}.bg-info_opacity_2{background-color:rgba(23,162,184,.2)!important}.bg-info_opacity_3{background-color:rgba(23,162,184,.3)!important}.bg-info_opacity_4{background-color:rgba(23,162,184,.4)!important}.bg-info_opacity_5{background-color:rgba(23,162,184,.5)!important}.bg-info_opacity_6{background-color:rgba(23,162,184,.6)!important}.bg-info_opacity_7{background-color:rgba(23,162,184,.7)!important}.bg-info_opacity_8{background-color:rgba(23,162,184,.8)!important}.bg-info_opacity_9{background-color:rgba(23,162,184,.9)!important}.bg-warning_opacity_1{background-color:rgba(255,193,7,.1)!important}.bg-warning_opacity_2{background-color:rgba(255,193,7,.2)!important}.bg-warning_opacity_3{background-color:rgba(255,193,7,.3)!important}.bg-warning_opacity_4{background-color:rgba(255,193,7,.4)!important}.bg-warning_opacity_5{background-color:rgba(255,193,7,.5)!important}.bg-warning_opacity_6{background-color:rgba(255,193,7,.6)!important}.bg-warning_opacity_7{background-color:rgba(255,193,7,.7)!important}.bg-warning_opacity_8{background-color:rgba(255,193,7,.8)!important}.bg-warning_opacity_9{background-color:rgba(255,193,7,.9)!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.font-italic{font-style:italic!important}.font-normal{font-style:normal!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.float-xxl-none{float:none!important}.d-xxl-none{display:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:.25rem!important}.mr-xxl-2{margin-right:.5rem!important}.mr-xxl-3{margin-right:1rem!important}.mr-xxl-4{margin-right:1.5rem!important}.mr-xxl-5{margin-right:3rem!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:.25rem!important}.ml-xxl-2{margin-left:.5rem!important}.ml-xxl-3{margin-left:1rem!important}.ml-xxl-4{margin-left:1.5rem!important}.ml-xxl-5{margin-left:3rem!important}.ml-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:.25rem!important}.pr-xxl-2{padding-right:.5rem!important}.pr-xxl-3{padding-right:1rem!important}.pr-xxl-4{padding-right:1.5rem!important}.pr-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:.25rem!important}.pl-xxl-2{padding-left:.5rem!important}.pl-xxl-3{padding-left:1rem!important}.pl-xxl-4{padding-left:1.5rem!important}.pl-xxl-5{padding-left:3rem!important}.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
\ No newline at end of file
diff --git a/niege/Cuteen/static/css/header-18e0f48223.css b/niege/Cuteen/static/css/header-18e0f48223.css
new file mode 100644
index 0000000..4314daa
--- /dev/null
+++ b/niege/Cuteen/static/css/header-18e0f48223.css
@@ -0,0 +1,7 @@
+#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0,-4px);-ms-transform:rotate(3deg) translate(0,-4px);transform:rotate(3deg) translate(0,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}/*!
+ * Toastify js 1.9.1
+ * https://github.com/apvarun/toastify-js
+ * @license MIT licensed
+ *
+ * Copyright (C) 2018 Varun A P
+ */.toastify{padding:12px 20px;color:#fff;display:inline-block;box-shadow:0 3px 6px -1px rgba(0,0,0,.12),0 10px 36px -4px rgba(77,96,232,.3);background:-webkit-linear-gradient(315deg,#73a5ff,#5477f5);background:linear-gradient(135deg,#73a5ff,#5477f5);position:fixed;opacity:0;transition:all .4s cubic-bezier(.215,.61,.355,1);border-radius:2px;cursor:pointer;text-decoration:none;max-width:calc(50% - 20px);z-index:2147483647}.toastify.on{opacity:1}.toast-close{opacity:.4;padding:0 5px}.toastify-right{right:15px}.toastify-left{left:15px}.toastify-top{top:-150px}.toastify-bottom{bottom:-150px}.toastify-rounded{border-radius:25px}.toastify-avatar{width:1.5em;height:1.5em;margin:-7px 5px;border-radius:2px}.toastify-center{margin-left:auto;margin-right:auto;left:0;right:0;max-width:fit-content}@media only screen and (max-width:360px){.toastify-left,.toastify-right{margin-left:auto;margin-right:auto;left:0;right:0;max-width:fit-content}}
\ No newline at end of file
diff --git a/niege/Cuteen/static/css/header-bfaeb10dae.css b/niege/Cuteen/static/css/header-bfaeb10dae.css
new file mode 100644
index 0000000..dcbd177
--- /dev/null
+++ b/niege/Cuteen/static/css/header-bfaeb10dae.css
@@ -0,0 +1,7 @@
+/*!
+ * Toastify js 1.9.1
+ * https://github.com/apvarun/toastify-js
+ * @license MIT licensed
+ *
+ * Copyright (C) 2018 Varun A P
+ */.toastify{padding:12px 20px;color:#fff;display:inline-block;box-shadow:0 3px 6px -1px rgba(0,0,0,.12),0 10px 36px -4px rgba(77,96,232,.3);background:-webkit-linear-gradient(315deg,#73a5ff,#5477f5);background:linear-gradient(135deg,#73a5ff,#5477f5);position:fixed;opacity:0;transition:all .4s cubic-bezier(.215,.61,.355,1);border-radius:2px;cursor:pointer;text-decoration:none;max-width:calc(50% - 20px);z-index:2147483647}.toastify.on{opacity:1}.toast-close{opacity:.4;padding:0 5px}.toastify-right{right:15px}.toastify-left{left:15px}.toastify-top{top:-150px}.toastify-bottom{bottom:-150px}.toastify-rounded{border-radius:25px}.toastify-avatar{width:1.5em;height:1.5em;margin:-7px 5px;border-radius:2px}.toastify-center{margin-left:auto;margin-right:auto;left:0;right:0;max-width:fit-content}@media only screen and (max-width:360px){.toastify-left,.toastify-right{margin-left:auto;margin-right:auto;left:0;right:0;max-width:fit-content}}
\ No newline at end of file
diff --git a/niege/Cuteen/static/css/lightgallery.css b/niege/Cuteen/static/css/lightgallery.css
new file mode 100644
index 0000000..8d7a323
--- /dev/null
+++ b/niege/Cuteen/static/css/lightgallery.css
@@ -0,0 +1,1173 @@
+
+
+.lg-icon {
+ /* use !important to prevent issues with browser extensions that change fonts */
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
+ /* Better Font Rendering =========== */
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.lg-actions .lg-next, .lg-actions .lg-prev {
+ background-color: rgba(0, 0, 0, 0.45);
+ border-radius: 2px;
+ color: #999;
+ cursor: pointer;
+ display: block;
+ font-size: 22px;
+ margin-top: -10px;
+ padding: 8px 10px 9px;
+ position: absolute;
+ top: 50%;
+ z-index: 1080;
+ outline: none;
+ border: none;
+}
+
+.lg-actions .lg-next.disabled, .lg-actions .lg-prev.disabled {
+ pointer-events: none;
+ opacity: 0.5;
+}
+
+.lg-actions .lg-next:hover, .lg-actions .lg-prev:hover {
+ color: #FFF;
+}
+
+.lg-actions .lg-next {
+ right: 20px;
+}
+
+.lg-actions .lg-next:before {
+ content: "";
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjAxNjI4NDAwMTI3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjU4MjEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNMzg0IDgxMC42NjY2NjdjLTEyLjggMC0yMS4zMzMzMzMtNC4yNjY2NjctMjkuODY2NjY3LTEyLjgtMTcuMDY2NjY3LTE3LjA2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY3IDAtNTkuNzMzMzM0bDIyNi4xMzMzMzQtMjI2LjEzMzMzMy0yMjYuMTMzMzM0LTIyNi4xMzMzMzNjLTE3LjA2NjY2Ny0xNy4wNjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2NyAwLTU5LjczMzMzNHM0Mi42NjY2NjctMTcuMDY2NjY3IDU5LjczMzMzNCAwbDI1NiAyNTZjMTcuMDY2NjY3IDE3LjA2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDAgNTkuNzMzMzM0bC0yNTYgMjU2Yy04LjUzMzMzMyA4LjUzMzMzMy0xNy4wNjY2NjcgMTIuOC0yOS44NjY2NjcgMTIuOHoiIHAtaWQ9IjU4MjIiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=);
+ display: block;
+ width: 1.25rem;
+ height: 1.25rem;
+ background-size: 100% 100%;
+}
+
+.lg-actions .lg-prev {
+ left: 20px;
+}
+
+.lg-actions .lg-prev:after {
+ content: "";
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjAxNjI4Mzg5NDU4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjU2MjgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNjQwIDgxMC42NjY2NjdjLTEyLjggMC0yMS4zMzMzMzMtNC4yNjY2NjctMjkuODY2NjY3LTEyLjhsLTI1Ni0yNTZjLTE3LjA2NjY2Ny0xNy4wNjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2NyAwLTU5LjczMzMzNGwyNTYtMjU2YzE3LjA2NjY2Ny0xNy4wNjY2NjcgNDIuNjY2NjY3LTE3LjA2NjY2NyA1OS43MzMzMzQgMHMxNy4wNjY2NjcgNDIuNjY2NjY3IDAgNTkuNzMzMzM0TDQ0My43MzMzMzMgNTEybDIyNi4xMzMzMzQgMjI2LjEzMzMzM2MxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgMCA1OS43MzMzMzQtOC41MzMzMzMgOC41MzMzMzMtMTcuMDY2NjY3IDEyLjgtMjkuODY2NjY3IDEyLjh6IiBwLWlkPSI1NjI5IiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+);
+ display: block;
+ width: 1.25rem;
+ height: 1.25rem;
+ background-size: 100% 100%;
+}
+
+@-webkit-keyframes lg-right-end {
+ 0% {
+ left: 0;
+ }
+ 50% {
+ left: -30px;
+ }
+ 100% {
+ left: 0;
+ }
+}
+
+@-moz-keyframes lg-right-end {
+ 0% {
+ left: 0;
+ }
+ 50% {
+ left: -30px;
+ }
+ 100% {
+ left: 0;
+ }
+}
+
+@-ms-keyframes lg-right-end {
+ 0% {
+ left: 0;
+ }
+ 50% {
+ left: -30px;
+ }
+ 100% {
+ left: 0;
+ }
+}
+
+@keyframes lg-right-end {
+ 0% {
+ left: 0;
+ }
+ 50% {
+ left: -30px;
+ }
+ 100% {
+ left: 0;
+ }
+}
+
+@-webkit-keyframes lg-left-end {
+ 0% {
+ left: 0;
+ }
+ 50% {
+ left: 30px;
+ }
+ 100% {
+ left: 0;
+ }
+}
+
+@-moz-keyframes lg-left-end {
+ 0% {
+ left: 0;
+ }
+ 50% {
+ left: 30px;
+ }
+ 100% {
+ left: 0;
+ }
+}
+
+@-ms-keyframes lg-left-end {
+ 0% {
+ left: 0;
+ }
+ 50% {
+ left: 30px;
+ }
+ 100% {
+ left: 0;
+ }
+}
+
+@keyframes lg-left-end {
+ 0% {
+ left: 0;
+ }
+ 50% {
+ left: 30px;
+ }
+ 100% {
+ left: 0;
+ }
+}
+
+.lg-outer.lg-right-end .lg-object {
+ -webkit-animation: lg-right-end 0.3s;
+ -o-animation: lg-right-end 0.3s;
+ animation: lg-right-end 0.3s;
+ position: relative;
+}
+
+.lg-outer.lg-left-end .lg-object {
+ -webkit-animation: lg-left-end 0.3s;
+ -o-animation: lg-left-end 0.3s;
+ animation: lg-left-end 0.3s;
+ position: relative;
+}
+
+.lg-toolbar {
+ z-index: 1082;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ background-color: rgba(0, 0, 0, 0.45);
+}
+
+.lg-toolbar .lg-icon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #999;
+ cursor: pointer;
+ float: right;
+ height: 47px;
+ width: 50px;
+ text-decoration: none !important;
+ outline: medium none;
+ background: none;
+ border: none;
+ box-shadow: none;
+ -webkit-transition: color 0.2s linear;
+ -o-transition: color 0.2s linear;
+ transition: color 0.2s linear;
+}
+
+.lg-toolbar .lg-icon:hover {
+ color: #FFF;
+}
+
+.lg-toolbar .lg-close:after {
+ content: "";
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjAxNTM3MjMzMjMxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ5OTgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyIDk4MS4zMzMzMzNDMjUxLjczMzMzMyA5ODEuMzMzMzMzIDQyLjY2NjY2NyA3NzIuMjY2NjY3IDQyLjY2NjY2NyA1MTJTMjUxLjczMzMzMyA0Mi42NjY2NjcgNTEyIDQyLjY2NjY2N3M0NjkuMzMzMzMzIDIwOS4wNjY2NjcgNDY5LjMzMzMzMyA0NjkuMzMzMzMzLTIwOS4wNjY2NjcgNDY5LjMzMzMzMy00NjkuMzMzMzMzIDQ2OS4zMzMzMzN6IG0wLTg1My4zMzMzMzNjLTIxMy4zMzMzMzMgMC0zODQgMTcwLjY2NjY2Ny0zODQgMzg0czE3MC42NjY2NjcgMzg0IDM4NCAzODQgMzg0LTE3MC42NjY2NjcgMzg0LTM4NC0xNzAuNjY2NjY3LTM4NC0zODQtMzg0eiIgcC1pZD0iNDk5OSIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjxwYXRoIGQ9Ik0zODQgNjgyLjY2NjY2N2MtMTIuOCAwLTIxLjMzMzMzMy00LjI2NjY2Ny0yOS44NjY2NjctMTIuOC0xNy4wNjY2NjctMTcuMDY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjcgMC01OS43MzMzMzRsMjU2LTI1NmMxNy4wNjY2NjctMTcuMDY2NjY3IDQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzM0IDAgMTcuMDY2NjY3IDE3LjA2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDAgNTkuNzMzMzM0bC0yNTYgMjU2Yy04LjUzMzMzMyA4LjUzMzMzMy0xNy4wNjY2NjcgMTIuOC0yOS44NjY2NjcgMTIuOHoiIHAtaWQ9IjUwMDAiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48cGF0aCBkPSJNNjQwIDY4Mi42NjY2NjdjLTEyLjggMC0yMS4zMzMzMzMtNC4yNjY2NjctMjkuODY2NjY3LTEyLjhsLTI1Ni0yNTZjLTE3LjA2NjY2Ny0xNy4wNjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2NyAwLTU5LjczMzMzNCAxNy4wNjY2NjctMTcuMDY2NjY3IDQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzM0IDBsMjU2IDI1NmMxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgMCA1OS43MzMzMzQtOC41MzMzMzMgOC41MzMzMzMtMTcuMDY2NjY3IDEyLjgtMjkuODY2NjY3IDEyLjh6IiBwLWlkPSI1MDAxIiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+);
+ display: block;
+ width: 1.25rem;
+ height: 1.25rem;
+ background-size: 100% 100%;
+}
+
+.lg-toolbar .lg-download:after {
+ content: "";
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjAxNjEwNTY2NTE2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ4NTEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyIDk4MS4zMzMzMzNDMjUxLjczMzMzMyA5ODEuMzMzMzMzIDQyLjY2NjY2NyA3NzIuMjY2NjY3IDQyLjY2NjY2NyA1MTJTMjUxLjczMzMzMyA0Mi42NjY2NjcgNTEyIDQyLjY2NjY2N3M0NjkuMzMzMzMzIDIwOS4wNjY2NjcgNDY5LjMzMzMzMyA0NjkuMzMzMzMzLTIwOS4wNjY2NjcgNDY5LjMzMzMzMy00NjkuMzMzMzMzIDQ2OS4zMzMzMzN6IG0wLTg1My4zMzMzMzNjLTIxMy4zMzMzMzMgMC0zODQgMTcwLjY2NjY2Ny0zODQgMzg0czE3MC42NjY2NjcgMzg0IDM4NCAzODQgMzg0LTE3MC42NjY2NjcgMzg0LTM4NC0xNzAuNjY2NjY3LTM4NC0zODQtMzg0eiIgcC1pZD0iNDg1MiIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjxwYXRoIGQ9Ik01MTIgNzI1LjMzMzMzM2MtMTIuOCAwLTIxLjMzMzMzMy00LjI2NjY2Ny0yOS44NjY2NjctMTIuOGwtMTcwLjY2NjY2Ni0xNzAuNjY2NjY2Yy0xNy4wNjY2NjctMTcuMDY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjcgMC01OS43MzMzMzRzNDIuNjY2NjY3LTE3LjA2NjY2NyA1OS43MzMzMzMgMGwxNDAuOCAxNDAuOCAxNDAuOC0xNDAuOGMxNy4wNjY2NjctMTcuMDY2NjY3IDQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzMzIDBzMTcuMDY2NjY3IDQyLjY2NjY2NyAwIDU5LjczMzMzNGwtMTcwLjY2NjY2NiAxNzAuNjY2NjY2Yy04LjUzMzMzMyA4LjUzMzMzMy0xNy4wNjY2NjcgMTIuOC0yOS44NjY2NjcgMTIuOHoiIHAtaWQ9IjQ4NTMiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48cGF0aCBkPSJNNTEyIDcyNS4zMzMzMzNjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjZWMzQxLjMzMzMzM2MwLTI1LjYgMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY2czQyLjY2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDQyLjY2NjY2NnYzNDEuMzMzMzM0YzAgMjUuNi0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjZ6IiBwLWlkPSI0ODU0IiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+);
+ display: block;
+ width: 1.25rem;
+ height: 1.25rem;
+ background-size: 100% 100%;
+}
+
+.lg-sub-html {
+ background-color: rgba(0, 0, 0, 0.45);
+ bottom: 0;
+ color: #EEE;
+ font-size: 16px;
+ left: 0;
+ padding: 10px 40px;
+ position: fixed;
+ right: 0;
+ text-align: center;
+ z-index: 1080;
+}
+
+.lg-sub-html h4 {
+ margin: 0;
+ font-size: 13px;
+ font-weight: bold;
+}
+
+.lg-sub-html p {
+ font-size: 12px;
+ margin: 5px 0 0;
+}
+
+#lg-counter {
+ color: #999;
+ display: inline-block;
+ font-size: 16px;
+ padding-left: 20px;
+ padding-top: 12px;
+ vertical-align: middle;
+}
+
+.lg-toolbar, .lg-prev, .lg-next {
+ opacity: 1;
+ -webkit-transition: -webkit-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
+ -moz-transition: -moz-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
+ -o-transition: -o-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
+ transition: transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
+}
+
+.lg-hide-items .lg-prev {
+ opacity: 0;
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0);
+}
+
+.lg-hide-items .lg-next {
+ opacity: 0;
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0);
+}
+
+.lg-hide-items .lg-toolbar {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0);
+}
+
+body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object {
+ -webkit-transform: scale3d(0.5, 0.5, 0.5);
+ transform: scale3d(0.5, 0.5, 0.5);
+ opacity: 0;
+ -webkit-transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
+ -moz-transition: -moz-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
+ -o-transition: -o-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
+ transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
+ -webkit-transform-origin: 50% 50%;
+ -moz-transform-origin: 50% 50%;
+ -ms-transform-origin: 50% 50%;
+ transform-origin: 50% 50%;
+}
+
+body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ opacity: 1;
+}
+
+.lg-outer .lg-thumb-outer {
+ background-color: #0D0A0A;
+ bottom: 0;
+ position: absolute;
+ width: 100%;
+ z-index: 1080;
+ max-height: 350px;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
+ -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
+ -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
+ transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
+}
+
+.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item {
+ cursor: -webkit-grab;
+ cursor: -moz-grab;
+ cursor: -o-grab;
+ cursor: -ms-grab;
+ cursor: grab;
+}
+
+.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item {
+ cursor: move;
+ cursor: -webkit-grabbing;
+ cursor: -moz-grabbing;
+ cursor: -o-grabbing;
+ cursor: -ms-grabbing;
+ cursor: grabbing;
+}
+
+.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb {
+ -webkit-transition-duration: 0s !important;
+ transition-duration: 0s !important;
+}
+
+.lg-outer.lg-thumb-open .lg-thumb-outer {
+ -webkit-transform: translate3d(0, 0%, 0);
+ transform: translate3d(0, 0%, 0);
+}
+
+.lg-outer .lg-thumb {
+ padding: 10px 0;
+ height: 100%;
+ margin-bottom: -5px;
+}
+
+.lg-outer .lg-thumb-item {
+ border-radius: 5px;
+ cursor: pointer;
+ float: left;
+ overflow: hidden;
+ height: 100%;
+ border: 2px solid #FFF;
+ border-radius: 4px;
+ margin-bottom: 5px;
+}
+
+@media (min-width: 1025px) {
+ .lg-outer .lg-thumb-item {
+ -webkit-transition: border-color 0.25s ease;
+ -o-transition: border-color 0.25s ease;
+ transition: border-color 0.25s ease;
+ }
+}
+
+.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
+ border-color: #a90707;
+}
+
+.lg-outer .lg-thumb-item img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
+
+.lg-outer.lg-has-thumb .lg-item {
+ padding-bottom: 120px;
+}
+
+.lg-outer.lg-can-toggle .lg-item {
+ padding-bottom: 0;
+}
+
+.lg-outer.lg-pull-caption-up .lg-sub-html {
+ -webkit-transition: bottom 0.25s ease;
+ -o-transition: bottom 0.25s ease;
+ transition: bottom 0.25s ease;
+}
+
+.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html {
+ bottom: 100px;
+}
+
+.lg-outer .lg-toggle-thumb {
+ background-color: #0D0A0A;
+ border-radius: 2px 2px 0 0;
+ color: #999;
+ cursor: pointer;
+ font-size: 24px;
+ height: 39px;
+ line-height: 27px;
+ padding: 5px 0;
+ position: absolute;
+ right: 20px;
+ text-align: center;
+ top: -39px;
+ width: 50px;
+ outline: medium none;
+ border: none;
+}
+
+.lg-outer .lg-toggle-thumb:after {
+ content: "\e1ff";
+}
+
+.lg-outer .lg-toggle-thumb:hover {
+ color: #FFF;
+}
+
+.lg-outer .lg-video-cont {
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 1140px;
+ max-height: 100%;
+ width: 100%;
+ padding: 0 5px;
+}
+
+.lg-outer .lg-video {
+ width: 100%;
+ height: 0;
+ padding-bottom: 56.25%;
+ overflow: hidden;
+ position: relative;
+}
+
+.lg-outer .lg-video .lg-object {
+ display: inline-block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100% !important;
+ height: 100% !important;
+}
+
+.lg-outer .lg-video .lg-video-play {
+ width: 84px;
+ height: 59px;
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ margin-left: -42px;
+ margin-top: -30px;
+ z-index: 1080;
+ cursor: pointer;
+}
+
+.lg-outer .lg-has-vimeo .lg-video-play {
+ background: url("../img/vimeo-play.png") no-repeat scroll 0 0 transparent;
+}
+
+.lg-outer .lg-has-vimeo:hover .lg-video-play {
+ background: url("../img/vimeo-play.png") no-repeat scroll 0 -58px transparent;
+}
+
+.lg-outer .lg-has-html5 .lg-video-play {
+ background: transparent url("../img/video-play.png") no-repeat scroll 0 0;
+ height: 64px;
+ margin-left: -32px;
+ margin-top: -32px;
+ width: 64px;
+ opacity: 0.8;
+}
+
+.lg-outer .lg-has-html5:hover .lg-video-play {
+ opacity: 1;
+}
+
+.lg-outer .lg-has-youtube .lg-video-play {
+ background: url("../img/youtube-play.png") no-repeat scroll 0 0 transparent;
+}
+
+.lg-outer .lg-has-youtube:hover .lg-video-play {
+ background: url("../img/youtube-play.png") no-repeat scroll 0 -60px transparent;
+}
+
+.lg-outer .lg-video-object {
+ width: 100% !important;
+ height: 100% !important;
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+
+.lg-outer .lg-has-video .lg-video-object {
+ visibility: hidden;
+}
+
+.lg-outer .lg-has-video.lg-video-playing .lg-object, .lg-outer .lg-has-video.lg-video-playing .lg-video-play {
+ display: none;
+}
+
+.lg-outer .lg-has-video.lg-video-playing .lg-video-object {
+ visibility: visible;
+}
+
+.lg-progress-bar {
+ background-color: #333;
+ height: 5px;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: 1083;
+ opacity: 0;
+ -webkit-transition: opacity 0.08s ease 0s;
+ -moz-transition: opacity 0.08s ease 0s;
+ -o-transition: opacity 0.08s ease 0s;
+ transition: opacity 0.08s ease 0s;
+}
+
+.lg-progress-bar .lg-progress {
+ background-color: #a90707;
+ height: 5px;
+ width: 0;
+}
+
+.lg-progress-bar.lg-start .lg-progress {
+ width: 100%;
+}
+
+.lg-show-autoplay .lg-progress-bar {
+ opacity: 1;
+}
+
+.lg-autoplay-button:after {
+ content: "\e01d";
+}
+
+.lg-show-autoplay .lg-autoplay-button:after {
+ content: "\e01a";
+}
+
+.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap, .lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image {
+ -webkit-transition-duration: 0s;
+ transition-duration: 0s;
+}
+
+.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
+ -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
+ -moz-transition: -moz-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
+ -o-transition: -o-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
+ transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
+}
+
+.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
+ -webkit-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
+ -moz-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
+ -o-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
+ transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
+}
+
+.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ -webkit-backface-visibility: hidden;
+ -moz-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+
+.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
+ -moz-transition: -moz-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
+ -o-transition: -o-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
+ transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
+ -webkit-transform-origin: 0 0;
+ -moz-transform-origin: 0 0;
+ -ms-transform-origin: 0 0;
+ transform-origin: 0 0;
+ -webkit-backface-visibility: hidden;
+ -moz-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+
+#lg-zoom-in:after {
+ content: "";
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjAxNjExMDk1NTY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUwNDYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNDY5LjMzMzMzMyA4NTMuMzMzMzMzYy0yMTMuMzMzMzMzIDAtMzg0LTE3MC42NjY2NjctMzg0LTM4NHMxNzAuNjY2NjY3LTM4NCAzODQtMzg0IDM4NCAxNzAuNjY2NjY3IDM4NCAzODQtMTcwLjY2NjY2NyAzODQtMzg0IDM4NHogbTAtNjgyLjY2NjY2NmMtMTY2LjQgMC0yOTguNjY2NjY3IDEzMi4yNjY2NjctMjk4LjY2NjY2NiAyOTguNjY2NjY2czEzMi4yNjY2NjcgMjk4LjY2NjY2NyAyOTguNjY2NjY2IDI5OC42NjY2NjcgMjk4LjY2NjY2Ny0xMzIuMjY2NjY3IDI5OC42NjY2NjctMjk4LjY2NjY2Ny0xMzIuMjY2NjY3LTI5OC42NjY2NjctMjk4LjY2NjY2Ny0yOTguNjY2NjY2eiIgcC1pZD0iNTA0NyIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjxwYXRoIGQ9Ik04OTYgOTM4LjY2NjY2N2MtMTIuOCAwLTIxLjMzMzMzMy00LjI2NjY2Ny0yOS44NjY2NjctMTIuOEw2ODIuNjY2NjY3IDc0Mi40Yy0xNy4wNjY2NjctMTcuMDY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjcgMC01OS43MzMzMzMgMTcuMDY2NjY3LTE3LjA2NjY2NyA0Mi42NjY2NjctMTcuMDY2NjY3IDU5LjczMzMzMyAwbDE4My40NjY2NjcgMTgzLjQ2NjY2NmMxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgMCA1OS43MzMzMzQtOC41MzMzMzMgOC41MzMzMzMtMTcuMDY2NjY3IDEyLjgtMjkuODY2NjY3IDEyLjh6TTQ2OS4zMzMzMzMgNjQwYy0yNS42IDAtNDIuNjY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjYtNDIuNjY2NjY3VjM0MS4zMzMzMzNjMC0yNS42IDE3LjA2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY2LTQyLjY2NjY2NnM0Mi42NjY2NjcgMTcuMDY2NjY3IDQyLjY2NjY2NyA0Mi42NjY2NjZ2MjU2YzAgMjUuNi0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2Njd6IiBwLWlkPSI1MDQ4IiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PHBhdGggZD0iTTU5Ny4zMzMzMzMgNTEySDM0MS4zMzMzMzNjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ni00Mi42NjY2NjdzMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjYtNDIuNjY2NjY2aDI1NmMyNS42IDAgNDIuNjY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY2cy0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2Njd6IiBwLWlkPSI1MDQ5IiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+);
+ display: block;
+ width: 1.25rem;
+ height: 1.25rem;
+ background-size: 100% 100%;
+}
+
+#lg-actual-size {
+ font-size: 20px;
+}
+
+#lg-actual-size:after {
+ content: "";
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjAxNjExNzYwMTE4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjU0MzUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNODEwLjY2NjY2NyA5MzguNjY2NjY3aC0xMjhjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjdzMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3aDEyOGMyNS42IDAgNDIuNjY2NjY3LTE3LjA2NjY2NyA0Mi42NjY2NjYtNDIuNjY2NjY2di0xMjhjMC0yNS42IDE3LjA2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2N3M0Mi42NjY2NjcgMTcuMDY2NjY3IDQyLjY2NjY2NyA0Mi42NjY2Njd2MTI4YzAgNzIuNTMzMzMzLTU1LjQ2NjY2NyAxMjgtMTI4IDEyOHpNMzQxLjMzMzMzMyA5MzguNjY2NjY3SDIxMy4zMzMzMzNjLTcyLjUzMzMzMyAwLTEyOC01NS40NjY2NjctMTI4LTEyOHYtMTI4YzAtMjUuNiAxNy4wNjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjdzNDIuNjY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY3djEyOGMwIDI1LjYgMTcuMDY2NjY3IDQyLjY2NjY2NyA0Mi42NjY2NjYgNDIuNjY2NjY2aDEyOGMyNS42IDAgNDIuNjY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY3cy0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2Njd6TTg5NiAzODRjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjdWMjEzLjMzMzMzM2MwLTI1LjYtMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjYtNDIuNjY2NjY2aC0xMjhjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjdzMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3aDEyOGM3Mi41MzMzMzMgMCAxMjggNTUuNDY2NjY3IDEyOCAxMjh2MTI4YzAgMjUuNi0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2Njd6TTEyOCAzODRjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjdWMjEzLjMzMzMzM2MwLTcyLjUzMzMzMyA1NS40NjY2NjctMTI4IDEyOC0xMjhoMTI4YzI1LjYgMCA0Mi42NjY2NjcgMTcuMDY2NjY3IDQyLjY2NjY2NyA0Mi42NjY2NjdzLTE3LjA2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2N0gyMTMuMzMzMzMzYy0yNS42IDAtNDIuNjY2NjY3IDE3LjA2NjY2Ny00Mi42NjY2NjYgNDIuNjY2NjY2djEyOGMwIDI1LjYtMTcuMDY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3eiIgcC1pZD0iNTQzNiIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjwvc3ZnPg==);
+ display: block;
+ width: 1.25rem;
+ height: 1.25rem;
+ background-size: 100% 100%;
+}
+
+#lg-zoom-out {
+ opacity: 0.5;
+ pointer-events: none;
+}
+
+#lg-zoom-out:after {
+ content: "";
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjAxNjExMTE1MzA1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUyNDEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNDY5LjMzMzMzMyA4NTMuMzMzMzMzYy0yMTMuMzMzMzMzIDAtMzg0LTE3MC42NjY2NjctMzg0LTM4NHMxNzAuNjY2NjY3LTM4NCAzODQtMzg0IDM4NCAxNzAuNjY2NjY3IDM4NCAzODQtMTcwLjY2NjY2NyAzODQtMzg0IDM4NHogbTAtNjgyLjY2NjY2NmMtMTY2LjQgMC0yOTguNjY2NjY3IDEzMi4yNjY2NjctMjk4LjY2NjY2NiAyOTguNjY2NjY2czEzMi4yNjY2NjcgMjk4LjY2NjY2NyAyOTguNjY2NjY2IDI5OC42NjY2NjcgMjk4LjY2NjY2Ny0xMzIuMjY2NjY3IDI5OC42NjY2NjctMjk4LjY2NjY2Ny0xMzIuMjY2NjY3LTI5OC42NjY2NjctMjk4LjY2NjY2Ny0yOTguNjY2NjY2eiIgcC1pZD0iNTI0MiIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjxwYXRoIGQ9Ik04OTYgOTM4LjY2NjY2N2MtMTIuOCAwLTIxLjMzMzMzMy00LjI2NjY2Ny0yOS44NjY2NjctMTIuOEw2ODIuNjY2NjY3IDc0Mi40Yy0xNy4wNjY2NjctMTcuMDY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjcgMC01OS43MzMzMzMgMTcuMDY2NjY3LTE3LjA2NjY2NyA0Mi42NjY2NjctMTcuMDY2NjY3IDU5LjczMzMzMyAwbDE4My40NjY2NjcgMTgzLjQ2NjY2NmMxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgMCA1OS43MzMzMzQtOC41MzMzMzMgOC41MzMzMzMtMTcuMDY2NjY3IDEyLjgtMjkuODY2NjY3IDEyLjh6TTU5Ny4zMzMzMzMgNTEySDM0MS4zMzMzMzNjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ni00Mi42NjY2NjdzMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjYtNDIuNjY2NjY2aDI1NmMyNS42IDAgNDIuNjY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY2cy0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2Njd6IiBwLWlkPSI1MjQzIiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+);
+ display: block;
+ width: 1.25rem;
+ height: 1.25rem;
+ background-size: 100% 100%;
+}
+
+.lg-zoomed #lg-zoom-out {
+ opacity: 1;
+ pointer-events: auto;
+}
+
+.lg-outer .lg-pager-outer {
+ bottom: 60px;
+ left: 0;
+ position: absolute;
+ right: 0;
+ text-align: center;
+ z-index: 1080;
+ height: 10px;
+}
+
+.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont {
+ overflow: visible;
+}
+
+.lg-outer .lg-pager-cont {
+ cursor: pointer;
+ display: inline-block;
+ overflow: hidden;
+ position: relative;
+ vertical-align: top;
+ margin: 0 5px;
+}
+
+.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+}
+
+.lg-outer .lg-pager-cont.lg-pager-active .lg-pager {
+ box-shadow: 0 0 0 2px white inset;
+}
+
+.lg-outer .lg-pager-thumb-cont {
+ background-color: #fff;
+ color: #FFF;
+ bottom: 100%;
+ height: 83px;
+ left: 0;
+ margin-bottom: 20px;
+ margin-left: -60px;
+ opacity: 0;
+ padding: 5px;
+ position: absolute;
+ width: 120px;
+ border-radius: 3px;
+ -webkit-transition: opacity 0.15s ease 0s, -webkit-transform 0.15s ease 0s;
+ -moz-transition: opacity 0.15s ease 0s, -moz-transform 0.15s ease 0s;
+ -o-transition: opacity 0.15s ease 0s, -o-transform 0.15s ease 0s;
+ transition: opacity 0.15s ease 0s, transform 0.15s ease 0s;
+ -webkit-transform: translate3d(0, 5px, 0);
+ transform: translate3d(0, 5px, 0);
+}
+
+.lg-outer .lg-pager-thumb-cont img {
+ width: 100%;
+ height: 100%;
+}
+
+.lg-outer .lg-pager {
+ background-color: rgba(255, 255, 255, 0.5);
+ border-radius: 50%;
+ box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset;
+ display: block;
+ height: 12px;
+ -webkit-transition: box-shadow 0.3s ease 0s;
+ -o-transition: box-shadow 0.3s ease 0s;
+ transition: box-shadow 0.3s ease 0s;
+ width: 12px;
+}
+
+.lg-outer .lg-pager:hover, .lg-outer .lg-pager:focus {
+ box-shadow: 0 0 0 8px white inset;
+}
+
+.lg-outer .lg-caret {
+ border-left: 10px solid transparent;
+ border-right: 10px solid transparent;
+ border-top: 10px dashed;
+ bottom: -10px;
+ display: inline-block;
+ height: 0;
+ left: 50%;
+ margin-left: -5px;
+ position: absolute;
+ vertical-align: middle;
+ width: 0;
+}
+
+.lg-fullscreen:after {
+ content: "\e20c";
+}
+
+.lg-fullscreen-on .lg-fullscreen:after {
+ content: "\e20d";
+}
+
+.lg-outer #lg-dropdown-overlay {
+ background-color: rgba(0, 0, 0, 0.25);
+ bottom: 0;
+ cursor: default;
+ left: 0;
+ position: fixed;
+ right: 0;
+ top: 0;
+ z-index: 1081;
+ opacity: 0;
+ visibility: hidden;
+ -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
+ -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
+ transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
+}
+
+.lg-outer.lg-dropdown-active .lg-dropdown, .lg-outer.lg-dropdown-active #lg-dropdown-overlay {
+ -webkit-transition-delay: 0s;
+ transition-delay: 0s;
+ -moz-transform: translate3d(0, 0px, 0);
+ -o-transform: translate3d(0, 0px, 0);
+ -ms-transform: translate3d(0, 0px, 0);
+ -webkit-transform: translate3d(0, 0px, 0);
+ transform: translate3d(0, 0px, 0);
+ opacity: 1;
+ visibility: visible;
+}
+
+.lg-outer.lg-dropdown-active #lg-share {
+ color: #FFF;
+}
+
+.lg-outer .lg-dropdown {
+ background-color: #fff;
+ border-radius: 2px;
+ font-size: 14px;
+ list-style-type: none;
+ margin: 0;
+ padding: 10px 0;
+ position: absolute;
+ right: 0;
+ text-align: left;
+ top: 50px;
+ opacity: 0;
+ visibility: hidden;
+ -moz-transform: translate3d(0, 5px, 0);
+ -o-transform: translate3d(0, 5px, 0);
+ -ms-transform: translate3d(0, 5px, 0);
+ -webkit-transform: translate3d(0, 5px, 0);
+ transform: translate3d(0, 5px, 0);
+ -webkit-transition: -webkit-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
+ -moz-transition: -moz-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
+ -o-transition: -o-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
+ transition: transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
+}
+
+.lg-outer .lg-dropdown:after {
+ content: "";
+ display: block;
+ height: 0;
+ width: 0;
+ position: absolute;
+ border: 8px solid transparent;
+ border-bottom-color: #FFF;
+ right: 16px;
+ top: -16px;
+}
+
+.lg-outer .lg-dropdown > li:last-child {
+ margin-bottom: 0px;
+}
+
+.lg-outer .lg-dropdown > li:hover a, .lg-outer .lg-dropdown > li:hover .lg-icon {
+ color: #333;
+}
+
+.lg-outer .lg-dropdown a {
+ color: #333;
+ display: block;
+ white-space: pre;
+ padding: 4px 12px;
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 12px;
+}
+
+.lg-outer .lg-dropdown a:hover {
+ background-color: rgba(0, 0, 0, 0.07);
+}
+
+.lg-outer .lg-dropdown .lg-dropdown-text {
+ display: inline-block;
+ line-height: 1;
+ margin-top: -3px;
+ vertical-align: middle;
+}
+
+.lg-outer .lg-dropdown .lg-icon {
+ color: #333;
+ display: inline-block;
+ float: none;
+ font-size: 20px;
+ height: auto;
+ line-height: 1;
+ margin-right: 8px;
+ padding: 0;
+ vertical-align: middle;
+ width: auto;
+}
+
+.lg-outer #lg-share {
+ position: relative;
+}
+
+.lg-outer #lg-share:after {
+ content: "\e80d";
+}
+
+.lg-outer #lg-share-facebook .lg-icon {
+ color: #3b5998;
+}
+
+.lg-outer #lg-share-facebook .lg-icon:after {
+ content: "\e904";
+}
+
+.lg-outer #lg-share-twitter .lg-icon {
+ color: #00aced;
+}
+
+.lg-outer #lg-share-twitter .lg-icon:after {
+ content: "\e907";
+}
+
+.lg-outer #lg-share-googleplus .lg-icon {
+ color: #dd4b39;
+}
+
+.lg-outer #lg-share-googleplus .lg-icon:after {
+ content: "\e905";
+}
+
+.lg-outer #lg-share-pinterest .lg-icon {
+ color: #cb2027;
+}
+
+.lg-outer #lg-share-pinterest .lg-icon:after {
+ content: "\e906";
+}
+
+.lg-outer .lg-img-rotate {
+ position: absolute;
+ padding: 0 5px;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s;
+ -moz-transition: -moz-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s;
+ -o-transition: -o-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s;
+ transition: transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s;
+}
+
+.lg-rotate-left:after {
+ content: "\e900";
+}
+
+.lg-rotate-right:after {
+ content: "\e901";
+}
+
+.lg-icon.lg-flip-hor, .lg-icon.lg-flip-ver {
+ font-size: 26px;
+}
+
+.lg-flip-hor:after {
+ content: "\e902";
+}
+
+.lg-flip-ver:after {
+ content: "\e903";
+}
+
+.group {
+ *zoom: 1;
+}
+
+.group:before, .group:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+
+.group:after {
+ clear: both;
+}
+
+.lg-outer {
+ width: 100%;
+ height: 100%;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1050;
+ opacity: 0;
+ outline: none;
+ -webkit-transition: opacity 0.15s ease 0s;
+ -o-transition: opacity 0.15s ease 0s;
+ transition: opacity 0.15s ease 0s;
+}
+
+.lg-outer * {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+.lg-outer.lg-visible {
+ opacity: 1;
+}
+
+.lg-outer.lg-css3 .lg-item.lg-prev-slide, .lg-outer.lg-css3 .lg-item.lg-next-slide, .lg-outer.lg-css3 .lg-item.lg-current {
+ -webkit-transition-duration: inherit !important;
+ transition-duration: inherit !important;
+ -webkit-transition-timing-function: inherit !important;
+ transition-timing-function: inherit !important;
+}
+
+.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current {
+ -webkit-transition-duration: 0s !important;
+ transition-duration: 0s !important;
+ opacity: 1;
+}
+
+.lg-outer.lg-grab img.lg-object {
+ cursor: -webkit-grab;
+ cursor: -moz-grab;
+ cursor: -o-grab;
+ cursor: -ms-grab;
+ cursor: grab;
+}
+
+.lg-outer.lg-grabbing img.lg-object {
+ cursor: move;
+ cursor: -webkit-grabbing;
+ cursor: -moz-grabbing;
+ cursor: -o-grabbing;
+ cursor: -ms-grabbing;
+ cursor: grabbing;
+}
+
+.lg-outer .lg {
+ height: 100%;
+ width: 100%;
+ position: relative;
+ overflow: hidden;
+ margin-left: auto;
+ margin-right: auto;
+ max-width: 100%;
+ max-height: 100%;
+}
+
+.lg-outer .lg-inner {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ left: 0;
+ top: 0;
+ white-space: nowrap;
+}
+
+.lg-outer.lg-css3 .lg-prev-slide, .lg-outer.lg-css3 .lg-current, .lg-outer.lg-css3 .lg-next-slide {
+ display: inline-block !important;
+}
+
+.lg-outer.lg-css .lg-current {
+ display: inline-block !important;
+}
+
+.lg-outer .lg-item, .lg-outer .lg-img-wrap {
+ display: inline-block;
+ text-align: center;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+}
+
+.lg-outer .lg-item:before, .lg-outer .lg-img-wrap:before {
+ content: "";
+ display: inline-block;
+ height: 50%;
+ width: 1px;
+ margin-right: -1px;
+}
+
+.lg-outer .lg-img-wrap {
+ position: absolute;
+ padding: 0 5px;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+}
+
+.lg-outer .lg-item.lg-complete {
+ background-image: none;
+}
+
+.lg-outer .lg-item.lg-current {
+ z-index: 1060;
+}
+
+.lg-outer .lg-image {
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 100%;
+ max-height: 100%;
+ width: auto !important;
+ height: auto !important;
+}
+
+.lg-outer.lg-show-after-load .lg-item .lg-object, .lg-outer.lg-show-after-load .lg-item .lg-video-play {
+ opacity: 0;
+ -webkit-transition: opacity 0.15s ease 0s;
+ -o-transition: opacity 0.15s ease 0s;
+ transition: opacity 0.15s ease 0s;
+}
+
+.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object, .lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play {
+ opacity: 1;
+}
+
+.lg-outer .lg-empty-html {
+ display: none;
+}
+
+.lg-outer.lg-hide-download #lg-download {
+ display: none;
+}
+
+.lg-backdrop {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 1040;
+ background-color: rgba(0,0,0,.7);
+ opacity: 0;
+ -webkit-transition: opacity 0.15s ease 0s;
+ -o-transition: opacity 0.15s ease 0s;
+ transition: opacity 0.15s ease 0s;
+}
+
+.lg-backdrop.in {
+ opacity: 1;
+}
+
+.lg-css3.lg-no-trans .lg-prev-slide, .lg-css3.lg-no-trans .lg-next-slide, .lg-css3.lg-no-trans .lg-current {
+ -webkit-transition: none 0s ease 0s !important;
+ -moz-transition: none 0s ease 0s !important;
+ -o-transition: none 0s ease 0s !important;
+ transition: none 0s ease 0s !important;
+}
+
+.lg-css3.lg-use-css3 .lg-item {
+ -webkit-backface-visibility: hidden;
+ -moz-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+
+.lg-css3.lg-use-left .lg-item {
+ -webkit-backface-visibility: hidden;
+ -moz-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+
+.lg-css3.lg-fade .lg-item {
+ opacity: 0;
+}
+
+.lg-css3.lg-fade .lg-item.lg-current {
+ opacity: 1;
+}
+
+.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current {
+ -webkit-transition: opacity 0.1s ease 0s;
+ -moz-transition: opacity 0.1s ease 0s;
+ -o-transition: opacity 0.1s ease 0s;
+ transition: opacity 0.1s ease 0s;
+}
+
+.lg-css3.lg-slide.lg-use-css3 .lg-item {
+ opacity: 0;
+}
+
+.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+}
+
+.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+}
+
+.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+}
+
+.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
+ -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
+ -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
+ -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
+ transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
+}
+
+.lg-css3.lg-slide.lg-use-left .lg-item {
+ opacity: 0;
+ position: absolute;
+ left: 0;
+}
+
+.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide {
+ left: -100%;
+}
+
+.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide {
+ left: 100%;
+}
+
+.lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
+ left: 0;
+ opacity: 1;
+}
+
+.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
+ -webkit-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
+ -moz-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
+ -o-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
+ transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
+}
diff --git a/niege/Cuteen/static/emoji/aru/E4B88DE587BAE68980E69699_2x.png b/niege/Cuteen/static/emoji/aru/E4B88DE587BAE68980E69699_2x.png
new file mode 100644
index 0000000..8959428
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E4B88DE587BAE68980E69699_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E4B88DE8AFB4E8AF9D_2x.png b/niege/Cuteen/static/emoji/aru/E4B88DE8AFB4E8AF9D_2x.png
new file mode 100644
index 0000000..758fc53
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E4B88DE8AFB4E8AF9D_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E4B88DE9AB98E585B4_2x.png b/niege/Cuteen/static/emoji/aru/E4B88DE9AB98E585B4_2x.png
new file mode 100644
index 0000000..c11d688
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E4B88DE9AB98E585B4_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E4B8ADE58880_2x.png b/niege/Cuteen/static/emoji/aru/E4B8ADE58880_2x.png
new file mode 100644
index 0000000..2038f81
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E4B8ADE58880_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E4B8ADE68C87_2x.png b/niege/Cuteen/static/emoji/aru/E4B8ADE68C87_2x.png
new file mode 100644
index 0000000..bb758bd
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E4B8ADE68C87_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E4B8ADE69EAA_2x.png b/niege/Cuteen/static/emoji/aru/E4B8ADE69EAA_2x.png
new file mode 100644
index 0000000..55c4e3f
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E4B8ADE69EAA_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E4BAB2E4BAB2_2x.png b/niege/Cuteen/static/emoji/aru/E4BAB2E4BAB2_2x.png
new file mode 100644
index 0000000..6c9cf30
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E4BAB2E4BAB2_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E4BEBFE4BEBF_2x.png b/niege/Cuteen/static/emoji/aru/E4BEBFE4BEBF_2x.png
new file mode 100644
index 0000000..4be59c2
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E4BEBFE4BEBF_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E582BBE7AC91_2x.png b/niege/Cuteen/static/emoji/aru/E582BBE7AC91_2x.png
new file mode 100644
index 0000000..2efb4d2
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E582BBE7AC91_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E58685E4BCA4_2x.png b/niege/Cuteen/static/emoji/aru/E58685E4BCA4_2x.png
new file mode 100644
index 0000000..78b3837
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E58685E4BCA4_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E587BBE68E8C_2x.png b/niege/Cuteen/static/emoji/aru/E587BBE68E8C_2x.png
new file mode 100644
index 0000000..c97e00a
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E587BBE68E8C_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E58FA3E6B0B4_2x.png b/niege/Cuteen/static/emoji/aru/E58FA3E6B0B4_2x.png
new file mode 100644
index 0000000..5b13dbc
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E58FA3E6B0B4_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E59090E8888C_2x.png b/niege/Cuteen/static/emoji/aru/E59090E8888C_2x.png
new file mode 100644
index 0000000..b038f8e
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E59090E8888C_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E59090E8A180E58092E59CB0_2x.png b/niege/Cuteen/static/emoji/aru/E59090E8A180E58092E59CB0_2x.png
new file mode 100644
index 0000000..9e63eee
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E59090E8A180E58092E59CB0_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E59090_2x.png b/niege/Cuteen/static/emoji/aru/E59090_2x.png
new file mode 100644
index 0000000..5ebe288
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E59090_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E591B2E78999_2x.png b/niege/Cuteen/static/emoji/aru/E591B2E78999_2x.png
new file mode 100644
index 0000000..e1f2d73
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E591B2E78999_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E592BDE6B094_2x.png b/niege/Cuteen/static/emoji/aru/E592BDE6B094_2x.png
new file mode 100644
index 0000000..c86f180
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E592BDE6B094_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E593ADE6B3A3_2x.png b/niege/Cuteen/static/emoji/aru/E593ADE6B3A3_2x.png
new file mode 100644
index 0000000..b0c82f2
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E593ADE6B3A3_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E5969CE69E81E8808CE6B3A3_2x.png b/niege/Cuteen/static/emoji/aru/E5969CE69E81E8808CE6B3A3_2x.png
new file mode 100644
index 0000000..5cb87e8
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E5969CE69E81E8808CE6B3A3_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E596B7E6B0B4_2x.png b/niege/Cuteen/static/emoji/aru/E596B7E6B0B4_2x.png
new file mode 100644
index 0000000..3f0e213
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E596B7E6B0B4_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E596B7E8A180_2x.png b/niege/Cuteen/static/emoji/aru/E596B7E8A180_2x.png
new file mode 100644
index 0000000..128b24e
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E596B7E8A180_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E59D90E7AD89_2x.png b/niege/Cuteen/static/emoji/aru/E59D90E7AD89_2x.png
new file mode 100644
index 0000000..881b766
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E59D90E7AD89_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E5A4A7E59BA7_2x.png b/niege/Cuteen/static/emoji/aru/E5A4A7E59BA7_2x.png
new file mode 100644
index 0000000..3db1529
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E5A4A7E59BA7_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E5AEB3E7BE9E_2x.png b/niege/Cuteen/static/emoji/aru/E5AEB3E7BE9E_2x.png
new file mode 100644
index 0000000..b2c6e26
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E5AEB3E7BE9E_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E5B08FE68092_2x.png b/niege/Cuteen/static/emoji/aru/E5B08FE68092_2x.png
new file mode 100644
index 0000000..b1bac01
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E5B08FE68092_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E5B08FE79CBCE79D9B_2x.png b/niege/Cuteen/static/emoji/aru/E5B08FE79CBCE79D9B_2x.png
new file mode 100644
index 0000000..a65b2dc
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E5B08FE79CBCE79D9B_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E5B0B4E5B0AC_2x.png b/niege/Cuteen/static/emoji/aru/E5B0B4E5B0AC_2x.png
new file mode 100644
index 0000000..c16d282
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E5B0B4E5B0AC_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E5BE97E6848F_2x.png b/niege/Cuteen/static/emoji/aru/E5BE97E6848F_2x.png
new file mode 100644
index 0000000..116f572
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E5BE97E6848F_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E6838AE5969C_2x.png b/niege/Cuteen/static/emoji/aru/E6838AE5969C_2x.png
new file mode 100644
index 0000000..7f31ce9
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E6838AE5969C_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E683B3E4B880E683B3_2x.png b/niege/Cuteen/static/emoji/aru/E683B3E4B880E683B3_2x.png
new file mode 100644
index 0000000..b311f8d
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E683B3E4B880E683B3_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E684A4E68092_2x.png b/niege/Cuteen/static/emoji/aru/E684A4E68092_2x.png
new file mode 100644
index 0000000..a2a3ea2
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E684A4E68092_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E68987E880B3E58589_2x.png b/niege/Cuteen/static/emoji/aru/E68987E880B3E58589_2x.png
new file mode 100644
index 0000000..8d7e2f2
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E68987E880B3E58589_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E68A95E9998D_2x.png b/niege/Cuteen/static/emoji/aru/E68A95E9998D_2x.png
new file mode 100644
index 0000000..6eddc06
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E68A95E9998D_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E68AA0E9BCBB_2x.png b/niege/Cuteen/static/emoji/aru/E68AA0E9BCBB_2x.png
new file mode 100644
index 0000000..912362c
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E68AA0E9BCBB_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E68ABDE7839F_2x.png b/niege/Cuteen/static/emoji/aru/E68ABDE7839F_2x.png
new file mode 100644
index 0000000..8c51858
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E68ABDE7839F_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E697A0E5A588_2x.png b/niege/Cuteen/static/emoji/aru/E697A0E5A588_2x.png
new file mode 100644
index 0000000..0ef1383
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E697A0E5A588_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E697A0E68980E8B093_2x.png b/niege/Cuteen/static/emoji/aru/E697A0E68980E8B093_2x.png
new file mode 100644
index 0000000..6b28d93
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E697A0E68980E8B093_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E697A0E8AFAD_2x.png b/niege/Cuteen/static/emoji/aru/E697A0E8AFAD_2x.png
new file mode 100644
index 0000000..76ff11c
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E697A0E8AFAD_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E69A97E59CB0E8A782E5AF9F_2x.png b/niege/Cuteen/static/emoji/aru/E69A97E59CB0E8A782E5AF9F_2x.png
new file mode 100644
index 0000000..18fd4a8
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E69A97E59CB0E8A782E5AF9F_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E69C9FE5BE85_2x.png b/niege/Cuteen/static/emoji/aru/E69C9FE5BE85_2x.png
new file mode 100644
index 0000000..3ce37c6
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E69C9FE5BE85_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E6ACA2E591BC_2x.png b/niege/Cuteen/static/emoji/aru/E6ACA2E591BC_2x.png
new file mode 100644
index 0000000..99eb788
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E6ACA2E591BC_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E6B197_2x.png b/niege/Cuteen/static/emoji/aru/E6B197_2x.png
new file mode 100644
index 0000000..4a79262
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E6B197_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E6B7B1E6809D_2x.png b/niege/Cuteen/static/emoji/aru/E6B7B1E6809D_2x.png
new file mode 100644
index 0000000..b7546df
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E6B7B1E6809D_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E78B82E6B197_2x.png b/niege/Cuteen/static/emoji/aru/E78B82E6B197_2x.png
new file mode 100644
index 0000000..1f81eec
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E78B82E6B197_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E78CAEE88AB1_2x.png b/niege/Cuteen/static/emoji/aru/E78CAEE88AB1_2x.png
new file mode 100644
index 0000000..9ab11a2
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E78CAEE88AB1_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E78CAEE9BB84E7939C_2x.png b/niege/Cuteen/static/emoji/aru/E78CAEE9BB84E7939C_2x.png
new file mode 100644
index 0000000..e741463
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E78CAEE9BB84E7939C_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E79AB1E79C89_2x.png b/niege/Cuteen/static/emoji/aru/E79AB1E79C89_2x.png
new file mode 100644
index 0000000..8d0bd26
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E79AB1E79C89_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E79C8BE4B88DE8A781_2x.png b/niege/Cuteen/static/emoji/aru/E79C8BE4B88DE8A781_2x.png
new file mode 100644
index 0000000..a95d997
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E79C8BE4B88DE8A781_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E79C8BE783ADE997B9_2x.png b/niege/Cuteen/static/emoji/aru/E79C8BE783ADE997B9_2x.png
new file mode 100644
index 0000000..3e9c198
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E79C8BE783ADE997B9_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E882BFE58C85_2x.png b/niege/Cuteen/static/emoji/aru/E882BFE58C85_2x.png
new file mode 100644
index 0000000..ed208a5
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E882BFE58C85_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E884B8E7BAA2_2x.png b/niege/Cuteen/static/emoji/aru/E884B8E7BAA2_2x.png
new file mode 100644
index 0000000..6a78a89
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E884B8E7BAA2_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E89CA1E7839B_2x.png b/niege/Cuteen/static/emoji/aru/E89CA1E7839B_2x.png
new file mode 100644
index 0000000..a3971dd
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E89CA1E7839B_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E8A385E5A4A7E6ACBE_2x.png b/niege/Cuteen/static/emoji/aru/E8A385E5A4A7E6ACBE_2x.png
new file mode 100644
index 0000000..8f2d224
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E8A385E5A4A7E6ACBE_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E8A782E5AF9F_2x.png b/niege/Cuteen/static/emoji/aru/E8A782E5AF9F_2x.png
new file mode 100644
index 0000000..c2fa07e
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E8A782E5AF9F_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E8B59EE4B880E4B8AA_2x.png b/niege/Cuteen/static/emoji/aru/E8B59EE4B880E4B8AA_2x.png
new file mode 100644
index 0000000..e6b5d02
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E8B59EE4B880E4B8AA_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E982AAE681B6_2x.png b/niege/Cuteen/static/emoji/aru/E982AAE681B6_2x.png
new file mode 100644
index 0000000..cc98f30
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E982AAE681B6_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E99481E79C89_2x.png b/niege/Cuteen/static/emoji/aru/E99481E79C89_2x.png
new file mode 100644
index 0000000..8fecdc3
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E99481E79C89_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E995BFE88D89_2x.png b/niege/Cuteen/static/emoji/aru/E995BFE88D89_2x.png
new file mode 100644
index 0000000..ecf8b7c
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E995BFE88D89_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E998B4E69A97_2x.png b/niege/Cuteen/static/emoji/aru/E998B4E69A97_2x.png
new file mode 100644
index 0000000..b0e9517
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E998B4E69A97_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E9AB98E585B4_2x.png b/niege/Cuteen/static/emoji/aru/E9AB98E585B4_2x.png
new file mode 100644
index 0000000..c87d27d
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E9AB98E585B4_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E9BB91E7BABF_2x.png b/niege/Cuteen/static/emoji/aru/E9BB91E7BABF_2x.png
new file mode 100644
index 0000000..c46d1a6
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E9BB91E7BABF_2x.png differ
diff --git a/niege/Cuteen/static/emoji/aru/E9BC93E68E8C_2x.png b/niege/Cuteen/static/emoji/aru/E9BC93E68E8C_2x.png
new file mode 100644
index 0000000..15aa10a
Binary files /dev/null and b/niege/Cuteen/static/emoji/aru/E9BC93E68E8C_2x.png differ
diff --git a/niege/Cuteen/static/emoji/emoji.json b/niege/Cuteen/static/emoji/emoji.json
new file mode 100644
index 0000000..a31b3ee
--- /dev/null
+++ b/niege/Cuteen/static/emoji/emoji.json
@@ -0,0 +1,662 @@
+{
+ "阿鲁": {
+ "type": "image",
+ "container": [
+ {
+ "icon": "emoji/aru/E9AB98E585B4_2x.png",
+ "data": ":@(高兴)",
+ "text": "高兴"
+ },
+ {
+ "icon": "emoji/aru/E5B08FE68092_2x.png",
+ "data": ":@(小怒)",
+ "text": "小怒"
+ },
+ {
+ "icon": "emoji/aru/E884B8E7BAA2_2x.png",
+ "data": ":@(脸红)",
+ "text": "脸红"
+ },
+ {
+ "icon": "emoji/aru/E58685E4BCA4_2x.png",
+ "data": ":@(内伤)",
+ "text": "内伤"
+ },
+ {
+ "icon": "emoji/aru/E8A385E5A4A7E6ACBE_2x.png",
+ "data": ":@(装大款)",
+ "text": "装大款"
+ },
+ {
+ "icon": "emoji/aru/E8B59EE4B880E4B8AA_2x.png",
+ "data": ":@(赞一个)",
+ "text": "赞一个"
+ },
+ {
+ "icon": "emoji/aru/E5AEB3E7BE9E_2x.png",
+ "data": ":@(害羞)",
+ "text": "害羞"
+ },
+ {
+ "icon": "emoji/aru/E6B197_2x.png",
+ "data": ":@(汗)",
+ "text": "汗"
+ },
+ {
+ "icon": "emoji/aru/E59090E8A180E58092E59CB0_2x.png",
+ "data": ":@(吐血倒地)",
+ "text": "吐血倒地"
+ },
+ {
+ "icon": "emoji/aru/E6B7B1E6809D_2x.png",
+ "data": ":@(深思)",
+ "text": "深思"
+ },
+ {
+ "icon": "emoji/aru/E4B88DE9AB98E585B4_2x.png",
+ "data": ":@(不高兴)",
+ "text": "不高兴"
+ },
+ {
+ "icon": "emoji/aru/E697A0E8AFAD_2x.png",
+ "data": ":@(无语)",
+ "text": "无语"
+ },
+ {
+ "icon": "emoji/aru/E4BAB2E4BAB2_2x.png",
+ "data": ":@(亲亲)",
+ "text": "亲亲"
+ },
+ {
+ "icon": "emoji/aru/E58FA3E6B0B4_2x.png",
+ "data": ":@(口水)",
+ "text": "口水"
+ },
+ {
+ "icon": "emoji/aru/E5B0B4E5B0AC_2x.png",
+ "data": ":@(尴尬)",
+ "text": "尴尬"
+ },
+ {
+ "icon": "emoji/aru/E4B8ADE68C87_2x.png",
+ "data": ":@(中指)",
+ "text": "中指"
+ },
+ {
+ "icon": "emoji/aru/E683B3E4B880E683B3_2x.png",
+ "data": ":@(想一想)",
+ "text": "想一想"
+ },
+ {
+ "icon": "emoji/aru/E593ADE6B3A3_2x.png",
+ "data": ":@(哭泣)",
+ "text": "哭泣"
+ },
+ {
+ "icon": "emoji/aru/E4BEBFE4BEBF_2x.png",
+ "data": ":@(便便)",
+ "text": "便便"
+ },
+ {
+ "icon": "emoji/aru/E78CAEE88AB1_2x.png",
+ "data": ":@(献花)",
+ "text": "献花"
+ },
+ {
+ "icon": "emoji/aru/E79AB1E79C89_2x.png",
+ "data": ":@(皱眉)",
+ "text": "皱眉"
+ },
+ {
+ "icon": "emoji/aru/E582BBE7AC91_2x.png",
+ "data": ":@(傻笑)",
+ "text": "傻笑"
+ },
+ {
+ "icon": "emoji/aru/E78B82E6B197_2x.png",
+ "data": ":@(狂汗)",
+ "text": "狂汗"
+ },
+ {
+ "icon": "emoji/aru/E59090_2x.png",
+ "data": ":@(吐)",
+ "text": "吐"
+ },
+ {
+ "icon": "emoji/aru/E596B7E6B0B4_2x.png",
+ "data": ":@(喷水)",
+ "text": "喷水"
+ },
+ {
+ "icon": "emoji/aru/E79C8BE4B88DE8A781_2x.png",
+ "data": ":@(看不见)",
+ "text": "看不见"
+ },
+ {
+ "icon": "emoji/aru/E9BC93E68E8C_2x.png",
+ "data": ":@(鼓掌)",
+ "text": "鼓掌"
+ },
+ {
+ "icon": "emoji/aru/E998B4E69A97_2x.png",
+ "data": ":@(阴暗)",
+ "text": "阴暗"
+ },
+ {
+ "icon": "emoji/aru/E995BFE88D89_2x.png",
+ "data": ":@(长草)",
+ "text": "长草"
+ },
+ {
+ "icon": "emoji/aru/E78CAEE9BB84E7939C_2x.png",
+ "data": ":@(献黄瓜)",
+ "text": "献黄瓜"
+ },
+ {
+ "icon": "emoji/aru/E982AAE681B6_2x.png",
+ "data": ":@(邪恶)",
+ "text": "邪恶"
+ },
+ {
+ "icon": "emoji/aru/E69C9FE5BE85_2x.png",
+ "data": ":@(期待)",
+ "text": "期待"
+ },
+ {
+ "icon": "emoji/aru/E5BE97E6848F_2x.png",
+ "data": ":@(得意)",
+ "text": "得意"
+ },
+ {
+ "icon": "emoji/aru/E59090E8888C_2x.png",
+ "data": ":@(吐舌)",
+ "text": "吐舌"
+ },
+ {
+ "icon": "emoji/aru/E596B7E8A180_2x.png",
+ "data": ":@(喷血)",
+ "text": "喷血"
+ },
+ {
+ "icon": "emoji/aru/E697A0E68980E8B093_2x.png",
+ "data": ":@(无所谓)",
+ "text": "无所谓"
+ },
+ {
+ "icon": "emoji/aru/E8A782E5AF9F_2x.png",
+ "data": ":@(观察)",
+ "text": "观察"
+ },
+ {
+ "icon": "emoji/aru/E69A97E59CB0E8A782E5AF9F_2x.png",
+ "data": ":@(暗地观察)",
+ "text": "暗地观察"
+ },
+ {
+ "icon": "emoji/aru/E882BFE58C85_2x.png",
+ "data": ":@(肿包)",
+ "text": "肿包"
+ },
+ {
+ "icon": "emoji/aru/E4B8ADE69EAA_2x.png",
+ "data": ":@(中枪)",
+ "text": "中枪"
+ },
+ {
+ "icon": "emoji/aru/E5A4A7E59BA7_2x.png",
+ "data": ":@(大囧)",
+ "text": "大囧"
+ },
+ {
+ "icon": "emoji/aru/E591B2E78999_2x.png",
+ "data": ":@(呲牙)",
+ "text": "呲牙"
+ },
+ {
+ "icon": "emoji/aru/E68AA0E9BCBB_2x.png",
+ "data": ":@(抠鼻)",
+ "text": "抠鼻"
+ },
+ {
+ "icon": "emoji/aru/E4B88DE8AFB4E8AF9D_2x.png",
+ "data": ":@(不说话)",
+ "text": "不说话"
+ },
+ {
+ "icon": "emoji/aru/E592BDE6B094_2x.png",
+ "data": ":@(咽气)",
+ "text": "咽气"
+ },
+ {
+ "icon": "emoji/aru/E6ACA2E591BC_2x.png",
+ "data": ":@(欢呼)",
+ "text": "欢呼"
+ },
+ {
+ "icon": "emoji/aru/E99481E79C89_2x.png",
+ "data": ":@(锁眉)",
+ "text": "锁眉"
+ },
+ {
+ "icon": "emoji/aru/E89CA1E7839B_2x.png",
+ "data": ":@(蜡烛)",
+ "text": "蜡烛"
+ },
+ {
+ "icon": "emoji/aru/E59D90E7AD89_2x.png",
+ "data": ":@(坐等)",
+ "text": "坐等"
+ },
+ {
+ "icon": "emoji/aru/E587BBE68E8C_2x.png",
+ "data": ":@(击掌)",
+ "text": "击掌"
+ },
+ {
+ "icon": "emoji/aru/E6838AE5969C_2x.png",
+ "data": ":@(惊喜)",
+ "text": "惊喜"
+ },
+ {
+ "icon": "emoji/aru/E5969CE69E81E8808CE6B3A3_2x.png",
+ "data": ":@(喜极而泣)",
+ "text": "喜极而泣"
+ },
+ {
+ "icon": "emoji/aru/E68ABDE7839F_2x.png",
+ "data": ":@(抽烟)",
+ "text": "抽烟"
+ },
+ {
+ "icon": "emoji/aru/E4B88DE587BAE68980E69699_2x.png",
+ "data": ":@(不出所料)",
+ "text": "不出所料"
+ },
+ {
+ "icon": "emoji/aru/E684A4E68092_2x.png",
+ "data": ":@(愤怒)",
+ "text": "愤怒"
+ },
+ {
+ "icon": "emoji/aru/E697A0E5A588_2x.png",
+ "data": ":@(无奈)",
+ "text": "无奈"
+ },
+ {
+ "icon": "emoji/aru/E9BB91E7BABF_2x.png",
+ "data": ":@(黑线)",
+ "text": "黑线"
+ },
+ {
+ "icon": "emoji/aru/E68A95E9998D_2x.png",
+ "data": ":@(投降)",
+ "text": "投降"
+ },
+ {
+ "icon": "emoji/aru/E79C8BE783ADE997B9_2x.png",
+ "data": ":@(看热闹)",
+ "text": "看热闹"
+ },
+ {
+ "icon": "emoji/aru/E68987E880B3E58589_2x.png",
+ "data": ":@(扇耳光)",
+ "text": "扇耳光"
+ },
+ {
+ "icon": "emoji/aru/E5B08FE79CBCE79D9B_2x.png",
+ "data": ":@(小眼睛)",
+ "text": "小眼睛"
+ },
+ {
+ "icon": "emoji/aru/E4B8ADE58880_2x.png",
+ "data": ":@(中刀)",
+ "text": "中刀"
+ }
+ ]
+ },
+ "泡泡": {
+ "type": "image",
+ "container": [
+ {
+ "icon": "emoji/paopao/E591B5E591B5_2x.png",
+ "data": "::(呵呵)",
+ "text": "呵呵"
+ },
+ {
+ "icon": "emoji/paopao/E59388E59388_2x.png",
+ "data": "::(哈哈)",
+ "text": "哈哈"
+ },
+ {
+ "icon": "emoji/paopao/E59090E8888C_2x.png",
+ "data": "::(吐舌)",
+ "text": "吐舌"
+ },
+ {
+ "icon": "emoji/paopao/E5A4AAE5BC80E5BF83_2x.png",
+ "data": "::(太开心)",
+ "text": "太开心"
+ },
+ {
+ "icon": "emoji/paopao/E7AC91E79CBC_2x.png",
+ "data": "::(笑眼)",
+ "text": "笑眼"
+ },
+ {
+ "icon": "emoji/paopao/E88AB1E5BF83_2x.png",
+ "data": "::(花心)",
+ "text": "花心"
+ },
+ {
+ "icon": "emoji/paopao/E5B08FE4B996_2x.png",
+ "data": "::(小乖)",
+ "text": "小乖"
+ },
+ {
+ "icon": "emoji/paopao/E4B996_2x.png",
+ "data": "::(乖)",
+ "text": "乖"
+ },
+ {
+ "icon": "emoji/paopao/E68D82E598B4E7AC91_2x.png",
+ "data": "::(捂嘴笑)",
+ "text": "捂嘴笑"
+ },
+ {
+ "icon": "emoji/paopao/E6BB91E7A8BD_2x.png",
+ "data": "::(滑稽)",
+ "text": "滑稽"
+ },
+ {
+ "icon": "emoji/paopao/E4BDA0E68782E79A84_2x.png",
+ "data": "::(你懂的)",
+ "text": "你懂的"
+ },
+ {
+ "icon": "emoji/paopao/E4B88DE9AB98E585B4_2x.png",
+ "data": "::(不高兴)",
+ "text": "不高兴"
+ },
+ {
+ "icon": "emoji/paopao/E68092_2x.png",
+ "data": "::(怒)",
+ "text": "怒"
+ },
+ {
+ "icon": "emoji/paopao/E6B197_2x.png",
+ "data": "::(汗)",
+ "text": "汗"
+ },
+ {
+ "icon": "emoji/paopao/E9BB91E7BABF_2x.png",
+ "data": "::(黑线)",
+ "text": "黑线"
+ },
+ {
+ "icon": "emoji/paopao/E6B3AA_2x.png",
+ "data": "::(泪)",
+ "text": "泪"
+ },
+ {
+ "icon": "emoji/paopao/E79C9FE6A392_2x.png",
+ "data": "::(真棒)",
+ "text": "真棒"
+ },
+ {
+ "icon": "emoji/paopao/E596B7_2x.png",
+ "data": "::(喷)",
+ "text": "喷"
+ },
+ {
+ "icon": "emoji/paopao/E6838AE593AD_2x.png",
+ "data": "::(惊哭)",
+ "text": "惊哭"
+ },
+ {
+ "icon": "emoji/paopao/E998B4E999A9_2x.png",
+ "data": "::(阴险)",
+ "text": "阴险"
+ },
+ {
+ "icon": "emoji/paopao/E98499E8A786_2x.png",
+ "data": "::(鄙视)",
+ "text": "鄙视"
+ },
+ {
+ "icon": "emoji/paopao/E985B7_2x.png",
+ "data": "::(酷)",
+ "text": "酷"
+ },
+ {
+ "icon": "emoji/paopao/E5958A_2x.png",
+ "data": "::(啊)",
+ "text": "啊"
+ },
+ {
+ "icon": "emoji/paopao/E78B82E6B197_2x.png",
+ "data": "::(狂汗)",
+ "text": "狂汗"
+ },
+ {
+ "icon": "emoji/paopao/what_2x.png",
+ "data": "::(what)",
+ "text": "what"
+ },
+ {
+ "icon": "emoji/paopao/E79691E997AE_2x.png",
+ "data": "::(疑问)",
+ "text": "疑问"
+ },
+ {
+ "icon": "emoji/paopao/E985B8E788BD_2x.png",
+ "data": "::(酸爽)",
+ "text": "酸爽"
+ },
+ {
+ "icon": "emoji/paopao/E59180E592A9E788B9_2x.png",
+ "data": "::(呀咩爹)",
+ "text": "呀咩爹"
+ },
+ {
+ "icon": "emoji/paopao/E5A794E5B188_2x.png",
+ "data": "::(委屈)",
+ "text": "委屈"
+ },
+ {
+ "icon": "emoji/paopao/E6838AE8AEB6_2x.png",
+ "data": "::(惊讶)",
+ "text": "惊讶"
+ },
+ {
+ "icon": "emoji/paopao/E79DA1E8A789_2x.png",
+ "data": "::(睡觉)",
+ "text": "睡觉"
+ },
+ {
+ "icon": "emoji/paopao/E7AC91E5B0BF_2x.png",
+ "data": "::(笑尿)",
+ "text": "笑尿"
+ },
+ {
+ "icon": "emoji/paopao/E68C96E9BCBB_2x.png",
+ "data": "::(挖鼻)",
+ "text": "挖鼻"
+ },
+ {
+ "icon": "emoji/paopao/E59090_2x.png",
+ "data": "::(吐)",
+ "text": "吐"
+ },
+ {
+ "icon": "emoji/paopao/E78A80E588A9_2x.png",
+ "data": "::(犀利)",
+ "text": "犀利"
+ },
+ {
+ "icon": "emoji/paopao/E5B08FE7BAA2E884B8_2x.png",
+ "data": "::(小红脸)",
+ "text": "小红脸"
+ },
+ {
+ "icon": "emoji/paopao/E68792E5BE97E79086_2x.png",
+ "data": "::(懒得理)",
+ "text": "懒得理"
+ },
+ {
+ "icon": "emoji/paopao/E58B89E5BCBA_2x.png",
+ "data": "::(勉强)",
+ "text": "勉强"
+ },
+ {
+ "icon": "emoji/paopao/E788B1E5BF83_2x.png",
+ "data": "::(爱心)",
+ "text": "爱心"
+ },
+ {
+ "icon": "emoji/paopao/E5BF83E7A28E_2x.png",
+ "data": "::(心碎)",
+ "text": "心碎"
+ },
+ {
+ "icon": "emoji/paopao/E78EABE791B0_2x.png",
+ "data": "::(玫瑰)",
+ "text": "玫瑰"
+ },
+ {
+ "icon": "emoji/paopao/E7A4BCE789A9_2x.png",
+ "data": "::(礼物)",
+ "text": "礼物"
+ },
+ {
+ "icon": "emoji/paopao/E5BDA9E899B9_2x.png",
+ "data": "::(彩虹)",
+ "text": "彩虹"
+ },
+ {
+ "icon": "emoji/paopao/E5A4AAE998B3_2x.png",
+ "data": "::(太阳)",
+ "text": "太阳"
+ },
+ {
+ "icon": "emoji/paopao/E6989FE6989FE69C88E4BAAE_2x.png",
+ "data": "::(星星月亮)",
+ "text": "星星月亮"
+ },
+ {
+ "icon": "emoji/paopao/E992B1E5B881_2x.png",
+ "data": "::(钱币)",
+ "text": "钱币"
+ },
+ {
+ "icon": "emoji/paopao/E88CB6E69DAF_2x.png",
+ "data": "::(茶杯)",
+ "text": "茶杯"
+ },
+ {
+ "icon": "emoji/paopao/E89B8BE7B395_2x.png",
+ "data": "::(蛋糕)",
+ "text": "蛋糕"
+ },
+ {
+ "icon": "emoji/paopao/E5A4A7E68B87E68C87_2x.png",
+ "data": "::(大拇指)",
+ "text": "大拇指"
+ },
+ {
+ "icon": "emoji/paopao/E8839CE588A9_2x.png",
+ "data": "::(胜利)",
+ "text": "胜利"
+ },
+ {
+ "icon": "emoji/paopao/haha_2x.png",
+ "data": "::(haha)",
+ "text": "haha"
+ },
+ {
+ "icon": "emoji/paopao/OK_2x.png",
+ "data": "::(OK)",
+ "text": "OK"
+ },
+ {
+ "icon": "emoji/paopao/E6B299E58F91_2x.png",
+ "data": "::(沙发)",
+ "text": "沙发"
+ },
+ {
+ "icon": "emoji/paopao/E6898BE7BAB8_2x.png",
+ "data": "::(手纸)",
+ "text": "手纸"
+ },
+ {
+ "icon": "emoji/paopao/E9A699E89589_2x.png",
+ "data": "::(香蕉)",
+ "text": "香蕉"
+ },
+ {
+ "icon": "emoji/paopao/E4BEBFE4BEBF_2x.png",
+ "data": "::(便便)",
+ "text": "便便"
+ },
+ {
+ "icon": "emoji/paopao/E88DAFE4B8B8_2x.png",
+ "data": "::(药丸)",
+ "text": "药丸"
+ },
+ {
+ "icon": "emoji/paopao/E7BAA2E9A286E5B7BE_2x.png",
+ "data": "::(红领巾)",
+ "text": "红领巾"
+ },
+ {
+ "icon": "emoji/paopao/E89CA1E7839B_2x.png",
+ "data": "::(蜡烛)",
+ "text": "蜡烛"
+ },
+ {
+ "icon": "emoji/paopao/E99FB3E4B990_2x.png",
+ "data": "::(音乐)",
+ "text": "音乐"
+ },
+ {
+ "icon": "emoji/paopao/E781AFE6B3A1_2x.png",
+ "data": "::(灯泡)",
+ "text": "灯泡"
+ },
+ {
+ "icon": "emoji/paopao/E5BC80E5BF83_2x.png",
+ "data": "::(开心)",
+ "text": "开心"
+ },
+ {
+ "icon": "emoji/paopao/E992B1_2x.png",
+ "data": "::(钱)",
+ "text": "钱"
+ },
+ {
+ "icon": "emoji/paopao/E592A6_2x.png",
+ "data": "::(咦)",
+ "text": "咦"
+ },
+ {
+ "icon": "emoji/paopao/E591BC_2x.png",
+ "data": "::(呼)",
+ "text": "呼"
+ },
+ {
+ "icon": "emoji/paopao/E586B7_2x.png",
+ "data": "::(冷)",
+ "text": "冷"
+ },
+ {
+ "icon": "emoji/paopao/E7949FE6B094_2x.png",
+ "data": "::(生气)",
+ "text": "生气"
+ },
+ {
+ "icon": "emoji/paopao/E5BCB1_2x.png",
+ "data": "::(弱)",
+ "text": "弱"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/niege/Cuteen/static/emoji/paopao/E4B88DE9AB98E585B4_2x.png b/niege/Cuteen/static/emoji/paopao/E4B88DE9AB98E585B4_2x.png
new file mode 100644
index 0000000..46fb5af
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E4B88DE9AB98E585B4_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E4B996_2x.png b/niege/Cuteen/static/emoji/paopao/E4B996_2x.png
new file mode 100644
index 0000000..6d044c2
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E4B996_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E4BDA0E68782E79A84_2x.png b/niege/Cuteen/static/emoji/paopao/E4BDA0E68782E79A84_2x.png
new file mode 100644
index 0000000..55f3ed7
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E4BDA0E68782E79A84_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E4BEBFE4BEBF_2x.png b/niege/Cuteen/static/emoji/paopao/E4BEBFE4BEBF_2x.png
new file mode 100644
index 0000000..130c35c
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E4BEBFE4BEBF_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E586B7_2x.png b/niege/Cuteen/static/emoji/paopao/E586B7_2x.png
new file mode 100644
index 0000000..6bc7a39
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E586B7_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E58B89E5BCBA_2x.png b/niege/Cuteen/static/emoji/paopao/E58B89E5BCBA_2x.png
new file mode 100644
index 0000000..e0ebcca
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E58B89E5BCBA_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E59090E8888C_2x.png b/niege/Cuteen/static/emoji/paopao/E59090E8888C_2x.png
new file mode 100644
index 0000000..631e7aa
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E59090E8888C_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E59090_2x.png b/niege/Cuteen/static/emoji/paopao/E59090_2x.png
new file mode 100644
index 0000000..c3f46c7
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E59090_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E59180E592A9E788B9_2x.png b/niege/Cuteen/static/emoji/paopao/E59180E592A9E788B9_2x.png
new file mode 100644
index 0000000..98a6ad8
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E59180E592A9E788B9_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E591B5E591B5_2x.png b/niege/Cuteen/static/emoji/paopao/E591B5E591B5_2x.png
new file mode 100644
index 0000000..9ef384f
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E591B5E591B5_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E591BC_2x.png b/niege/Cuteen/static/emoji/paopao/E591BC_2x.png
new file mode 100644
index 0000000..8a70b89
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E591BC_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E592A6_2x.png b/niege/Cuteen/static/emoji/paopao/E592A6_2x.png
new file mode 100644
index 0000000..e5520d2
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E592A6_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E59388E59388_2x.png b/niege/Cuteen/static/emoji/paopao/E59388E59388_2x.png
new file mode 100644
index 0000000..d20de90
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E59388E59388_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E5958A_2x.png b/niege/Cuteen/static/emoji/paopao/E5958A_2x.png
new file mode 100644
index 0000000..e9e940a
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E5958A_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E596B7_2x.png b/niege/Cuteen/static/emoji/paopao/E596B7_2x.png
new file mode 100644
index 0000000..c5273ee
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E596B7_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E5A4A7E68B87E68C87_2x.png b/niege/Cuteen/static/emoji/paopao/E5A4A7E68B87E68C87_2x.png
new file mode 100644
index 0000000..808a165
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E5A4A7E68B87E68C87_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E5A4AAE5BC80E5BF83_2x.png b/niege/Cuteen/static/emoji/paopao/E5A4AAE5BC80E5BF83_2x.png
new file mode 100644
index 0000000..5e644bc
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E5A4AAE5BC80E5BF83_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E5A4AAE998B3_2x.png b/niege/Cuteen/static/emoji/paopao/E5A4AAE998B3_2x.png
new file mode 100644
index 0000000..7fefbe1
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E5A4AAE998B3_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E5A794E5B188_2x.png b/niege/Cuteen/static/emoji/paopao/E5A794E5B188_2x.png
new file mode 100644
index 0000000..ec2d0f2
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E5A794E5B188_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E5B08FE4B996_2x.png b/niege/Cuteen/static/emoji/paopao/E5B08FE4B996_2x.png
new file mode 100644
index 0000000..33c632d
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E5B08FE4B996_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E5B08FE7BAA2E884B8_2x.png b/niege/Cuteen/static/emoji/paopao/E5B08FE7BAA2E884B8_2x.png
new file mode 100644
index 0000000..aa1358a
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E5B08FE7BAA2E884B8_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E5BC80E5BF83_2x.png b/niege/Cuteen/static/emoji/paopao/E5BC80E5BF83_2x.png
new file mode 100644
index 0000000..b5aeb0d
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E5BC80E5BF83_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E5BCB1_2x.png b/niege/Cuteen/static/emoji/paopao/E5BCB1_2x.png
new file mode 100644
index 0000000..bf2b3ce
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E5BCB1_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E5BDA9E899B9_2x.png b/niege/Cuteen/static/emoji/paopao/E5BDA9E899B9_2x.png
new file mode 100644
index 0000000..4892fdf
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E5BDA9E899B9_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E5BF83E7A28E_2x.png b/niege/Cuteen/static/emoji/paopao/E5BF83E7A28E_2x.png
new file mode 100644
index 0000000..6ee132b
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E5BF83E7A28E_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E68092_2x.png b/niege/Cuteen/static/emoji/paopao/E68092_2x.png
new file mode 100644
index 0000000..2bdffa4
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E68092_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E6838AE593AD_2x.png b/niege/Cuteen/static/emoji/paopao/E6838AE593AD_2x.png
new file mode 100644
index 0000000..a596e58
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E6838AE593AD_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E6838AE8AEB6_2x.png b/niege/Cuteen/static/emoji/paopao/E6838AE8AEB6_2x.png
new file mode 100644
index 0000000..81fda5a
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E6838AE8AEB6_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E68792E5BE97E79086_2x.png b/niege/Cuteen/static/emoji/paopao/E68792E5BE97E79086_2x.png
new file mode 100644
index 0000000..59fcfdc
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E68792E5BE97E79086_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E6898BE7BAB8_2x.png b/niege/Cuteen/static/emoji/paopao/E6898BE7BAB8_2x.png
new file mode 100644
index 0000000..e59e7c5
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E6898BE7BAB8_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E68C96E9BCBB_2x.png b/niege/Cuteen/static/emoji/paopao/E68C96E9BCBB_2x.png
new file mode 100644
index 0000000..17a5335
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E68C96E9BCBB_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E68D82E598B4E7AC91_2x.png b/niege/Cuteen/static/emoji/paopao/E68D82E598B4E7AC91_2x.png
new file mode 100644
index 0000000..57975f7
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E68D82E598B4E7AC91_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E6989FE6989FE69C88E4BAAE_2x.png b/niege/Cuteen/static/emoji/paopao/E6989FE6989FE69C88E4BAAE_2x.png
new file mode 100644
index 0000000..e19bfe7
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E6989FE6989FE69C88E4BAAE_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E6B197_2x.png b/niege/Cuteen/static/emoji/paopao/E6B197_2x.png
new file mode 100644
index 0000000..5f57a18
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E6B197_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E6B299E58F91_2x.png b/niege/Cuteen/static/emoji/paopao/E6B299E58F91_2x.png
new file mode 100644
index 0000000..f663de3
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E6B299E58F91_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E6B3AA_2x.png b/niege/Cuteen/static/emoji/paopao/E6B3AA_2x.png
new file mode 100644
index 0000000..a1caed0
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E6B3AA_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E6BB91E7A8BD_2x.png b/niege/Cuteen/static/emoji/paopao/E6BB91E7A8BD_2x.png
new file mode 100644
index 0000000..8402f16
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E6BB91E7A8BD_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E781AFE6B3A1_2x.png b/niege/Cuteen/static/emoji/paopao/E781AFE6B3A1_2x.png
new file mode 100644
index 0000000..1aa078a
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E781AFE6B3A1_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E788B1E5BF83_2x.png b/niege/Cuteen/static/emoji/paopao/E788B1E5BF83_2x.png
new file mode 100644
index 0000000..f6f4c64
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E788B1E5BF83_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E78A80E588A9_2x.png b/niege/Cuteen/static/emoji/paopao/E78A80E588A9_2x.png
new file mode 100644
index 0000000..c828e77
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E78A80E588A9_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E78B82E6B197_2x.png b/niege/Cuteen/static/emoji/paopao/E78B82E6B197_2x.png
new file mode 100644
index 0000000..2aceb02
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E78B82E6B197_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E78EABE791B0_2x.png b/niege/Cuteen/static/emoji/paopao/E78EABE791B0_2x.png
new file mode 100644
index 0000000..c0618cf
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E78EABE791B0_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E7949FE6B094_2x.png b/niege/Cuteen/static/emoji/paopao/E7949FE6B094_2x.png
new file mode 100644
index 0000000..9befd26
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E7949FE6B094_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E79691E997AE_2x.png b/niege/Cuteen/static/emoji/paopao/E79691E997AE_2x.png
new file mode 100644
index 0000000..cff4a43
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E79691E997AE_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E79C9FE6A392_2x.png b/niege/Cuteen/static/emoji/paopao/E79C9FE6A392_2x.png
new file mode 100644
index 0000000..97ca30d
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E79C9FE6A392_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E79DA1E8A789_2x.png b/niege/Cuteen/static/emoji/paopao/E79DA1E8A789_2x.png
new file mode 100644
index 0000000..21594dd
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E79DA1E8A789_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E7A4BCE789A9_2x.png b/niege/Cuteen/static/emoji/paopao/E7A4BCE789A9_2x.png
new file mode 100644
index 0000000..8572a23
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E7A4BCE789A9_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E7AC91E5B0BF_2x.png b/niege/Cuteen/static/emoji/paopao/E7AC91E5B0BF_2x.png
new file mode 100644
index 0000000..a2c29a1
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E7AC91E5B0BF_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E7AC91E79CBC_2x.png b/niege/Cuteen/static/emoji/paopao/E7AC91E79CBC_2x.png
new file mode 100644
index 0000000..0680d43
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E7AC91E79CBC_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E7BAA2E9A286E5B7BE_2x.png b/niege/Cuteen/static/emoji/paopao/E7BAA2E9A286E5B7BE_2x.png
new file mode 100644
index 0000000..7690c2f
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E7BAA2E9A286E5B7BE_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E8839CE588A9_2x.png b/niege/Cuteen/static/emoji/paopao/E8839CE588A9_2x.png
new file mode 100644
index 0000000..821abfd
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E8839CE588A9_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E88AB1E5BF83_2x.png b/niege/Cuteen/static/emoji/paopao/E88AB1E5BF83_2x.png
new file mode 100644
index 0000000..3e8e915
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E88AB1E5BF83_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E88CB6E69DAF_2x.png b/niege/Cuteen/static/emoji/paopao/E88CB6E69DAF_2x.png
new file mode 100644
index 0000000..fc8ac2c
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E88CB6E69DAF_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E88DAFE4B8B8_2x.png b/niege/Cuteen/static/emoji/paopao/E88DAFE4B8B8_2x.png
new file mode 100644
index 0000000..9bd93a0
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E88DAFE4B8B8_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E89B8BE7B395_2x.png b/niege/Cuteen/static/emoji/paopao/E89B8BE7B395_2x.png
new file mode 100644
index 0000000..37ab127
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E89B8BE7B395_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E89CA1E7839B_2x.png b/niege/Cuteen/static/emoji/paopao/E89CA1E7839B_2x.png
new file mode 100644
index 0000000..f3aba29
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E89CA1E7839B_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E98499E8A786_2x.png b/niege/Cuteen/static/emoji/paopao/E98499E8A786_2x.png
new file mode 100644
index 0000000..42d110e
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E98499E8A786_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E985B7_2x.png b/niege/Cuteen/static/emoji/paopao/E985B7_2x.png
new file mode 100644
index 0000000..728baff
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E985B7_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E985B8E788BD_2x.png b/niege/Cuteen/static/emoji/paopao/E985B8E788BD_2x.png
new file mode 100644
index 0000000..1fff71c
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E985B8E788BD_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E992B1E5B881_2x.png b/niege/Cuteen/static/emoji/paopao/E992B1E5B881_2x.png
new file mode 100644
index 0000000..1e89f99
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E992B1E5B881_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E992B1_2x.png b/niege/Cuteen/static/emoji/paopao/E992B1_2x.png
new file mode 100644
index 0000000..3cc877f
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E992B1_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E998B4E999A9_2x.png b/niege/Cuteen/static/emoji/paopao/E998B4E999A9_2x.png
new file mode 100644
index 0000000..9fe13b4
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E998B4E999A9_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E99FB3E4B990_2x.png b/niege/Cuteen/static/emoji/paopao/E99FB3E4B990_2x.png
new file mode 100644
index 0000000..38f78c2
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E99FB3E4B990_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E9A699E89589_2x.png b/niege/Cuteen/static/emoji/paopao/E9A699E89589_2x.png
new file mode 100644
index 0000000..eccebc3
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E9A699E89589_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/E9BB91E7BABF_2x.png b/niege/Cuteen/static/emoji/paopao/E9BB91E7BABF_2x.png
new file mode 100644
index 0000000..cc3c56a
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/E9BB91E7BABF_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/OK_2x.png b/niege/Cuteen/static/emoji/paopao/OK_2x.png
new file mode 100644
index 0000000..a1e18ab
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/OK_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/haha_2x.png b/niege/Cuteen/static/emoji/paopao/haha_2x.png
new file mode 100644
index 0000000..e847878
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/haha_2x.png differ
diff --git a/niege/Cuteen/static/emoji/paopao/what_2x.png b/niege/Cuteen/static/emoji/paopao/what_2x.png
new file mode 100644
index 0000000..7c985c8
Binary files /dev/null and b/niege/Cuteen/static/emoji/paopao/what_2x.png differ
diff --git a/niege/Cuteen/static/font/NeueHaasGrotTextRound-55Roman.woff2 b/niege/Cuteen/static/font/NeueHaasGrotTextRound-55Roman.woff2
new file mode 100644
index 0000000..761cf83
Binary files /dev/null and b/niege/Cuteen/static/font/NeueHaasGrotTextRound-55Roman.woff2 differ
diff --git a/niege/Cuteen/static/js/OwO.js b/niege/Cuteen/static/js/OwO.js
new file mode 100644
index 0000000..17398c6
--- /dev/null
+++ b/niege/Cuteen/static/js/OwO.js
@@ -0,0 +1,141 @@
+"use strict";
+
+function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return !!right[Symbol.hasInstance](left); } else { return left instanceof right; } }
+
+function _classCallCheck(instance, Constructor) { if (!_instanceof(instance, Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+function insertAtCursor(e, t) {
+ var a, s, n, i = e.scrollTop,
+ o = document.documentElement.scrollTop;
+ document.selection ? (e.focus(), (a = document.selection.createRange()).text = t, a.select()) : e.selectionStart || "0" == e.selectionStart ? (s = e.selectionStart, n = e.selectionEnd, e.value = e.value.substring(0, s) + t + e.value.substring(n, e.value.length), e.focus(), e.selectionStart = s + t.length, e.selectionEnd = s + t.length) : (e.value += t, e.focus()), e.scrollTop = i, document.documentElement.scrollTop = o
+}
+(function () {
+ var OwO = /*#__PURE__*/function () {
+ function OwO(option) {
+ var _this = this;
+
+ _classCallCheck(this, OwO);
+
+ var defaultOption = {
+ logo: 'OwO表情',
+ container: document.getElementById('comment-emoji'),
+ target: document.getElementById('comment-textarea'),
+ position: 'down',
+ width: '100%',
+ maxHeight: '250px',
+ api: Config.staticUrl+'emoji/emoji.json'
+ };
+
+ for (var defaultKey in defaultOption) {
+ if (defaultOption.hasOwnProperty(defaultKey) && !option.hasOwnProperty(defaultKey)) {
+ option[defaultKey] = defaultOption[defaultKey];
+ }
+ }
+
+ this.container = option.container;
+ this.target = option.target;
+
+ if (option.position === 'up') {
+ this.container.classList.add('OwO-up');
+ }
+
+ var xhr = new XMLHttpRequest();
+
+ xhr.onreadystatechange = function () {
+ if (xhr.readyState === 4) {
+ if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {
+ _this.odata = JSON.parse(xhr.responseText);
+
+ _this.init(option);
+ } else {
+ console.log('OwO data request was unsuccessful: ' + xhr.status);
+ }
+ }
+ };
+
+ xhr.open('get', option.api, true);
+ xhr.send(null);
+ }
+
+ _createClass(OwO, [{
+ key: "init",
+ value: function init(option) {
+ var _this2 = this;
+ this.area = option.target;
+ this.packages = Object.keys(this.odata); // fill in HTML
+ var html = "\n
");
+ html += "\n
\n
";
+
+ for (var _i2 = 0; _i2 < this.packages.length; _i2++) {
+ html += "\n".concat(this.packages[_i2], " ");
+ }
+ html += "\n \n
";
+ for (var i = 0; i < this.packages.length; i++) {
+ html += "\n
");
+ var opackage = this.odata[this.packages[i]].container;
+ for (var _i = 0; _i < opackage.length; _i++) {
+ html+=`
+
+ `;
+ }
+ html += " ";
+ }
+ html += "
";
+ this.container.insertAdjacentHTML('beforeend',html);
+ this.logo = document.getElementById('comment-emoji');
+ this.logo.addEventListener('click', function () {
+ _this2.toggle();
+ });
+ this.container.getElementsByClassName("OwO-body")[0].addEventListener("click", function(e) {
+ var t = null;
+ e.target.classList.contains("OwO-item") ? t = e.target : e.target.parentNode.classList.contains("OwO-item") && (t = e.target.parentNode), t && (_this2.area.selectionEnd, _this2.area.value, "not-given" == t.dataset.id ? insertAtCursor(_this2.area, " " + t.innerHTML + " ") : insertAtCursor(_this2.area, " " + t.dataset.id + " "), _this2.area.focus(), _this2.toggle())
+ });
+ this.packagesEle = this.container.getElementsByClassName('OwO-packages')[0];
+ var _loop = function _loop(_i3) {
+ (function (index) {
+ _this2.packagesEle.children[_i3].addEventListener('click', function () {
+ _this2.tab(index);
+ });
+ })(_i3);
+ };
+ for (var _i3 = 0; _i3 < this.packagesEle.children.length; _i3++) {
+ _loop(_i3);
+ }
+ this.tab(0);
+ }
+ }, {
+ key: "toggle",
+ value: function toggle() {
+ if (this.container.classList.contains('OwO-open')) {
+ this.container.classList.remove('OwO-open');
+ } else {
+ this.container.classList.add('OwO-open');
+ }
+ }
+ }, {
+ key: "tab",
+ value: function tab(index) {
+ var itemsShow = this.container.getElementsByClassName('OwO-items-show')[0];
+ if (itemsShow) {
+ itemsShow.classList.remove('OwO-items-show');
+ }
+ this.container.getElementsByClassName('OwO-items')[index].classList.add('OwO-items-show');
+ var packageActive = this.container.getElementsByClassName('OwO-package-active')[0];
+ if (packageActive) {
+ packageActive.classList.remove('OwO-package-active');
+ }
+ this.packagesEle.getElementsByTagName('li')[index].classList.add('OwO-package-active');
+ }
+ }]);
+ return OwO;
+ }();
+
+ if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
+ module.exports = OwO;
+ } else {
+ window.OwO = OwO;
+ }
+})();
diff --git a/niege/Cuteen/static/js/SmoothScroll.min.js b/niege/Cuteen/static/js/SmoothScroll.min.js
new file mode 100644
index 0000000..7141a80
--- /dev/null
+++ b/niege/Cuteen/static/js/SmoothScroll.min.js
@@ -0,0 +1,15 @@
+(function(){function C(){if(!D&&document.body){D=!0;var a=document.body,b=document.documentElement,d=window.innerHeight,c=a.scrollHeight;l=0<=document.compatMode.indexOf("CSS")?b:a;m=a;f.keyboardSupport&&window.addEventListener("keydown",M,!1);if(top!=self)v=!0;else if(ca&&c>d&&(a.offsetHeight<=d||b.offsetHeight<=d)){var e=document.createElement("div");e.style.cssText="position:absolute; z-index:-10000; top:0; left:0; right:0; height:"+l.scrollHeight+"px";document.body.appendChild(e);var g;w=function(){g||
+(g=setTimeout(function(){e.style.height="0";e.style.height=l.scrollHeight+"px";g=null},500))};setTimeout(w,10);window.addEventListener("resize",w,!1);z=new da(w);z.observe(a,{attributes:!0,childList:!0,characterData:!1});l.offsetHeight<=d&&(d=document.createElement("div"),d.style.clear="both",a.appendChild(d))}f.fixedBackground||(a.style.backgroundAttachment="scroll",b.style.backgroundAttachment="scroll")}}function N(a,b,d){ea(b,d);if(1!=f.accelerationMax){var c=Date.now()-E;cb?.99:-.99,lastY:0>d?.99:-.99,start:Date.now()});if(!F){c=O();var e=a===c||a===document.body;null==a.$scrollBehavior&&fa(a)&&(a.$scrollBehavior=a.style.scrollBehavior,a.style.scrollBehavior="auto");var g=function(c){c=Date.now();for(var k=0,l=0,h=0;h=f.animationTime,q=m?1:p/f.animationTime;f.pulseAlgorithm&&(p=q,1<=p?q=1:0>=p?q=0:(1==f.pulseNormalize&&(f.pulseNormalize/=
+ P(1)),q=P(p)));p=n.x*q-n.lastX>>0;q=n.y*q-n.lastY>>0;k+=p;l+=q;n.lastX+=p;n.lastY+=q;m&&(t.splice(h,1),h--)}e?window.scrollBy(k,l):(k&&(a.scrollLeft+=k),l&&(a.scrollTop+=l));b||d||(t=[]);t.length?Q(g,a,1E3/f.frameRate+1):(F=!1,null!=a.$scrollBehavior&&(a.style.scrollBehavior=a.$scrollBehavior,a.$scrollBehavior=null))};Q(g,a,0);F=!0}}function R(a){D||C();var b=a.target;if(a.defaultPrevented||a.ctrlKey||r(m,"embed")||r(b,"embed")&&/\.pdf/i.test(b.src)||r(m,"object")||b.shadowRoot)return!0;var d=-a.wheelDeltaX||
+ a.deltaX||0,c=-a.wheelDeltaY||a.deltaY||0;ha&&(a.wheelDeltaX&&x(a.wheelDeltaX,120)&&(d=a.wheelDeltaX/Math.abs(a.wheelDeltaX)*-120),a.wheelDeltaY&&x(a.wheelDeltaY,120)&&(c=a.wheelDeltaY/Math.abs(a.wheelDeltaY)*-120));d||c||(c=-a.wheelDelta||0);1===a.deltaMode&&(d*=40,c*=40);b=S(b);if(!b)return v&&G?(Object.defineProperty(a,"target",{value:window.frameElement}),parent.wheel(a)):!0;if(ia(c))return!0;1.2a)var b=a-(1-Math.exp(-a));
+else b=Math.exp(-1),a=1-Math.exp(-(a-1)),b+=a*(1-b);return b*f.pulseNormalize}function y(a){for(var b in a)aa.hasOwnProperty(b)&&(f[b]=a[b])}var aa={frameRate:150,animationTime:400,stepSize:100,pulseAlgorithm:!0,pulseScale:4,pulseNormalize:1,accelerationDelta:50,accelerationMax:3,keyboardSupport:!0,arrowScroll:50,fixedBackground:!0,excluded:""},f=aa,v=!1,B={x:0,y:0},D=!1,l=document.documentElement,m,z,w,h=[],Z,ha=/^Mac/.test(navigator.platform),g={left:37,up:38,right:39,down:40,spacebar:32,pageup:33,
+ pagedown:34,end:35,home:36},ja={37:1,38:1,39:1,40:1},t=[],F=!1,E=Date.now(),J=function(){var a=0;return function(b){return b.uniqueID||(b.uniqueID=a++)}}(),W={},H={},V,A={};if(window.localStorage&&localStorage.SS_deltaBuffer)try{h=localStorage.SS_deltaBuffer.split(",")}catch(a){}var Q=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a,b,d){window.setTimeout(a,d||1E3/60)}}(),da=window.MutationObserver||window.WebKitMutationObserver||
+ window.MozMutationObserver,O=function(){var a=document.scrollingElement;return function(){if(!a){var b=document.createElement("div");b.style.cssText="height:10000px;width:1px;";document.body.appendChild(b);var d=document.body.scrollTop;window.scrollBy(0,3);a=document.body.scrollTop!=d?document.body:document.documentElement;window.scrollBy(0,-3);document.body.removeChild(b)}return a}}(),k=window.navigator.userAgent,u=/Edge/.test(k),G=/chrome/i.test(k)&&!u;u=/safari/i.test(k)&&!u;var ka=/mobile/i.test(k),
+ la=/Windows NT 6.1/i.test(k)&&/rv:11/i.test(k),ca=u&&(/Version\/8/i.test(k)||/Version\/9/i.test(k));k=(G||u||la)&&!ka;var ba=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){ba=!0}}))}catch(a){}u=ba?{passive:!1}:!1;var L="onwheel"in document.createElement("div")?"wheel":"mousewheel";L&&k&&(window.addEventListener(L,R,u||!1),window.addEventListener("mousedown",U,!1),window.addEventListener("load",C,!1));y.destroy=function(){z&&z.disconnect();window.removeEventListener(L,
+ R,!1);window.removeEventListener("mousedown",U,!1);window.removeEventListener("keydown",M,!1);window.removeEventListener("resize",w,!1);window.removeEventListener("load",C,!1)};window.SmoothScrollOptions&&y(window.SmoothScrollOptions);"function"===typeof define&&define.amd?define(function(){return y}):"object"==typeof exports?module.exports=y:window.SmoothScroll=y})();
diff --git a/niege/Cuteen/static/js/admin.js b/niege/Cuteen/static/js/admin.js
new file mode 100644
index 0000000..33c424c
--- /dev/null
+++ b/niege/Cuteen/static/js/admin.js
@@ -0,0 +1,39 @@
+// $(function Acc() {
+// $(".accordion > .accordion-item.open").children(".accordion-panel").slideDown();
+// $(".accordion .accordion-thumb").on('click',function () {
+// $(this).parent().siblings(".accordion-item").removeClass("open").children(".accordion-panel").slideUp();
+// $(this).parent().toggleClass("open").children(".accordion-panel").slideToggle("ease-out");
+// });
+// });
+// $(function Tab() {
+// $(".tabs-item:first").addClass("active");
+// $(".tabs-content:first").addClass("active");
+// $(".tabs-item").on('click',function () {
+// $(this).addClass("active");
+// $(this).siblings(this).removeClass("active");
+// $(".tabs-content").siblings(".tabs-content").removeClass("active");
+// $(".tabs-content").eq($(this).index()).addClass("active");
+// });
+// });
+window.onload = function () {
+ // document.querySelector(".tabLinks").classList.add("active");
+ // document.querySelector(".tabContent").classList.add("active");
+
+ const span = document.querySelectorAll('.tabLinks'); //css选择器
+ const div = document.querySelectorAll('.tabContent');
+ span[0].classList.add('active');
+ div[0].classList.add('active');
+ for (let i = 0; i < span.length; i++) { //循环span标签
+ span[i].idx = i;
+ span[i].onclick = function () {
+ for (let j = 0; j < div.length; j++) { //循环div标签
+ span[j].classList.remove('active');
+ div[j].classList.remove('active');
+ }
+ this.classList.add('active'); //增加class
+ div[i].classList.add('active');
+ }
+ }
+
+}
+
diff --git a/niege/Cuteen/static/js/app.js b/niege/Cuteen/static/js/app.js
new file mode 100644
index 0000000..910517a
--- /dev/null
+++ b/niege/Cuteen/static/js/app.js
@@ -0,0 +1,697 @@
+"use strict";
+console.log(' %c Theme Cuteen v4.1(20201213) %c https://blog.zwying.com/ ', 'color: #fff; background: #2dce89; padding:5px;', 'background: #1c2b36; padding:5px;');
+//----------------------------------------添加、删除Class---------------------------------------
+function hasClass(obj, cls) {
+ return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
+}
+
+function addClass(obj, cls) {
+ if (!hasClass(obj, cls)) obj.className += "" + cls;
+}
+
+function removeClass(obj, cls) {
+ if (hasClass(obj, cls)) {
+ var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
+ obj.className = obj.className.replace(reg, '');
+ }
+}
+
+function toggleClass(obj, cls) {
+ if (hasClass(obj, cls)) {
+ removeClass(obj, cls);
+ } else {
+ addClass(obj, cls);
+ }
+}
+
+
+const Cuteen = {
+ initTheme: function () {
+ new LazyLoad({
+ // Your custom settings go here
+ });
+ //气泡提示
+ const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-toggle="tooltip"]'));
+ tooltipTriggerList.map(function (tooltipTriggerEl) {
+ return new bootstrap.Tooltip(tooltipTriggerEl)
+ })
+ // 状态栏hover触发
+ if (window.matchMedia("(min-width: 768px)").matches) {
+ const dropdown = document.getElementsByClassName('dropdown');
+ const dropdownToggle = document.getElementsByClassName('dropdown-toggle');
+ const dropdownMenu = document.getElementsByClassName('dropdown-menu');
+ for (let i = 0; i < dropdown.length; i++) {
+ dropdown[i].onmouseover = function () {
+ dropdownToggle[i].setAttribute("aria-expanded", "true");
+ dropdownToggle[i].classList.add('show');
+ dropdownMenu[i].classList.add('show');
+ }
+ dropdown[i].onmouseout = function () {
+ dropdownToggle[i].setAttribute("aria-expanded", "false");
+ dropdownToggle[i].classList.remove('show');
+ dropdownMenu[i].classList.remove('show');
+ }
+ }
+ }
+ //状态栏下滑消失
+ if (Config.NavBarHeadroom === 'yes') {
+ const element = document.getElementById("navPC");
+ const headroom = new Headroom(element, {
+ offset: 150,
+ });
+ headroom.init();
+ }
+
+ },
+
+ mobileAside: function () {
+ const attr = document.getElementById('mobileMenu');
+ const side = document.getElementById('mobileAside');
+ attr.onclick = function () {
+ let status = side.getAttribute('mobile-open');
+ if (status === 'false') {
+ side.setAttribute('mobile-open', 'true')
+ } else {
+ side.setAttribute('mobile-open', 'false')
+ }
+ }
+ },
+ mobileMusicToggle: function () {
+ const musicPop = document.getElementById('mobileMusic');
+ const box = document.getElementById('musicMobileBox');
+ if (musicPop !== null){
+ musicPop.onclick = function () {
+ if (box.className === 'on') {
+ box.classList.remove('on');
+ Cuteen.maskOff();
+ } else {
+ box.classList.add('on');
+ Cuteen.maskOn();
+ }
+ }
+ }
+ },
+ stopPropagation: function (e) {
+ e = e || window.event;
+ if (e.stopPropagation) { //W3C阻止冒泡方法
+ e.stopPropagation();
+ } else {
+ e.cancelBubble = true; //IE阻止冒泡方法
+ }
+ },
+ maskOff: function () {
+ const side = document.getElementById('mask');
+ side.setAttribute('data-mask', 'close')
+ },
+ maskOn: function () {
+ const side = document.getElementById('mask');
+ side.setAttribute('data-mask', 'open')
+ },
+ bodyClose: function () {
+ const mask = document.getElementById('mask');
+ const side = document.getElementById('mobileAside');
+ // mask.onclick = function () {
+ side.setAttribute('mobile-open', 'false')
+ // }
+ },
+ navBar: function () {
+ if (Config.topImage === 'yes') {
+ let b = document.documentElement.scrollTop || document.body.scrollTop,
+ d = document.getElementById('navPC'),
+ e = document.getElementById('navMobile');
+ if (b > 120) {
+ d.classList.add('bg-blur');
+ d.classList.remove('bg-transparent', 'has-img');
+ e.classList.add('bg-blur');
+ e.classList.remove('bg-transparent', 'has-img');
+ } else {
+ d.classList.add('bg-transparent', 'has-img');
+ d.classList.remove('bg-blur');
+ e.classList.add('bg-transparent', 'has-img');
+ e.classList.remove('bg-blur');
+ }
+ }
+ },
+ backTop: function () {
+ window.scroll({top: 0, left: 0, behavior: 'smooth'});
+ },
+ randomString: function (len) {
+ len = len || 32;
+ let chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
+ let res = "";
+ for (let i = 0; i < len; i++) {
+ res += chars.charAt(Math.floor(Math.random() * chars.length));
+ }
+ return res;
+ },
+ getCodeFromBlock: function (block) {
+ var codeOfBlocks = {};
+ if (codeOfBlocks[block.id] !== undefined) {
+ return codeOfBlocks[block.id];
+ }
+ let lines = block.getElementsByClassName('hljs-ln-code');
+ let res = "";
+ for (let i = 0; i < lines.length - 1; i++) {
+ res += lines[i].innerText;
+ res += "\n";
+ }
+ res += lines[lines.length - 1].innerText;
+ codeOfBlocks[block.id] = res;
+ return res;
+ },
+ codeLight: function () {
+ if (typeof (hljs) == "undefined") {
+ return;
+ }
+ document.querySelectorAll('pre code').forEach((block) => {
+ hljs.highlightBlock(block);
+ });
+ document.querySelectorAll('code.hljs').forEach((block) => {
+ let copyBtnID = "copy_btn_" + Cuteen.randomString();
+ hljs.lineNumbersBlock(block, {singleLine: true});
+ const el = block.parentNode;
+ el.classList.add('hljs-codeblock');
+ block.insertAdjacentHTML('afterend', `
+`);
+ let clipboard = new ClipboardJS("#" + copyBtnID, {
+ text: function (trigger) {
+ return Cuteen.getCodeFromBlock(el);
+ }
+ });
+ clipboard.on('success', function (e) {
+ Toastify({
+ duration: 1500,
+ position: 'center',
+ text: ' 复制成功!',
+ backgroundColor: "var(--bs-success)",
+ className: "info",
+ }).showToast();
+ });
+ clipboard.on('error', function (e) {
+ Toastify({
+ duration: 1500,
+ position: 'center',
+ text: ' 复制失败!',
+ backgroundColor: "var(--bs-danger)",
+ className: "info",
+ }).showToast();
+ });
+ });
+ },
+ ajaxComment: function () {
+ const fm = document.getElementById('comment-form');
+ const action = fm.getAttribute('data-action');
+ console.log(action);
+ fm.onsubmit = function (e) {
+ e.preventDefault();
+ let fmData = new FormData(fm);
+ axios.post(action, fmData)
+ .then(function (response) {
+ const parser = new DOMParser();
+ const convert = parser.parseFromString(response.data, "text/html");//字符串转换为dom
+ const error = new RegExp('Typecho_Widget_Exception');
+ if (error.test(response.data)) {
+ Toastify({
+ duration: 3000,
+ position: 'center',
+ text: ' 评论失败!回传参数错误!',
+ backgroundColor: "var(--bs-danger)",
+ className: "info",
+ }).showToast();
+ console.log(response.data);
+ } else {
+ console.log('回复提交成功!');
+ document.getElementById("comment-textarea").value = "";//清空回复
+ window.TypechoComment.cancelReply();//复位回复框
+ const newIdNumber = response.data.match(/id=\"?comment-\d+/g).join().match(/\d+/g).sort(
+ function (a, b) {
+ return a - b;
+ }
+ ).pop();
+ const newId = 'comment-'.concat(newIdNumber);
+ const oldList = document.getElementsByClassName('comment-list');
+ const newList = convert.getElementsByClassName('comment-list')[0].outerHTML;//获取新列表
+ console.log(oldList)
+ if (oldList.length > 0) {
+ oldList[0].remove();//移除旧列表
+ }
+ document.getElementById('comment-list').insertAdjacentHTML('afterbegin', newList);//插入新列表
+ Toastify({
+ duration: 3000,
+ position: 'center',
+ text: ' 评论成功!',
+ backgroundColor: "var(--bs-success)",
+ className: "info",
+ }).showToast();//提示成功
+ document.getElementById(newId).scrollIntoView({behavior: "smooth"});//滚动到对应锚点
+ }
+ })
+ .catch(function (error) {
+ Toastify({
+ duration: 3000,
+ position: 'center',
+ text: ' 评论失败!提交错误!',
+ backgroundColor: "var(--bs-danger)",
+ className: "info",
+ }).showToast();
+ console.log(error);
+ });
+ }
+ },
+ upStar: function () {
+ const like = document.getElementById('like');
+ if (like !== null) {
+ let dataID = like.dataset.pid,
+ num = document.getElementById("num"),
+ starValue = Cookies.get('upstar');
+ if (dataID === starValue) {
+ like.classList.remove('btn-outline-primary');
+ like.classList.add('btn-primary');
+ Toastify({
+ duration: 3000,
+ position: 'center',
+ text: ' 您已点过赞啦!',
+ backgroundColor: "var(--bs-info)",
+ className: "info",
+ }).showToast();//提示已经点过赞
+ return '';
+ } else {
+ axios.post(Config.homeUrl + '/action/cuteen?content', {
+ cid: dataID
+ })
+ .then(function (response) {
+ like.classList.remove('btn-outline-primary');
+ like.classList.add('btn-primary');
+ Cookies.set('upstar', dataID, {expires: 7});
+ num.innerText++;
+ Toastify({
+ duration: 3000,
+ position: 'center',
+ text: ' 点赞成功!感谢支持~',
+ backgroundColor: "var(--bs-success)",
+ className: "info",
+ }).showToast();//点赞成功!感谢支持~
+ return '';
+ })
+ .catch(function (error) {
+ Toastify({
+ duration: 3000,
+ position: 'center',
+ text: ' 点赞失败!提交错误!',
+ backgroundColor: "var(--bs-danger)",
+ className: "info",
+ }).showToast();
+ console.log(error);
+ });
+ }
+ }
+ return false;
+
+ },
+ enterSearch: function (item) {
+ if (event.which === 13) {
+ Cuteen.startSearch(item);
+ }
+ },
+ startSearch: function (item) {
+ const c = item.value;
+ if (!c || c === '') {
+ item.setAttribute('placeholder', '你还没有输入任何信息');
+ return;
+ }
+ const model = document.getElementById('closeSearch');
+ model.click();
+ setTimeout(function () {
+ const t = Config.homeUrl + '/search/' + c;
+ window.open(t, '_blank');
+ }, 100);
+
+ },
+ ajaxNext: function () {
+ const link = document.getElementsByClassName('next')[0];
+ const href = link.getAttribute('href');
+ const paras = document.getElementsByClassName('NextLoading');
+ document.getElementById('NextButton').remove();
+ link.onclick = function (e) {
+ if (href !== undefined) {
+ axios.interceptors.request.use(config => {
+ if (paras !== null) {
+ while (paras[0]) {
+ paras[0].remove();
+ }
+ }
+ link.insertAdjacentHTML('beforeend', '加载中... ');
+ return config
+ }, error => {
+ return Promise.reject(error)
+ })
+ axios({
+ url: href,
+ method: 'get',
+ }).then(function (response) {
+ const parser = new DOMParser();
+ const convert = parser.parseFromString(response.data, "text/html");//字符串转换为dom
+ const error = new RegExp('Typecho_Widget_Exception');
+ if (error.test(response.data)) {
+ Toastify({
+ duration: 3000,
+ position: 'center',
+ text: ' 加载失败!回传参数错误!',
+ backgroundColor: "var(--bs-danger)",
+ className: "info",
+ }).showToast();
+ console.log(response.data);
+ } else {
+ const list = convert.getElementsByClassName('article');//获取新列表
+ const newHrefPosition = convert.getElementsByClassName('next')[0];
+ if (newHrefPosition!==undefined) {
+ var newhref = newHrefPosition.getAttribute('href');
+ }
+ let b = '';
+ for (let v of list) {
+ b += v.outerHTML;
+ }
+ if (paras !== null) {
+ while (paras[0]) {
+ paras[0].remove();
+ }
+ }
+ const insertPosition = document.getElementById('content');
+ if (insertPosition.getElementsByClassName('row').length > 0) {
+ insertPosition.getElementsByClassName('row')[0].insertAdjacentHTML('beforeend', b);//插入新列表卡片模式
+ } else {
+ insertPosition.insertAdjacentHTML('beforeend', b);//插入新列表列表模式
+ }
+ if (newHrefPosition!==undefined) {
+ link.insertAdjacentHTML('beforeend', '点击加载更多 ')
+ link.setAttribute('href', newhref);
+ }
+ let lazy = new LazyLoad();
+ lazy.update();
+ return false;
+ }
+ }).catch(function (error) {
+ Toastify({
+ duration: 3000,
+ position: 'center',
+ text: ' 加载失败!参数错误',
+ backgroundColor: "var(--bs-danger)",
+ className: "info",
+ }).showToast();
+ console.log(error);
+ });
+ e.stopPropagation(); // 阻止冒泡到父级的点击事件
+ }
+ return false;
+ }
+ return false;
+ },
+ tocDisplay: function () {
+ const tocEle = document.getElementById('TOC-text');
+ if (tocEle !== undefined) {
+ const headerEl = 'h1,h2,h3,h4,h5,h6', content = '#post';
+ tocbot.init({
+ tocSelector: '#TOC-text',
+ contentSelector: content,
+ headingSelector: headerEl,
+ headingsOffset: 70
+ });
+ }
+ return false;
+ },
+ noCopy: function () {
+ if (Config.noConsole === 'yes') {
+ ((function () {
+ var callbacks = [], timeLimit = 50, open = false;
+ setInterval(loop, 1);
+ return {
+ addListener: function (fn) {
+ callbacks.push(fn);
+ },
+ cancleListenr: function (fn) {
+ callbacks = callbacks.filter(function (v) {
+ return v !== fn;
+ });
+ }
+ }
+
+ function loop() {
+ var startTime = new Date();
+ debugger;
+ if (new Date() - startTime > timeLimit) {
+ if (!open) {
+ callbacks.forEach(function (fn) {
+ fn.call(null);
+ });
+ }
+ open = true;
+ window.stop();
+ alert('大佬别再扒了!赶紧买一份吧ヽ( ̄ω ̄( ̄ω ̄〃)ゝ');
+ document.body.innerHTML = "";
+ } else {
+ open = false;
+ }
+ }
+ })()).addListener(function () {
+ window.location.reload();
+ });
+ }
+ },
+ InitOwO: function () {
+ if (document.getElementById('OwO') !== null) {
+ new OwO({
+ logo: 'OwO表情',
+ container: document.getElementById('OwO'),
+ target: document.getElementById('comment-textarea'),
+ position: 'down',
+ width: '100%',
+ maxHeight: '250px',
+ api: Config.staticUrl + 'emoji/emoji.json'
+ });
+ }
+ },
+ darkMode: function () {
+ const btn = document.getElementsByTagName('html')[0];
+ const svg = document.querySelector('#darkMode use');
+ const svg2 = document.querySelector('#mobileDarkMode use');
+ const icon = svg.getAttribute('xlink:href');
+ const hb = '\n' +
+ '
\n' +
+ '
\n' +
+ '
';
+ btn.insertAdjacentHTML('beforeend', hb);
+ toggleClass(btn, 'dark-mode');
+ const sky = document.getElementsByClassName('Cuteen_DarkSky')[0];
+ if (sky !== undefined) {
+ const DarkMode = Cookies.get('DarkMode');
+ if (DarkMode === '0') {
+ Cookies.set('DarkMode', 1, {expires: 3});
+ console.log('夜间模式关闭');
+ } else {
+ Cookies.set('DarkMode', 0, {expires: 3});
+ console.log('夜间模式开启')
+ }
+ setTimeout(function () {
+ if (sky.style.opacity !== 0) {
+ var num = 10;
+ var st = setInterval(function () {
+ num--;
+ sky.style.opacity = num / 10;
+ if (num <= 0) {
+ clearInterval(st);
+ sky.remove();
+ }
+ }, 30);
+ }
+ }, 2e3)
+
+ }
+ if (icon === '#moon') {
+ svg.setAttribute('xlink:href', '#sun');
+ svg2.setAttribute('xlink:href', '#sun');
+ document.documentElement.style.setProperty('--bs-light', '#121212');
+ document.documentElement.style.setProperty('--bs-dark', 'rgba(255, 255, 255, 0.8)');
+ } else {
+ svg.setAttribute('xlink:href', '#moon');
+ svg2.setAttribute('xlink:href', '#moon');
+ document.documentElement.style.removeProperty('--bs-light');
+ document.documentElement.style.removeProperty('--bs-dark');
+ }
+
+ },
+ darkModeCheck: function () {
+ const btn = document.getElementsByTagName('html')[0];
+ const svg = document.querySelector('#darkMode use');
+ const svg2 = document.querySelector('#mobileDarkMode use');
+ if (Config.darkSet === '2') {
+ svg.setAttribute('xlink:href', '#sun');
+ svg2.setAttribute('xlink:href', '#sun');
+ document.documentElement.style.setProperty('--bs-light', '#121212');
+ document.documentElement.style.setProperty('--bs-dark', 'rgba(255, 255, 255, 0.8)');
+ document.documentElement.classList.add('dark-mode');
+ return '';
+ } else if (Config.darkSet === '1') {
+ svg.setAttribute('xlink:href', '#moon');
+ svg2.setAttribute('xlink:href', '#moon');
+ document.documentElement.style.removeProperty('--bs-light');
+ document.documentElement.style.removeProperty('--bs-dark');
+ document.documentElement.classList.remove('dark-mode');
+ return '';
+ }
+ if (Config.darkSet === '0' && Cookies.get('DarkMode') === undefined) {
+ if (new Date().getHours() >= 20 || new Date().getHours() < 6) {
+ svg.setAttribute('xlink:href', '#sun');
+ svg2.setAttribute('xlink:href', '#sun');
+ document.documentElement.style.setProperty('--bs-light', '#121212');
+ document.documentElement.style.setProperty('--bs-dark', 'rgba(255, 255, 255, 0.8)');
+ document.documentElement.classList.add('dark-mode');
+ console.log('夜间模式开启');
+ return '';
+ } else {
+ svg.setAttribute('xlink:href', '#moon');
+ svg2.setAttribute('xlink:href', '#moon');
+ document.documentElement.style.removeProperty('--bs-light');
+ document.documentElement.style.removeProperty('--bs-dark');
+ document.documentElement.classList.remove('dark-mode');
+ console.log('夜间模式关闭');
+ return '';
+ }
+ } else {
+ if (Cookies.get('DarkMode') === '0') {
+ svg.setAttribute('xlink:href', '#moon');
+ svg2.setAttribute('xlink:href', '#moon');
+ document.documentElement.style.removeProperty('--bs-light');
+ document.documentElement.style.removeProperty('--bs-dark');
+ document.documentElement.classList.remove('dark-mode');
+ return '';
+ } else if (Cookies.get('DarkMode') === '1') {
+ svg.setAttribute('xlink:href', '#sun');
+ svg2.setAttribute('xlink:href', '#sun');
+ document.documentElement.style.setProperty('--bs-light', '#121212');
+ document.documentElement.style.setProperty('--bs-dark', 'rgba(255, 255, 255, 0.8)');
+ document.documentElement.classList.add('dark-mode');
+ return '';
+ }
+ }
+ },
+ themeColor: function (obj) {
+ switch (obj) {
+ case 'primary':
+ document.documentElement.style.setProperty('--bs-primary', '#0d6efd');
+ document.documentElement.style.setProperty('--bs-primary_opacity_1', 'rgba(13, 110, 253, 0.1)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_2', 'rgba(13, 110, 253, 0.2)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_3', 'rgba(13, 110, 253, 0.3)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_4', 'rgba(13, 110, 253, 0.4)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_5', 'rgba(13, 110, 253, 0.5)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_6', 'rgba(13, 110, 253, 0.6)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_7', 'rgba(13, 110, 253, 0.7)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_8', 'rgba(13, 110, 253, 0.8)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_9', 'rgba(13, 110, 253, 0.9)');
+ Cookies.set('themeColor', 'primary', {expires: 3});
+ break;
+ case 'danger':
+ document.documentElement.style.setProperty('--bs-primary', '#dc3545');
+ document.documentElement.style.setProperty('--bs-primary_opacity_1', 'rgba(220, 53, 69, 0.1)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_2', 'rgba(220, 53, 69, 0.2)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_3', 'rgba(220, 53, 69, 0.3)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_4', 'rgba(220, 53, 69, 0.4)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_5', 'rgba(220, 53, 69, 0.5)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_6', 'rgba(220, 53, 69, 0.6)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_7', 'rgba(220, 53, 69, 0.7)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_8', 'rgba(220, 53, 69, 0.8)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_9', 'rgba(220, 53, 69, 0.9)');
+ Cookies.set('themeColor', 'danger', {expires: 3});
+ break;
+ case 'info':
+ document.documentElement.style.setProperty('--bs-primary', '#17a2b8');
+ document.documentElement.style.setProperty('--bs-primary_opacity_1', 'rgba(23, 162, 184, 0.1)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_2', 'rgba(23, 162, 184, 0.2)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_3', 'rgba(23, 162, 184, 0.3)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_4', 'rgba(23, 162, 184, 0.4)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_5', 'rgba(23, 162, 184, 0.5)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_6', 'rgba(23, 162, 184, 0.6)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_7', 'rgba(23, 162, 184, 0.7)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_8', 'rgba(23, 162, 184, 0.8)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_9', 'rgba(23, 162, 184, 0.9)');
+ Cookies.set('themeColor', 'info', {expires: 3});
+ break;
+ case 'success':
+ document.documentElement.style.setProperty('--bs-primary', '#28a745');
+ document.documentElement.style.setProperty('--bs-primary_opacity_1', 'rgba(40, 167, 69, 0.1)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_2', 'rgba(40, 167, 69, 0.2)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_3', 'rgba(40, 167, 69, 0.3)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_4', 'rgba(40, 167, 69, 0.4)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_5', 'rgba(40, 167, 69, 0.5)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_6', 'rgba(40, 167, 69, 0.6)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_7', 'rgba(40, 167, 69, 0.7)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_8', 'rgba(40, 167, 69, 0.8)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_9', 'rgba(40, 167, 69, 0.9)');
+ Cookies.set('themeColor', 'success', {expires: 3});
+ break;
+ case 'warning':
+ document.documentElement.style.setProperty('--bs-primary', '#ffc107');
+ document.documentElement.style.setProperty('--bs-primary_opacity_1', 'rgba(255, 193, 7, 0.1)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_2', 'rgba(255, 193, 7, 0.2)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_3', 'rgba(255, 193, 7, 0.3)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_4', 'rgba(255, 193, 7, 0.4)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_5', 'rgba(255, 193, 7, 0.5)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_6', 'rgba(255, 193, 7, 0.6)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_7', 'rgba(255, 193, 7, 0.7)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_8', 'rgba(255, 193, 7, 0.8)');
+ document.documentElement.style.setProperty('--bs-primary_opacity_9', 'rgba(255, 193, 7, 0.9)');
+ Cookies.set('themeColor', 'warning', {expires: 3});
+ break;
+ default:
+
+ }
+ },
+ themeColorCheck: function () {
+ const themeColor = Cookies.get('themeColor');
+ if (themeColor === 'primary') {
+ this.themeColor('primary');
+ document.querySelector('.btn-check[value="primary"]').setAttribute('checked', 'checked');
+ } else if (themeColor === 'warning') {
+ this.themeColor('warning');
+ document.querySelector('.btn-check[value="warning"]').setAttribute('checked', 'checked');
+ } else if (themeColor === 'success') {
+ this.themeColor('success');
+ document.querySelector('.btn-check[value="success"]').setAttribute('checked', 'checked');
+ } else if (themeColor === 'info') {
+ document.querySelector('.btn-check[value="info"]').setAttribute('checked', 'checked');
+ this.themeColor('info');
+ } else if (themeColor === 'danger') {
+ this.themeColor('danger');
+ document.querySelector('.btn-check[value="danger"]').setAttribute('checked', 'checked');
+ }
+ }
+}
+
+function PjaxLoad() {
+ Cuteen.initTheme();
+ Cuteen.darkModeCheck();
+ Cuteen.mobileAside();
+ Cuteen.mobileMusicToggle();
+ Cuteen.tocDisplay();
+ Cuteen.noCopy();
+ Cuteen.codeLight();
+ Cuteen.InitOwO();
+}
+
+document.addEventListener('DOMContentLoaded', function (event) {
+ Cuteen.themeColorCheck();
+ PjaxLoad();
+});
+window.onscroll = function () {
+ Cuteen.navBar();
+};
+
+
+
+
diff --git a/niege/Cuteen/static/js/bundle-f4b7476a35.js b/niege/Cuteen/static/js/bundle-f4b7476a35.js
new file mode 100644
index 0000000..d7782b7
--- /dev/null
+++ b/niege/Cuteen/static/js/bundle-f4b7476a35.js
@@ -0,0 +1,58 @@
+/**!
+ * lightgallery.js | 1.2.0 | May 20th 2020
+ * http://sachinchoolur.github.io/lightgallery.js/
+ * Copyright (c) 2016 Sachin N;
+ * @license GPLv3
+ */
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Lightgallery=e()}}((function(){return function e(t,n,i){function r(s,a){if(!n[s]){if(!t[s]){var l="function"==typeof require&&require;if(!a&&l)return l(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[s]={exports:{}};t[s][0].call(u.exports,(function(e){return r(t[s][1][e]||e)}),u,u.exports,e,t,n,i)}return n[s].exports}for(var o="function"==typeof require&&require,s=0;s2&&void 0!==arguments[2]?arguments[2]:null;if(e){var i=new CustomEvent(t,{detail:n});e.dispatchEvent(i)}},Listener:{uid:0},on:function(e,n,i){var r=this;e&&n.split(" ").forEach((function(n){var o=r.getAttribute(e,"lg-event-uid")||"";t.Listener.uid++,o+="&"+t.Listener.uid,r.setAttribute(e,"lg-event-uid",o),t.Listener[n+t.Listener.uid]=i,e.addEventListener(n.split(".")[0],i,!1)}))},off:function(e,n){if(e){var i=this.getAttribute(e,"lg-event-uid");if(i){i=i.split("&");for(var r=0;r-1&&(e.removeEventListener(s.split(".")[0],t.Listener[s]),this.setAttribute(e,"lg-event-uid",this.getAttribute(e,"lg-event-uid").replace("&"+i[r],"")),delete t.Listener[s]);else e.removeEventListener(o.split(".")[0],t.Listener[o]),this.setAttribute(e,"lg-event-uid",this.getAttribute(e,"lg-event-uid").replace("&"+i[r],"")),delete t.Listener[o]}}}},param:function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}};e.default=t}))},{}],2:[function(e,t,n){!function(t,i){if(void 0!==n)i(e("./lg-utils"));else{i(t.lgUtils),t.lightgallery={}}}(this,(function(e){"use strict";var t,n=(t=e)&&t.__esModule?t:{default:t};var i=Object.assign||function(e){for(var t=1;te.items.length&&(e.s.preload=e.items.length);var t=window.location.hash;if(t.indexOf("lg="+this.s.galleryId)>0&&(e.index=parseInt(t.split("&slide=")[1],10),n.default.addClass(document.body,"lg-from-hash"),n.default.hasClass(document.body,"lg-on")||(n.default.addClass(document.body,"lg-on"),setTimeout((function(){e.build(e.index)})))),e.s.dynamic)n.default.trigger(this.el,"onBeforeOpen"),e.index=e.s.index||0,n.default.hasClass(document.body,"lg-on")||(n.default.addClass(document.body,"lg-on"),setTimeout((function(){e.build(e.index)})));else for(var i=0;i1&&(t.arrow(),setTimeout((function(){t.enableDrag(),t.enableSwipe()}),50),t.s.mousewheel&&t.mousewheel()),t.counter(),t.closeGallery(),n.default.trigger(t.el,"onAfterOpen"),n.default.on(t.outer,"mousemove.lg click.lg touchstart.lg",(function(){n.default.removeClass(t.outer,"lg-hide-items"),clearTimeout(t.hideBartimeout),t.hideBartimeout=setTimeout((function(){n.default.addClass(t.outer,"lg-hide-items")}),t.s.hideBarsDelay)}))},o.prototype.structure=function(){var e,t="",i="",r=0,o="",s=this;for(document.body.insertAdjacentHTML("beforeend",'
'),n.default.setVendor(document.querySelector(".lg-backdrop"),"TransitionDuration",this.s.backdropDuration+"ms"),r=0;r';if(this.s.controls&&this.items.length>1&&(i=''+this.s.prevHtml+' '+this.s.nextHtml+"
"),".lg-sub-html"===this.s.appendSubHtmlTo&&(o='
'),e='",document.body.insertAdjacentHTML("beforeend",e),this.outer=document.querySelector(".lg-outer"),this.outer.focus(),this.___slide=this.outer.querySelectorAll(".lg-item"),this.s.useLeft?(n.default.addClass(this.outer,"lg-use-left"),this.s.mode="lg-slide"):n.default.addClass(this.outer,"lg-use-css3"),s.setTop(),n.default.on(window,"resize.lg orientationchange.lg",(function(){setTimeout((function(){s.setTop()}),100)})),n.default.addClass(this.___slide[this.index],"lg-current"),this.doCss()?n.default.addClass(this.outer,"lg-css3"):(n.default.addClass(this.outer,"lg-css"),this.s.speed=0),n.default.addClass(this.outer,this.s.mode),this.s.enableDrag&&this.items.length>1&&n.default.addClass(this.outer,"lg-grab"),this.s.showAfterLoad&&n.default.addClass(this.outer,"lg-show-after-load"),this.doCss()){var a=this.outer.querySelector(".lg-inner");n.default.setVendor(a,"TransitionTimingFunction",this.s.cssEasing),n.default.setVendor(a,"TransitionDuration",this.s.speed+"ms")}setTimeout((function(){n.default.addClass(document.querySelector(".lg-backdrop"),"in")})),setTimeout((function(){n.default.addClass(s.outer,"lg-visible")}),this.s.backdropDuration),this.s.download&&this.outer.querySelector(".lg-toolbar").insertAdjacentHTML("beforeend",' '),this.prevScrollTop=document.documentElement.scrollTop||document.body.scrollTop},o.prototype.setTop=function(){if("100%"!==this.s.height){var e=window.innerHeight,t=(e-parseInt(this.s.height,10))/2,n=this.outer.querySelector(".lg");e>=parseInt(this.s.height,10)?n.style.top=t+"px":n.style.top="0px"}},o.prototype.doCss=function(){return!!function(){var e=["transition","MozTransition","WebkitTransition","OTransition","msTransition","KhtmlTransition"],t=document.documentElement,n=0;for(n=0;n'+(parseInt(this.index,10)+1)+' / '+this.items.length+" ")},o.prototype.addHtml=function(e){var t,i=null;if(this.s.dynamic?i=this.s.dynamicEl[e].subHtml:(i=(t=this.items[e]).getAttribute("data-sub-html"),this.s.getCaptionFromTitleOrAlt&&!i&&(i=t.getAttribute("title"))&&t.querySelector("img")&&(i=t.querySelector("img").getAttribute("alt"))),null!=i){var r=i.substring(0,1);"."!==r&&"#"!==r||(i=this.s.subHtmlSelectorRelative&&!this.s.dynamic?t.querySelector(i).innerHTML:document.querySelector(i).innerHTML)}else i="";".lg-sub-html"===this.s.appendSubHtmlTo?this.outer.querySelector(this.s.appendSubHtmlTo).innerHTML=i:this.___slide[e].insertAdjacentHTML("beforeend",i),null!=i&&(""===i?n.default.addClass(this.outer.querySelector(this.s.appendSubHtmlTo),"lg-empty-html"):n.default.removeClass(this.outer.querySelector(this.s.appendSubHtmlTo),"lg-empty-html")),n.default.trigger(this.el,"onAfterAppendSubHtml",{index:e})},o.prototype.preload=function(e){var t=1,n=1;for(t=1;t<=this.s.preload&&!(t>=this.items.length-e);t++)this.loadContent(e+t,!1,0);for(n=1;n<=this.s.preload&&!(e-n<0);n++)this.loadContent(e-n,!1,0)},o.prototype.loadContent=function(e,t,i){var r,o,s,a,l,c,u,d=this,f=!1,g=function(e){for(var t=[],n=[],i=0;is){o=n[a];break}};if(d.s.dynamic){if(d.s.dynamicEl[e].poster&&(f=!0,s=d.s.dynamicEl[e].poster),c=d.s.dynamicEl[e].html,o=d.s.dynamicEl[e].src,u=d.s.dynamicEl[e].alt,d.s.dynamicEl[e].responsive)g(d.s.dynamicEl[e].responsive.split(","));a=d.s.dynamicEl[e].srcset,l=d.s.dynamicEl[e].sizes}else{if(d.items[e].getAttribute("data-poster")&&(f=!0,s=d.items[e].getAttribute("data-poster")),c=d.items[e].getAttribute("data-html"),o=d.items[e].getAttribute("href")||d.items[e].getAttribute("data-src"),u=d.items[e].getAttribute("title"),d.items[e].querySelector("img")&&(u=u||d.items[e].querySelector("img").getAttribute("alt")),d.items[e].getAttribute("data-responsive"))g(d.items[e].getAttribute("data-responsive").split(","));a=d.items[e].getAttribute("data-srcset"),l=d.items[e].getAttribute("data-sizes")}var h=!1;d.s.dynamic?d.s.dynamicEl[e].iframe&&(h=!0):"true"===d.items[e].getAttribute("data-iframe")&&(h=!0);var p=d.isVideo(o,e);if(!n.default.hasClass(d.___slide[e],"lg-loaded")){if(h)d.___slide[e].insertAdjacentHTML("afterbegin",'');else if(f){var m="";m=p&&p.youtube?"lg-has-youtube":p&&p.vimeo?"lg-has-vimeo":"lg-has-html5",d.___slide[e].insertAdjacentHTML("beforeend",'')}else p?(d.___slide[e].insertAdjacentHTML("beforeend",''),n.default.trigger(d.el,"hasVideo",{index:e,src:o,html:c})):(u=u?'alt="'+u+'"':"",d.___slide[e].insertAdjacentHTML("beforeend",' '));if(n.default.trigger(d.el,"onAferAppendSlide",{index:e}),r=d.___slide[e].querySelector(".lg-object"),l&&r.setAttribute("sizes",l),a){r.setAttribute("srcset",a);try{picturefill({elements:[r[0]]})}catch(e){console.error("Make sure you have included Picturefill version 2")}}".lg-sub-html"!==this.s.appendSubHtmlTo&&d.addHtml(e),n.default.addClass(d.___slide[e],"lg-loaded")}n.default.on(d.___slide[e].querySelector(".lg-object"),"load.lg error.lg",(function(){var t=0;i&&!n.default.hasClass(document.body,"lg-from-hash")&&(t=i),setTimeout((function(){n.default.addClass(d.___slide[e],"lg-complete"),n.default.trigger(d.el,"onSlideItemLoad",{index:e,delay:i||0})}),t)})),p&&p.html5&&!f&&n.default.addClass(d.___slide[e],"lg-complete"),!0===t&&(n.default.hasClass(d.___slide[e],"lg-complete")?d.preload(e):n.default.on(d.___slide[e].querySelector(".lg-object"),"load.lg error.lg",(function(){d.preload(e)})))},o.prototype.slide=function(e,t,i){for(var r=0,o=0;or&&(c=!0,e!==a-1||0!==r||i||(u=!0,c=!1)),u?(n.default.addClass(this.___slide[e],"lg-prev-slide"),n.default.addClass(this.___slide[r],"lg-next-slide")):c&&(n.default.addClass(this.___slide[e],"lg-next-slide"),n.default.addClass(this.___slide[r],"lg-prev-slide")),setTimeout((function(){n.default.removeClass(s.outer.querySelector(".lg-current"),"lg-current"),n.default.addClass(s.___slide[e],"lg-current"),n.default.removeClass(s.outer,"lg-no-trans")}),50)}s.lGalleryOn?(setTimeout((function(){s.loadContent(e,!0,0)}),this.s.speed+50),setTimeout((function(){s.lgBusy=!1,n.default.trigger(s.el,"onAfterSlide",{prevIndex:r,index:e,fromTouch:t,fromThumb:i})}),this.s.speed)):(s.loadContent(e,!0,s.s.backdropDuration),s.lgBusy=!1,n.default.trigger(s.el,"onAfterSlide",{prevIndex:r,index:e,fromTouch:t,fromThumb:i})),s.lGalleryOn=!0,this.s.counter&&document.getElementById("lg-counter-current")&&(document.getElementById("lg-counter-current").innerHTML=e+1)}}},o.prototype.goToNextSlide=function(e){var t=this;t.lgBusy||(t.index+10?(t.index--,n.default.trigger(t.el,"onBeforePrevSlide",{index:t.index,fromTouch:e}),t.slide(t.index,e,!1)):t.s.loop?(t.index=t.items.length-1,n.default.trigger(t.el,"onBeforePrevSlide",{index:t.index,fromTouch:e}),t.slide(t.index,e,!1)):t.s.slideEndAnimatoin&&(n.default.addClass(t.outer,"lg-left-end"),setTimeout((function(){n.default.removeClass(t.outer,"lg-left-end")}),400)))},o.prototype.keyPress=function(){var e=this;this.items.length>1&&n.default.on(window,"keyup.lg",(function(t){e.items.length>1&&(37===t.keyCode&&(t.preventDefault(),e.goToPrevSlide()),39===t.keyCode&&(t.preventDefault(),e.goToNextSlide()))})),n.default.on(window,"keydown.lg",(function(t){!0===e.s.escKey&&27===t.keyCode&&(t.preventDefault(),n.default.hasClass(e.outer,"lg-thumb-open")?n.default.removeClass(e.outer,"lg-thumb-open"):e.destroy())}))},o.prototype.arrow=function(){var e=this;n.default.on(this.outer.querySelector(".lg-prev"),"click.lg",(function(){e.goToPrevSlide()})),n.default.on(this.outer.querySelector(".lg-next"),"click.lg",(function(){e.goToNextSlide()}))},o.prototype.arrowDisable=function(e){if(!this.s.loop&&this.s.hideControlOnEnd){var t=this.outer.querySelector(".lg-next"),i=this.outer.querySelector(".lg-prev");e+10?(i.removeAttribute("disabled"),n.default.removeClass(i,"disabled")):(i.setAttribute("disabled","disabled"),n.default.addClass(i,"disabled"))}},o.prototype.setTranslate=function(e,t,i){this.s.useLeft?e.style.left=t:n.default.setVendor(e,"Transform","translate3d("+t+"px, "+i+"px, 0px)")},o.prototype.touchMove=function(e,t){var i=t-e;Math.abs(i)>15&&(n.default.addClass(this.outer,"lg-dragging"),this.setTranslate(this.___slide[this.index],i,0),this.setTranslate(document.querySelector(".lg-prev-slide"),-this.___slide[this.index].clientWidth+i,0),this.setTranslate(document.querySelector(".lg-next-slide"),this.___slide[this.index].clientWidth+i,0))},o.prototype.touchEnd=function(e){var t=this;"lg-slide"!==t.s.mode&&n.default.addClass(t.outer,"lg-slide");for(var i=0;it.s.swipeThreshold?t.goToNextSlide(!0):e>0&&Math.abs(e)>t.s.swipeThreshold?t.goToPrevSlide(!0):Math.abs(e)<5&&n.default.trigger(t.el,"onSlideClick");for(var i=0;i-1&&n.default.addClass(this.___slide[t],"lg-prev-slide"),n.default.addClass(this.___slide[e],"lg-next-slide")},o.prototype.mousewheel=function(){var e=this;n.default.on(e.outer,"mousewheel.lg",(function(t){t.deltaY&&(t.deltaY>0?e.goToPrevSlide():e.goToNextSlide(),t.preventDefault())}))},o.prototype.closeGallery=function(){var e=this,t=!1;n.default.on(this.outer.querySelector(".lg-close"),"click.lg",(function(){e.destroy()})),e.s.closable&&(n.default.on(e.outer,"mousedown.lg",(function(e){t=!!(n.default.hasClass(e.target,"lg-outer")||n.default.hasClass(e.target,"lg-item")||n.default.hasClass(e.target,"lg-img-wrap"))})),n.default.on(e.outer,"mouseup.lg",(function(i){(n.default.hasClass(i.target,"lg-outer")||n.default.hasClass(i.target,"lg-item")||n.default.hasClass(i.target,"lg-img-wrap")&&t)&&(n.default.hasClass(e.outer,"lg-dragging")||e.destroy())})))},o.prototype.destroy=function(e){var t=this;if(e||n.default.trigger(t.el,"onBeforeClose"),document.body.scrollTop=t.prevScrollTop,document.documentElement.scrollTop=t.prevScrollTop,e){if(!t.s.dynamic)for(var i=0;i ';e.core.s.actualSize&&(t+=' '),e.core.s.useLeftForZoom?utils.addClass(e.core.outer,"lg-use-left-for-zoom"):utils.addClass(e.core.outer,"lg-use-transition-for-zoom"),this.core.outer.querySelector(".lg-toolbar").insertAdjacentHTML("beforeend",t),utils.on(e.core.el,"onSlideItemLoad.lgtmzoom",(function(t){var n=e.core.s.enableZoomAfter+t.detail.delay;utils.hasClass(document.body,"lg-from-hash")&&t.detail.delay?n=0:utils.removeClass(document.body,"lg-from-hash"),e.zoomabletimeout=setTimeout((function(){utils.addClass(e.core.___slide[t.detail.index],"lg-zoomable")}),n+30)}));var n=1,i=function(t){var n=e.core.outer.querySelector(".lg-current .lg-image"),i=(window.innerWidth-n.clientWidth)/2,r=(window.innerHeight-n.clientHeight)/2+(document.documentElement.scrollTop||document.body.scrollTop),o=(t-1)*(e.pageX-i),s=(t-1)*(e.pageY-r);utils.setVendor(n,"Transform","scale3d("+t+", "+t+", 1)"),n.setAttribute("data-scale",t),e.core.s.useLeftForZoom?(n.parentElement.style.left=-o+"px",n.parentElement.style.top=-s+"px"):utils.setVendor(n.parentElement,"Transform","translate3d(-"+o+"px, -"+s+"px, 0)"),n.parentElement.setAttribute("data-x",o),n.parentElement.setAttribute("data-y",s)},r=function(){n>1?utils.addClass(e.core.outer,"lg-zoomed"):e.resetZoom(),n<1&&(n=1),i(n)},o=function(t,i,o,s){var a,l=i.clientWidth;a=e.core.s.dynamic?e.core.s.dynamicEl[o].width||i.naturalWidth||l:e.core.items[o].getAttribute("data-width")||i.naturalWidth||l,utils.hasClass(e.core.outer,"lg-zoomed")?n=1:a>l&&(n=a/l||2),s?(e.pageX=window.innerWidth/2,e.pageY=window.innerHeight/2+(document.documentElement.scrollTop||document.body.scrollTop)):(e.pageX=t.pageX||t.targetTouches[0].pageX,e.pageY=t.pageY||t.targetTouches[0].pageY),r(),setTimeout((function(){utils.removeClass(e.core.outer,"lg-grabbing"),utils.addClass(e.core.outer,"lg-grab")}),10)},s=!1;utils.on(e.core.el,"onAferAppendSlide.lgtmzoom",(function(t){var n=t.detail.index,i=e.core.___slide[n].querySelector(".lg-image");e.core.isTouch||utils.on(i,"dblclick",(function(e){o(e,i,n)})),e.core.isTouch&&utils.on(i,"touchstart",(function(e){s?(clearTimeout(s),s=null,o(e,i,n)):s=setTimeout((function(){s=null}),300),e.preventDefault()}))})),utils.on(window,"resize.lgzoom scroll.lgzoom orientationchange.lgzoom",(function(){e.pageX=window.innerWidth/2,e.pageY=window.innerHeight/2+(document.documentElement.scrollTop||document.body.scrollTop),i(n)})),utils.on(document.getElementById("lg-zoom-out"),"click.lg",(function(){e.core.outer.querySelector(".lg-current .lg-image")&&(n-=e.core.s.scale,r())})),utils.on(document.getElementById("lg-zoom-in"),"click.lg",(function(){e.core.outer.querySelector(".lg-current .lg-image")&&(n+=e.core.s.scale,r())})),utils.on(document.getElementById("lg-actual-size"),"click.lg",(function(t){o(t,e.core.___slide[e.core.index].querySelector(".lg-image"),e.core.index,!0)})),utils.on(e.core.el,"onBeforeSlide.lgtm",(function(){n=1,e.resetZoom()})),e.core.isTouch||e.zoomDrag(),e.core.isTouch&&e.zoomSwipe()},r.prototype.resetZoom=function(){utils.removeClass(this.core.outer,"lg-zoomed");for(var e=0;ee.core.outer.querySelector(".lg").clientHeight,((r=i.offsetWidth*i.getAttribute("data-scale")>e.core.outer.querySelector(".lg").clientWidth)||o)&&(n.preventDefault(),t={x:n.targetTouches[0].pageX,y:n.targetTouches[0].pageY})}}));for(var a=0;a15||Math.abs(n.y-t.y)>15)&&(e.core.s.useLeftForZoom?(c.style.left=a+"px",c.style.top=l+"px"):utils.setVendor(c,"Transform","translate3d("+a+"px, "+l+"px, 0)"))}}));for(var l=0;le.core.outer.querySelector(".lg").clientHeight,o=r.offsetWidth*r.getAttribute("data-scale")>e.core.outer.querySelector(".lg").clientWidth,utils.hasClass(e.core.outer,"lg-zoomed")&&utils.hasClass(n.target,"lg-object")&&(o||s)&&(n.preventDefault(),t={x:n.pageX,y:n.pageY},i=!0,e.core.outer.scrollLeft+=1,e.core.outer.scrollLeft-=1,utils.removeClass(e.core.outer,"lg-grab"),utils.addClass(e.core.outer,"lg-grabbing"))}));utils.on(window,"mousemove.lgzoom",(function(a){if(i){var l,c,u=e.core.___slide[e.core.index].querySelector(".lg-img-wrap");r=!0,n={x:a.pageX,y:a.pageY},utils.addClass(e.core.outer,"lg-zoom-dragging"),c=s?-Math.abs(u.getAttribute("data-y"))+(n.y-t.y):-Math.abs(u.getAttribute("data-y")),l=o?-Math.abs(u.getAttribute("data-x"))+(n.x-t.x):-Math.abs(u.getAttribute("data-x")),e.core.s.useLeftForZoom?(u.style.left=l+"px",u.style.top=c+"px"):utils.setVendor(u,"Transform","translate3d("+l+"px, "+c+"px, 0)")}})),utils.on(window,"mouseup.lgzoom",(function(a){i&&(i=!1,utils.removeClass(e.core.outer,"lg-zoom-dragging"),!r||t.x===n.x&&t.y===n.y||(n={x:a.pageX,y:a.pageY},e.touchendZoom(t,n,o,s)),r=!1),utils.removeClass(e.core.outer,"lg-grabbing"),utils.addClass(e.core.outer,"lg-grab")}))},r.prototype.touchendZoom=function(e,t,n,i){var r=this.core.___slide[this.core.index].querySelector(".lg-img-wrap"),o=this.core.___slide[this.core.index].querySelector(".lg-object"),s=-Math.abs(r.getAttribute("data-x"))+(t.x-e.x),a=-Math.abs(r.getAttribute("data-y"))+(t.y-e.y),l=(this.core.outer.querySelector(".lg").clientHeight-o.offsetHeight)/2,c=Math.abs(o.offsetHeight*Math.abs(o.getAttribute("data-scale"))-this.core.outer.querySelector(".lg").clientHeight+l),u=(this.core.outer.querySelector(".lg").clientWidth-o.offsetWidth)/2,d=Math.abs(o.offsetWidth*Math.abs(o.getAttribute("data-scale"))-this.core.outer.querySelector(".lg").clientWidth+u);(Math.abs(t.x-e.x)>15||Math.abs(t.y-e.y)>15)&&(i&&(a<=-c?a=-c:a>=-l&&(a=-l)),n&&(s<=-d?s=-d:s>=-u&&(s=-u)),i?r.setAttribute("data-y",Math.abs(a)):a=-Math.abs(r.getAttribute("data-y")),n?r.setAttribute("data-x",Math.abs(s)):s=-Math.abs(r.getAttribute("data-x")),this.core.s.useLeftForZoom?(r.style.left=s+"px",r.style.top=a+"px"):utils.setVendor(r,"Transform","translate3d("+s+"px, "+a+"px, 0)"))},r.prototype.destroy=function(){utils.off(this.core.el,".lgzoom"),utils.off(window,".lgzoom");for(var e=0;e=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),i.forEach(["post","put","patch"],(function(e){l.headers[e]=i.merge(o)})),e.exports=l},function(e,t,n){"use strict";var i=n(2);e.exports=function(e,t){i.forEach(e,(function(n,i){i!==t&&i.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[i])}))}},function(e,t,n){"use strict";var i=n(2),r=n(13),o=n(16),s=n(5),a=n(17),l=n(20),c=n(21),u=n(14);e.exports=function(e){return new Promise((function(t,n){var d=e.data,f=e.headers;i.isFormData(d)&&delete f["Content-Type"];var g=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",p=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";f.Authorization="Basic "+btoa(h+":"+p)}var m=a(e.baseURL,e.url);if(g.open(e.method.toUpperCase(),s(m,e.params,e.paramsSerializer),!0),g.timeout=e.timeout,g.onreadystatechange=function(){if(g&&4===g.readyState&&(0!==g.status||g.responseURL&&0===g.responseURL.indexOf("file:"))){var i="getAllResponseHeaders"in g?l(g.getAllResponseHeaders()):null,o={data:e.responseType&&"text"!==e.responseType?g.response:g.responseText,status:g.status,statusText:g.statusText,headers:i,config:e,request:g};r(t,n,o),g=null}},g.onabort=function(){g&&(n(u("Request aborted",e,"ECONNABORTED",g)),g=null)},g.onerror=function(){n(u("Network Error",e,null,g)),g=null},g.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(u(t,e,"ECONNABORTED",g)),g=null},i.isStandardBrowserEnv()){var b=(e.withCredentials||c(m))&&e.xsrfCookieName?o.read(e.xsrfCookieName):void 0;b&&(f[e.xsrfHeaderName]=b)}if("setRequestHeader"in g&&i.forEach(f,(function(e,t){void 0===d&&"content-type"===t.toLowerCase()?delete f[t]:g.setRequestHeader(t,e)})),i.isUndefined(e.withCredentials)||(g.withCredentials=!!e.withCredentials),e.responseType)try{g.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&g.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&g.upload&&g.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){g&&(g.abort(),n(e),g=null)})),d||(d=null),g.send(d)}))}},function(e,t,n){"use strict";var i=n(14);e.exports=function(e,t,n){var r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(i("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var i=n(15);e.exports=function(e,t,n,r,o){var s=new Error(e);return i(s,t,n,r,o)}},function(e,t){"use strict";e.exports=function(e,t,n,i,r){return e.config=t,n&&(e.code=n),e.request=i,e.response=r,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,n){"use strict";var i=n(2);e.exports=i.isStandardBrowserEnv()?{write:function(e,t,n,r,o,s){var a=[];a.push(e+"="+encodeURIComponent(t)),i.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),i.isString(r)&&a.push("path="+r),i.isString(o)&&a.push("domain="+o),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";var i=n(18),r=n(19);e.exports=function(e,t){return e&&!i(t)?r(e,t):t}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var i=n(2),r=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,o,s={};return e?(i.forEach(e.split("\n"),(function(e){if(o=e.indexOf(":"),t=i.trim(e.substr(0,o)).toLowerCase(),n=i.trim(e.substr(o+1)),t){if(s[t]&&r.indexOf(t)>=0)return;s[t]="set-cookie"===t?(s[t]?s[t]:[]).concat([n]):s[t]?s[t]+", "+n:n}})),s):s}},function(e,t,n){"use strict";var i=n(2);e.exports=i.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function r(e){var i=e;return t&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=r(window.location.href),function(t){var n=i.isString(t)?r(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var i=n(2);e.exports=function(e,t){t=t||{};var n={},r=["url","method","data"],o=["headers","auth","proxy","params"],s=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],a=["validateStatus"];function l(e,t){return i.isPlainObject(e)&&i.isPlainObject(t)?i.merge(e,t):i.isPlainObject(t)?i.merge({},t):i.isArray(t)?t.slice():t}function c(r){i.isUndefined(t[r])?i.isUndefined(e[r])||(n[r]=l(void 0,e[r])):n[r]=l(e[r],t[r])}i.forEach(r,(function(e){i.isUndefined(t[e])||(n[e]=l(void 0,t[e]))})),i.forEach(o,c),i.forEach(s,(function(r){i.isUndefined(t[r])?i.isUndefined(e[r])||(n[r]=l(void 0,e[r])):n[r]=l(void 0,t[r])})),i.forEach(a,(function(i){i in t?n[i]=l(e[i],t[i]):i in e&&(n[i]=l(void 0,e[i]))}));var u=r.concat(o).concat(s).concat(a),d=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===u.indexOf(e)}));return i.forEach(d,c),n}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";var i=n(23);function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new i(e),t(n.reason))}))}r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e;return{token:new r((function(t){e=t})),cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])})),
+/*!
+ * Bootstrap v5.0.0-alpha1 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).bootstrap=t()}(this,(function(){"use strict";function e(e,t){for(var n=0;n-1||(o=e),[i,r,o]}function q(e,t,n,i,r){if("string"==typeof t&&e){n||(n=i,i=null);var o=U(t,n,i),s=o[0],a=o[1],l=o[2],c=z(e),u=c[l]||(c[l]={}),d=H(u,a,s?n:null);if(d)d.oneOff=d.oneOff&&r;else{var f=P(a,t.replace(M,"")),g=s?function(e,t,n){return function i(r){for(var o=e.querySelectorAll(t),s=r.target;s&&s!==this;s=s.parentNode)for(var a=o.length;a--;)if(o[a]===s)return i.oneOff&&$.off(e,r.type,n),n.apply(s,[r]);return null}}(e,n,i):function(e,t){return function n(i){return n.oneOff&&$.off(e,i.type,t),t.apply(e,[i])}}(e,n);g.delegationSelector=s?n:null,g.originalHandler=a,g.oneOff=r,g.uidEvent=f,u[f]=g,e.addEventListener(l,g,s)}}}function F(e,t,n,i,r){var o=H(t[n],i,r);o&&(e.removeEventListener(n,o,Boolean(r)),delete t[n][o.uidEvent])}var $={on:function(e,t,n,i){q(e,t,n,i,!1)},one:function(e,t,n,i){q(e,t,n,i,!0)},off:function(e,t,n,i){if("string"==typeof t&&e){var r=U(t,n,i),o=r[0],s=r[1],a=r[2],l=a!==t,c=z(e),u="."===t.charAt(0);if(void 0===s){u&&Object.keys(c).forEach((function(n){!function(e,t,n,i){var r=t[n]||{};Object.keys(r).forEach((function(o){if(o.indexOf(i)>-1){var s=r[o];F(e,t,n,s.originalHandler,s.delegationSelector)}}))}(e,c,n,t.slice(1))}));var d=c[a]||{};Object.keys(d).forEach((function(n){var i=n.replace(D,"");if(!l||t.indexOf(i)>-1){var r=d[n];F(e,c,a,r.originalHandler,r.delegationSelector)}}))}else{if(!c||!c[a])return;F(e,c,a,s,o?n:null)}}},trigger:function(e,t,n){if("string"!=typeof t||!e)return null;var i,r=t.replace(L,""),o=t!==r,s=B.indexOf(r)>-1,a=!0,l=!0,c=!1,u=null;return o&&A&&(i=A.Event(t,n),A(e).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),s?(u=document.createEvent("HTMLEvents")).initEvent(r,a,!0):u=new CustomEvent(t,{bubbles:a,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(e){Object.defineProperty(u,e,{get:function(){return n[e]}})})),c&&(u.preventDefault(),T||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&e.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},K="alert",W=function(){function e(e){this._element=e,this._element&&N(e,"bs.alert",this)}var n=e.prototype;return n.close=function(e){var t=this._element;e&&(t=this._getRootElement(e));var n=this._triggerCloseEvent(t);null===n||n.defaultPrevented||this._removeElement(t)},n.dispose=function(){x(this._element,"bs.alert"),this._element=null},n._getRootElement=function(e){return f(e)||e.closest(".alert")},n._triggerCloseEvent=function(e){return $.trigger(e,"close.bs.alert")},n._removeElement=function(e){var t=this;if(e.classList.remove("show"),e.classList.contains("fade")){var n=g(e);$.one(e,"transitionend",(function(){return t._destroyElement(e)})),m(e,n)}else this._destroyElement(e)},n._destroyElement=function(e){e.parentNode&&e.parentNode.removeChild(e),$.trigger(e,"closed.bs.alert")},e.jQueryInterface=function(t){return this.each((function(){var n=C(this,"bs.alert");n||(n=new e(this)),"close"===t&&n[t](this)}))},e.handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},e.getInstance=function(e){return C(e,"bs.alert")},t(e,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),e}();$.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',W.handleDismiss(new W));var G=E();if(G){var Z=G.fn[K];G.fn[K]=W.jQueryInterface,G.fn[K].Constructor=W,G.fn[K].noConflict=function(){return G.fn[K]=Z,W.jQueryInterface}}var V=function(){function e(e){this._element=e,N(e,"bs.button",this)}var n=e.prototype;return n.toggle=function(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))},n.dispose=function(){x(this._element,"bs.button"),this._element=null},e.jQueryInterface=function(t){return this.each((function(){var n=C(this,"bs.button");n||(n=new e(this)),"toggle"===t&&n[t]()}))},e.getInstance=function(e){return C(e,"bs.button")},t(e,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),e}();$.on(document,"click.bs.button.data-api",'[data-toggle="button"]',(function(e){e.preventDefault();var t=e.target.closest('[data-toggle="button"]'),n=C(t,"bs.button");n||(n=new V(t)),n.toggle()}));var Q=E();if(Q){var Y=Q.fn.button;Q.fn.button=V.jQueryInterface,Q.fn.button.Constructor=V,Q.fn.button.noConflict=function(){return Q.fn.button=Y,V.jQueryInterface}}function X(e){return"true"===e||"false"!==e&&(e===Number(e).toString()?Number(e):""===e||"null"===e?null:e)}function J(e){return e.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()}))}var ee={setDataAttribute:function(e,t,n){e.setAttribute("data-"+J(t),n)},removeDataAttribute:function(e,t){e.removeAttribute("data-"+J(t))},getDataAttributes:function(e){if(!e)return{};var t=r({},e.dataset);return Object.keys(t).forEach((function(e){t[e]=X(t[e])})),t},getDataAttribute:function(e,t){return X(e.getAttribute("data-"+J(t)))},offset:function(e){var t=e.getBoundingClientRect();return{top:t.top+document.body.scrollTop,left:t.left+document.body.scrollLeft}},position:function(e){return{top:e.offsetTop,left:e.offsetLeft}},toggleClass:function(e,t){e&&(e.classList.contains(t)?e.classList.remove(t):e.classList.add(t))}},te={matches:function(e,t){return e.matches(t)},find:function(e,t){var n;return void 0===t&&(t=document.documentElement),(n=[]).concat.apply(n,S.call(t,e))},findOne:function(e,t){return void 0===t&&(t=document.documentElement),O.call(t,e)},children:function(e,t){var n,i=(n=[]).concat.apply(n,e.children);return i.filter((function(e){return e.matches(t)}))},parents:function(e,t){for(var n=[],i=e.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,t)&&n.push(i),i=i.parentNode;return n},prev:function(e,t){for(var n=e.previousElementSibling;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next:function(e,t){for(var n=e.nextElementSibling;n;){if(this.matches(n,t))return[n];n=n.nextElementSibling}return[]}},ne="carousel",ie=".bs.carousel",re={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},oe={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},se={TOUCH:"touch",PEN:"pen"},ae=function(){function e(e,t){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(t),this._element=e,this._indicatorsElement=te.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners(),N(e,"bs.carousel",this)}var n=e.prototype;return n.next=function(){this._isSliding||this._slide("next")},n.nextWhenVisible=function(){!document.hidden&&_(this._element)&&this.next()},n.prev=function(){this._isSliding||this._slide("prev")},n.pause=function(e){e||(this._isPaused=!0),te.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(h(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(e){var t=this;this._activeElement=te.findOne(".active.carousel-item",this._element);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)$.one(this._element,"slid.bs.carousel",(function(){return t.to(e)}));else{if(n===e)return this.pause(),void this.cycle();var i=e>n?"next":"prev";this._slide(i,this._items[e])}},n.dispose=function(){$.off(this._element,ie),x(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(e){return e=r(r({},re),e),b(ne,e,oe),e},n._handleSwipe=function(){var e=Math.abs(this.touchDeltaX);if(!(e<=40)){var t=e/this.touchDeltaX;this.touchDeltaX=0,t>0&&this.prev(),t<0&&this.next()}},n._addEventListeners=function(){var e=this;this._config.keyboard&&$.on(this._element,"keydown.bs.carousel",(function(t){return e._keydown(t)})),"hover"===this._config.pause&&($.on(this._element,"mouseenter.bs.carousel",(function(t){return e.pause(t)})),$.on(this._element,"mouseleave.bs.carousel",(function(t){return e.cycle(t)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var e=this,t=function(t){e._pointerEvent&&se[t.pointerType.toUpperCase()]?e.touchStartX=t.clientX:e._pointerEvent||(e.touchStartX=t.touches[0].clientX)},n=function(t){e._pointerEvent&&se[t.pointerType.toUpperCase()]&&(e.touchDeltaX=t.clientX-e.touchStartX),e._handleSwipe(),"hover"===e._config.pause&&(e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout((function(t){return e.cycle(t)}),500+e._config.interval))};te.find(".carousel-item img",this._element).forEach((function(e){$.on(e,"dragstart.bs.carousel",(function(e){return e.preventDefault()}))})),this._pointerEvent?($.on(this._element,"pointerdown.bs.carousel",(function(e){return t(e)})),$.on(this._element,"pointerup.bs.carousel",(function(e){return n(e)})),this._element.classList.add("pointer-event")):($.on(this._element,"touchstart.bs.carousel",(function(e){return t(e)})),$.on(this._element,"touchmove.bs.carousel",(function(t){return function(t){t.touches&&t.touches.length>1?e.touchDeltaX=0:e.touchDeltaX=t.touches[0].clientX-e.touchStartX}(t)})),$.on(this._element,"touchend.bs.carousel",(function(e){return n(e)})))},n._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.key){case"ArrowLeft":e.preventDefault(),this.prev();break;case"ArrowRight":e.preventDefault(),this.next()}},n._getItemIndex=function(e){return this._items=e&&e.parentNode?te.find(".carousel-item",e.parentNode):[],this._items.indexOf(e)},n._getItemByDirection=function(e,t){var n="next"===e,i="prev"===e,r=this._getItemIndex(t),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return t;var s=(r+("prev"===e?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},n._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),i=this._getItemIndex(te.findOne(".active.carousel-item",this._element));return $.trigger(this._element,"slide.bs.carousel",{relatedTarget:e,direction:t,from:i,to:n})},n._setActiveIndicatorElement=function(e){if(this._indicatorsElement){for(var t=te.find(".active",this._indicatorsElement),n=0;n0)for(var i=0;i=0)return 1;return 0}();var _e=me&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then((function(){t=!1,e()})))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout((function(){t=!1,e()}),be))}};function ve(e){return e&&"[object Function]"==={}.toString.call(e)}function ye(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function Ee(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function we(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=ye(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/(auto|scroll|overlay)/.test(n+r+i)?e:we(Ee(e))}function Ne(e){return e&&e.referenceNode?e.referenceNode:e}var Ce=me&&!(!window.MSInputMethodContext||!document.documentMode),xe=me&&/MSIE 10/.test(navigator.userAgent);function Se(e){return 11===e?Ce:10===e?xe:Ce||xe}function Oe(e){if(!e)return document.documentElement;for(var t=Se(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===ye(n,"position")?Oe(n):n:e?e.ownerDocument.documentElement:document.documentElement}function Te(e){return null!==e.parentNode?Te(e.parentNode):e}function ke(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?e:t,r=n?t:e,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);var s=o.commonAncestorContainer;if(e!==s&&t!==s||i.contains(r))return function(e){var t=e.nodeName;return"BODY"!==t&&("HTML"===t||Oe(e.firstElementChild)===e)}(s)?s:Oe(s);var a=Te(e);return a.host?ke(a.host,t):ke(e,Te(t).host)}function Ae(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===t?"scrollTop":"scrollLeft",i=e.nodeName;if("BODY"===i||"HTML"===i){var r=e.ownerDocument.documentElement,o=e.ownerDocument.scrollingElement||r;return o[n]}return e[n]}function Me(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Ae(t,"top"),r=Ae(t,"left"),o=n?-1:1;return e.top+=i*o,e.bottom+=i*o,e.left+=r*o,e.right+=r*o,e}function Le(e,t){var n="x"===t?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+i+"Width"],10)}function De(e,t,n,i){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],Se(10)?parseInt(n["offset"+e])+parseInt(i["margin"+("Height"===e?"Top":"Left")])+parseInt(i["margin"+("Height"===e?"Bottom":"Right")]):0)}function Ie(e){var t=e.body,n=e.documentElement,i=Se(10)&&getComputedStyle(n);return{height:De("Height",t,n,i),width:De("Width",t,n,i)}}var Re=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},je=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=Se(10),r="HTML"===t.nodeName,o=He(e),s=He(t),a=we(e),l=ye(t),c=parseFloat(l.borderTopWidth,10),u=parseFloat(l.borderLeftWidth,10);n&&r&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var d=ze({top:o.top-s.top-c,left:o.left-s.left-u,width:o.width,height:o.height});if(d.marginTop=0,d.marginLeft=0,!i&&r){var f=parseFloat(l.marginTop,10),g=parseFloat(l.marginLeft,10);d.top-=c-f,d.bottom-=c-f,d.left-=u-g,d.right-=u-g,d.marginTop=f,d.marginLeft=g}return(i&&!n?t.contains(a):t===a&&"BODY"!==a.nodeName)&&(d=Me(d,t)),d}function qe(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,i=Ue(e,n),r=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),s=t?0:Ae(n),a=t?0:Ae(n,"left"),l={top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:r,height:o};return ze(l)}function Fe(e){var t=e.nodeName;if("BODY"===t||"HTML"===t)return!1;if("fixed"===ye(e,"position"))return!0;var n=Ee(e);return!!n&&Fe(n)}function $e(e){if(!e||!e.parentElement||Se())return document.documentElement;for(var t=e.parentElement;t&&"none"===ye(t,"transform");)t=t.parentElement;return t||document.documentElement}function Ke(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},s=r?$e(e):ke(e,Ne(t));if("viewport"===i)o=qe(s,r);else{var a=void 0;"scrollParent"===i?"BODY"===(a=we(Ee(t))).nodeName&&(a=e.ownerDocument.documentElement):a="window"===i?e.ownerDocument.documentElement:i;var l=Ue(a,s,r);if("HTML"!==a.nodeName||Fe(s))o=l;else{var c=Ie(e.ownerDocument),u=c.height,d=c.width;o.top+=l.top-l.marginTop,o.bottom=u+l.top,o.left+=l.left-l.marginLeft,o.right=d+l.left}}var f="number"==typeof(n=n||0);return o.left+=f?n:n.left||0,o.top+=f?n:n.top||0,o.right-=f?n:n.right||0,o.bottom-=f?n:n.bottom||0,o}function We(e){return e.width*e.height}function Ge(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var s=Ke(n,i,o,r),a={top:{width:s.width,height:t.top-s.top},right:{width:s.right-t.right,height:s.height},bottom:{width:s.width,height:s.bottom-t.bottom},left:{width:t.left-s.left,height:s.height}},l=Object.keys(a).map((function(e){return Pe({key:e},a[e],{area:We(a[e])})})).sort((function(e,t){return t.area-e.area})),c=l.filter((function(e){var t=e.width,i=e.height;return t>=n.clientWidth&&i>=n.clientHeight})),u=c.length>0?c[0].key:l[0].key,d=e.split("-")[1];return u+(d?"-"+d:"")}function Ze(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,r=i?$e(t):ke(t,Ne(n));return Ue(n,r,i)}function Ve(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),i=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+i,height:e.offsetHeight+n}}function Qe(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,(function(e){return t[e]}))}function Ye(e,t,n){n=n.split("-")[0];var i=Ve(e),r={width:i.width,height:i.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",l=o?"height":"width",c=o?"width":"height";return r[s]=t[s]+t[l]/2-i[l]/2,r[a]=n===a?t[a]-i[c]:t[Qe(a)],r}function Xe(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function Je(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex((function(e){return e[t]===n}));var i=Xe(e,(function(e){return e[t]===n}));return e.indexOf(i)}(e,"name",n))).forEach((function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&ve(n)&&(t.offsets.popper=ze(t.offsets.popper),t.offsets.reference=ze(t.offsets.reference),t=n(t,e))})),t}function et(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=Ze(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=Ge(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=Ye(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=Je(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function tt(e,t){return e.some((function(e){var n=e.name;return e.enabled&&n===t}))}function nt(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=gt.indexOf(e),i=gt.slice(n+1).concat(gt.slice(0,n));return t?i.reverse():i}var pt="flip",mt="clockwise",bt="counterclockwise";function _t(e,t,n,i){var r=[0,0],o=-1!==["right","left"].indexOf(i),s=e.split(/(\+|\-)/).map((function(e){return e.trim()})),a=s.indexOf(Xe(s,(function(e){return-1!==e.search(/,|\s/)})));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map((function(e,i){var r=(1===i?!o:o)?"height":"width",s=!1;return e.reduce((function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,s=!0,e):s?(e[e.length-1]+=t,s=!1,e):e.concat(t)}),[]).map((function(e){return function(e,t,n,i){var r=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+r[1],s=r[2];if(!o)return e;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return ze(a)[t]/100*o}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o}return o}(e,r,t,n)}))}))).forEach((function(e,t){e.forEach((function(n,i){lt(n)&&(r[t]+=n*("-"===e[i-1]?-1:1))}))})),r}var vt={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],i=t.split("-")[1];if(i){var r=e.offsets,o=r.reference,s=r.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",u={start:Be({},l,o[l]),end:Be({},l,o[l]+o[c]-s[c])};e.offsets.popper=Pe({},s,u[i])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,i=e.placement,r=e.offsets,o=r.popper,s=r.reference,a=i.split("-")[0],l=void 0;return l=lt(+n)?[+n,0]:_t(n,o,s,a),"left"===a?(o.top+=l[0],o.left-=l[1]):"right"===a?(o.top+=l[0],o.left+=l[1]):"top"===a?(o.left+=l[0],o.top-=l[1]):"bottom"===a&&(o.left+=l[0],o.top+=l[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||Oe(e.instance.popper);e.instance.reference===n&&(n=Oe(n));var i=nt("transform"),r=e.instance.popper.style,o=r.top,s=r.left,a=r[i];r.top="",r.left="",r[i]="";var l=Ke(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);r.top=o,r.left=s,r[i]=a,t.boundaries=l;var c=t.priority,u=e.offsets.popper,d={primary:function(e){var n=u[e];return u[e]l[e]&&!t.escapeWithReference&&(i=Math.min(u[n],l[e]-("right"===e?u.width:u.height))),Be({},n,i)}};return c.forEach((function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";u=Pe({},u,d[t](e))})),e.offsets.popper=u,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,i=t.reference,r=e.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]o(i[a])&&(e.offsets.popper[l]=o(i[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!dt(e.instance.modifiers,"arrow","keepTogether"))return e;var i=t.element;if("string"==typeof i){if(!(i=e.instance.popper.querySelector(i)))return e}else if(!e.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var r=e.placement.split("-")[0],o=e.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(r),c=l?"height":"width",u=l?"Top":"Left",d=u.toLowerCase(),f=l?"left":"top",g=l?"bottom":"right",h=Ve(i)[c];a[g]-hs[g]&&(e.offsets.popper[d]+=a[d]+h-s[g]),e.offsets.popper=ze(e.offsets.popper);var p=a[d]+a[c]/2-h/2,m=ye(e.instance.popper),b=parseFloat(m["margin"+u],10),_=parseFloat(m["border"+u+"Width"],10),v=p-e.offsets.popper[d]-b-_;return v=Math.max(Math.min(s[c]-h,v),0),e.arrowElement=i,e.offsets.arrow=(Be(n={},d,Math.round(v)),Be(n,f,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(tt(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=Ke(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),i=e.placement.split("-")[0],r=Qe(i),o=e.placement.split("-")[1]||"",s=[];switch(t.behavior){case pt:s=[i,r];break;case mt:s=ht(i);break;case bt:s=ht(i,!0);break;default:s=t.behavior}return s.forEach((function(a,l){if(i!==a||s.length===l+1)return e;i=e.placement.split("-")[0],r=Qe(i);var c=e.offsets.popper,u=e.offsets.reference,d=Math.floor,f="left"===i&&d(c.right)>d(u.left)||"right"===i&&d(c.left)d(u.top)||"bottom"===i&&d(c.top)d(n.right),p=d(c.top)d(n.bottom),b="left"===i&&g||"right"===i&&h||"top"===i&&p||"bottom"===i&&m,_=-1!==["top","bottom"].indexOf(i),v=!!t.flipVariations&&(_&&"start"===o&&g||_&&"end"===o&&h||!_&&"start"===o&&p||!_&&"end"===o&&m),y=!!t.flipVariationsByContent&&(_&&"start"===o&&h||_&&"end"===o&&g||!_&&"start"===o&&m||!_&&"end"===o&&p),E=v||y;(f||b||E)&&(e.flipped=!0,(f||b)&&(i=s[l+1]),E&&(o=function(e){return"end"===e?"start":"start"===e?"end":e}(o)),e.placement=i+(o?"-"+o:""),e.offsets.popper=Pe({},e.offsets.popper,Ye(e.instance.popper,e.offsets.reference,e.placement)),e=Je(e.instance.modifiers,e,"flip"))})),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],i=e.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),e.placement=Qe(t),e.offsets.popper=ze(r),e}},hide:{order:800,enabled:!0,fn:function(e){if(!dt(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=Xe(e.instance.modifiers,(function(e){return"preventOverflow"===e.name})).boundaries;if(t.bottomn.right||t.top>n.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};Re(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=_e(this.update.bind(this)),this.options=Pe({},e.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(Pe({},e.Defaults.modifiers,r.modifiers)).forEach((function(t){i.options.modifiers[t]=Pe({},e.Defaults.modifiers[t]||{},r.modifiers?r.modifiers[t]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(e){return Pe({name:e},i.options.modifiers[e])})).sort((function(e,t){return e.order-t.order})),this.modifiers.forEach((function(e){e.enabled&&ve(e.onLoad)&&e.onLoad(i.reference,i.popper,i.options,e,i.state)})),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return je(e,[{key:"update",value:function(){return et.call(this)}},{key:"destroy",value:function(){return it.call(this)}},{key:"enableEventListeners",value:function(){return st.call(this)}},{key:"disableEventListeners",value:function(){return at.call(this)}}]),e}();yt.Utils=("undefined"!=typeof window?window:global).PopperUtils,yt.placements=ft,yt.Defaults=vt;var Et="dropdown",wt=new RegExp("ArrowUp|ArrowDown|Escape"),Nt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Ct={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},xt=function(){function e(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),N(e,"bs.dropdown",this)}var n=e.prototype;return n.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var t=this._element.classList.contains("show");e.clearMenus(),t||this.show()}},n.show=function(){if(!(this._element.disabled||this._element.classList.contains("disabled")||this._menu.classList.contains("show"))){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};if(!$.trigger(this._element,"show.bs.dropdown",n).defaultPrevented){if(!this._inNavbar){if(void 0===yt)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=t:p(this._config.reference)&&(i=this._config.reference,void 0!==this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&t.classList.add("position-static"),this._popper=new yt(i,this._menu,this._getPopperConfig())}var r;if("ontouchstart"in document.documentElement&&!t.closest(".navbar-nav"))(r=[]).concat.apply(r,document.body.children).forEach((function(e){return $.on(e,"mouseover",null,(function(){}))}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),ee.toggleClass(this._menu,"show"),ee.toggleClass(this._element,"show"),$.trigger(t,"shown.bs.dropdown",n)}}},n.hide=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")&&this._menu.classList.contains("show")){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};$.trigger(t,"hide.bs.dropdown",n).defaultPrevented||(this._popper&&this._popper.destroy(),ee.toggleClass(this._menu,"show"),ee.toggleClass(this._element,"show"),$.trigger(t,"hidden.bs.dropdown",n))}},n.dispose=function(){x(this._element,"bs.dropdown"),$.off(this._element,".bs.dropdown"),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},n.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},n._addEventListeners=function(){var e=this;$.on(this._element,"click.bs.dropdown",(function(t){t.preventDefault(),t.stopPropagation(),e.toggle()}))},n._getConfig=function(e){return e=r(r(r({},this.constructor.Default),ee.getDataAttributes(this._element)),e),b(Et,e,this.constructor.DefaultType),e},n._getMenuElement=function(){return te.next(this._element,".dropdown-menu")[0]},n._getPlacement=function(){var e=this._element.parentNode,t="bottom-start";return e.classList.contains("dropup")?(t="top-start",this._menu.classList.contains("dropdown-menu-right")&&(t="top-end")):e.classList.contains("dropright")?t="right-start":e.classList.contains("dropleft")?t="left-start":this._menu.classList.contains("dropdown-menu-right")&&(t="bottom-end"),t},n._detectNavbar=function(){return Boolean(this._element.closest(".navbar"))},n._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=r(r({},t.offsets),e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},n._getPopperConfig=function(){var e={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(e.modifiers.applyStyle={enabled:!1}),r(r({},e),this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=C(t,"bs.dropdown");if(i||(i=new e(t,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.dropdownInterface(this,t)}))},e.clearMenus=function(t){if(!t||2!==t.button&&("keyup"!==t.type||"Tab"===t.key))for(var n=te.find('[data-toggle="dropdown"]'),i=0,r=n.length;i0&&o--,"ArrowDown"===t.key&&odocument.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(e.left+e.right)
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:jt,popperConfig:null},$t={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},Kt=function(){function e(e,t){if(void 0===yt)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners(),N(e,this.constructor.DATA_KEY,this)}var n=e.prototype;return n.enable=function(){this._isEnabled=!0},n.disable=function(){this._isEnabled=!1},n.toggleEnabled=function(){this._isEnabled=!this._isEnabled},n.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=C(e.target,t);n||(n=new this.constructor(e.target,this._getDelegateConfig()),N(e.target,t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}},n.dispose=function(){clearTimeout(this._timeout),x(this.element,this.constructor.DATA_KEY),$.off(this.element,this.constructor.EVENT_KEY),$.off(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},n.show=function(){var e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var t=$.trigger(this.element,this.constructor.Event.SHOW),n=function e(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var n=t.getRootNode();return n instanceof ShadowRoot?n:null}return t instanceof ShadowRoot?t:t.parentNode?e(t.parentNode):null}(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(t.defaultPrevented||!i)return;var r=this.getTipElement(),o=c(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&r.classList.add("fade");var s="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,a=this._getAttachment(s);this._addAttachmentClass(a);var l,u=this._getContainer();if(N(r,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||u.appendChild(r),$.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new yt(this.element,r,this._getPopperConfig(a)),r.classList.add("show"),"ontouchstart"in document.documentElement)(l=[]).concat.apply(l,document.body.children).forEach((function(e){$.on(e,"mouseover",(function(){}))}));var d=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,$.trigger(e.element,e.constructor.Event.SHOWN),"out"===t&&e._leave(null,e)};if(this.tip.classList.contains("fade")){var f=g(this.tip);$.one(this.tip,"transitionend",d),m(this.tip,f)}else d()}},n.hide=function(){var e=this,t=this.getTipElement(),n=function(){"show"!==e._hoverState&&t.parentNode&&t.parentNode.removeChild(t),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),$.trigger(e.element,e.constructor.Event.HIDDEN),e._popper.destroy()};if(!$.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){var i;if(t.classList.remove("show"),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(e){return $.off(e,"mouseover",v)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var r=g(t);$.one(t,"transitionend",n),m(t,r)}else n();this._hoverState=""}},n.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},n.isWithContent=function(){return Boolean(this.getTitle())},n.getTipElement=function(){if(this.tip)return this.tip;var e=document.createElement("div");return e.innerHTML=this.config.template,this.tip=e.children[0],this.tip},n.setContent=function(){var e=this.getTipElement();this.setElementContent(te.findOne(".tooltip-inner",e),this.getTitle()),e.classList.remove("fade","show")},n.setElementContent=function(e,t){if(null!==e)return"object"==typeof t&&p(t)?(t.jquery&&(t=t[0]),void(this.config.html?t.parentNode!==e&&(e.innerHTML="",e.appendChild(t)):e.textContent=t.textContent)):void(this.config.html?(this.config.sanitize&&(t=Bt(t,this.config.whiteList,this.config.sanitizeFn)),e.innerHTML=t):e.textContent=t)},n.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},n._getPopperConfig=function(e){var t=this;return r(r({},{placement:e,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}}),this.config.popperConfig)},n._addAttachmentClass=function(e){this.getTipElement().classList.add("bs-tooltip-"+e)},n._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=r(r({},t.offsets),e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},n._getContainer=function(){return!1===this.config.container?document.body:p(this.config.container)?this.config.container:te.findOne(this.config.container)},n._getAttachment=function(e){return qt[e.toUpperCase()]},n._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach((function(t){if("click"===t)$.on(e.element,e.constructor.Event.CLICK,e.config.selector,(function(t){return e.toggle(t)}));else if("manual"!==t){var n="hover"===t?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,i="hover"===t?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;$.on(e.element,n,e.config.selector,(function(t){return e._enter(t)})),$.on(e.element,i,e.config.selector,(function(t){return e._leave(t)}))}})),this._hideModalHandler=function(){e.element&&e.hide()},$.on(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r(r({},this.config),{},{trigger:"manual",selector:""}):this._fixTitle()},n._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},n._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||C(e.target,n))||(t=new this.constructor(e.target,this._getDelegateConfig()),N(e.target,n,t)),e&&(t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0),t.getTipElement().classList.contains("show")||"show"===t._hoverState?t._hoverState="show":(clearTimeout(t._timeout),t._hoverState="show",t.config.delay&&t.config.delay.show?t._timeout=setTimeout((function(){"show"===t._hoverState&&t.show()}),t.config.delay.show):t.show())},n._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||C(e.target,n))||(t=new this.constructor(e.target,this._getDelegateConfig()),N(e.target,n,t)),e&&(t._activeTrigger["focusout"===e.type?"focus":"hover"]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState="out",t.config.delay&&t.config.delay.hide?t._timeout=setTimeout((function(){"out"===t._hoverState&&t.hide()}),t.config.delay.hide):t.hide())},n._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},n._getConfig=function(e){var t=ee.getDataAttributes(this.element);return Object.keys(t).forEach((function(e){-1!==Ht.indexOf(e)&&delete t[e]})),e&&"object"==typeof e.container&&e.container.jquery&&(e.container=e.container[0]),"number"==typeof(e=r(r(r({},this.constructor.Default),t),"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),b(Pt,e,this.constructor.DefaultType),e.sanitize&&(e.template=Bt(e.template,e.whiteList,e.sanitizeFn)),e},n._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},n._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(zt);null!==t&&t.length>0&&t.map((function(e){return e.trim()})).forEach((function(t){return e.classList.remove(t)}))},n._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement))},n._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(e.classList.remove("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},e.jQueryInterface=function(t){return this.each((function(){var n=C(this,"bs.tooltip"),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i)),"string"==typeof t)){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return C(e,"bs.tooltip")},t(e,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Ft}},{key:"NAME",get:function(){return Pt}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return $t}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Ut}}]),e}(),Wt=E();if(Wt){var Gt=Wt.fn[Pt];Wt.fn[Pt]=Kt.jQueryInterface,Wt.fn[Pt].Constructor=Kt,Wt.fn[Pt].noConflict=function(){return Wt.fn[Pt]=Gt,Kt.jQueryInterface}}var Zt="popover",Vt=new RegExp("(^|\\s)bs-popover\\S+","g"),Qt=r(r({},Kt.Default),{},{placement:"right",trigger:"click",content:"",template:''}),Yt=r(r({},Kt.DefaultType),{},{content:"(string|element|function)"}),Xt={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Jt=function(e){var n,i;function r(){return e.apply(this,arguments)||this}i=e,(n=r).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var o=r.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.setContent=function(){var e=this.getTipElement();this.setElementContent(te.findOne(".popover-header",e),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(te.findOne(".popover-body",e),t),e.classList.remove("fade","show")},o._addAttachmentClass=function(e){this.getTipElement().classList.add("bs-popover-"+e)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(Vt);null!==t&&t.length>0&&t.map((function(e){return e.trim()})).forEach((function(t){return e.classList.remove(t)}))},r.jQueryInterface=function(e){return this.each((function(){var t=C(this,"bs.popover"),n="object"==typeof e?e:null;if((t||!/dispose|hide/.test(e))&&(t||(t=new r(this,n),N(this,"bs.popover",t)),"string"==typeof e)){if(void 0===t[e])throw new TypeError('No method named "'+e+'"');t[e]()}}))},r.getInstance=function(e){return C(e,"bs.popover")},t(r,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Qt}},{key:"NAME",get:function(){return Zt}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Xt}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Yt}}]),r}(Kt),en=E();if(en){var tn=en.fn[Zt];en.fn[Zt]=Jt.jQueryInterface,en.fn[Zt].Constructor=Jt,en.fn[Zt].noConflict=function(){return en.fn[Zt]=tn,Jt.jQueryInterface}}var nn="scrollspy",rn={offset:10,method:"auto",target:""},on={offset:"number",method:"string",target:"(string|element)"},sn=function(){function e(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,$.on(this._scrollElement,"scroll.bs.scrollspy",(function(e){return n._process(e)})),this.refresh(),this._process(),N(e,"bs.scrollspy",this)}var n=e.prototype;return n.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?t:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),te.find(this._selector).map((function(e){var t,r=d(e);if(r&&(t=te.findOne(r)),t){var o=t.getBoundingClientRect();if(o.width||o.height)return[ee[n](t).top+i,r]}return null})).filter((function(e){return e})).sort((function(e,t){return e[0]-t[0]})).forEach((function(t){e._offsets.push(t[0]),e._targets.push(t[1])}))},n.dispose=function(){x(this._element,"bs.scrollspy"),$.off(this._scrollElement,".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(e){if("string"!=typeof(e=r(r({},rn),"object"==typeof e&&e?e:{})).target&&p(e.target)){var t=e.target.id;t||(t=c(nn),e.target.id=t),e.target="#"+t}return b(nn,e,on),e},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),e>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&e0)return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&e>=this._offsets[r]&&(void 0===this._offsets[r+1]||e li > .active":".active";t=(t=te.find(r,i))[t.length-1]}var o=null;if(t&&(o=$.trigger(t,"hide.bs.tab",{relatedTarget:this._element})),!($.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==o&&o.defaultPrevented)){this._activate(this._element,i);var s=function(){$.trigger(t,"hidden.bs.tab",{relatedTarget:e._element}),$.trigger(e._element,"shown.bs.tab",{relatedTarget:t})};n?this._activate(n,n.parentNode,s):s()}}},n.dispose=function(){x(this._element,"bs.tab"),this._element=null},n._activate=function(e,t,n){var i=this,r=(!t||"UL"!==t.nodeName&&"OL"!==t.nodeName?te.children(t,".active"):te.find(":scope > li > .active",t))[0],o=n&&r&&r.classList.contains("fade"),s=function(){return i._transitionComplete(e,r,n)};if(r&&o){var a=g(r);r.classList.remove("show"),$.one(r,"transitionend",s),m(r,a)}else s()},n._transitionComplete=function(e,t,n){if(t){t.classList.remove("active");var i=te.findOne(":scope > .dropdown-menu .active",t.parentNode);i&&i.classList.remove("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}(e.classList.add("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),y(e),e.classList.contains("fade")&&e.classList.add("show"),e.parentNode&&e.parentNode.classList.contains("dropdown-menu"))&&(e.closest(".dropdown")&&te.find(".dropdown-toggle").forEach((function(e){return e.classList.add("active")})),e.setAttribute("aria-expanded",!0));n&&n()},e.jQueryInterface=function(t){return this.each((function(){var n=C(this,"bs.tab")||new e(this);if("string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return C(e,"bs.tab")},t(e,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),e}();$.on(document,"click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(e){e.preventDefault(),(C(this,"bs.tab")||new cn(this)).show()}));var un=E();if(un){var dn=un.fn.tab;un.fn.tab=cn.jQueryInterface,un.fn.tab.Constructor=cn,un.fn.tab.noConflict=function(){return un.fn.tab=dn,cn.jQueryInterface}}var fn={animation:"boolean",autohide:"boolean",delay:"number"},gn={animation:!0,autohide:!0,delay:500},hn=function(){function e(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners(),N(e,"bs.toast",this)}var n=e.prototype;return n.show=function(){var e=this;if(!$.trigger(this._element,"show.bs.toast").defaultPrevented){this._config.animation&&this._element.classList.add("fade");var t=function(){e._element.classList.remove("showing"),e._element.classList.add("show"),$.trigger(e._element,"shown.bs.toast"),e._config.autohide&&(e._timeout=setTimeout((function(){e.hide()}),e._config.delay))};if(this._element.classList.remove("hide"),y(this._element),this._element.classList.add("showing"),this._config.animation){var n=g(this._element);$.one(this._element,"transitionend",t),m(this._element,n)}else t()}},n.hide=function(){var e=this;if(this._element.classList.contains("show")&&!$.trigger(this._element,"hide.bs.toast").defaultPrevented){var t=function(){e._element.classList.add("hide"),$.trigger(e._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=g(this._element);$.one(this._element,"transitionend",t),m(this._element,n)}else t()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),$.off(this._element,"click.dismiss.bs.toast"),x(this._element,"bs.toast"),this._element=null,this._config=null},n._getConfig=function(e){return e=r(r(r({},gn),ee.getDataAttributes(this._element)),"object"==typeof e&&e?e:{}),b("toast",e,this.constructor.DefaultType),e},n._setListeners=function(){var e=this;$.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return e.hide()}))},e.jQueryInterface=function(t){return this.each((function(){var n=C(this,"bs.toast");if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t](this)}}))},e.getInstance=function(e){return C(e,"bs.toast")},t(e,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"DefaultType",get:function(){return fn}},{key:"Default",get:function(){return gn}}]),e}(),pn=E();if(pn){var mn=pn.fn.toast;pn.fn.toast=hn.jQueryInterface,pn.fn.toast.Constructor=hn,pn.fn.toast.noConflict=function(){return pn.fn.toast=mn,hn.jQueryInterface}}return{Alert:W,Button:V,Carousel:ae,Collapse:ge,Dropdown:xt,Modal:At,Popover:Jt,ScrollSpy:sn,Tab:cn,Toast:hn,Tooltip:Kt}})),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ClipboardJS=t():e.ClipboardJS=t()}(this,(function(){return n={},e.m=t=[function(e,t){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var i=window.getSelection(),r=document.createRange();r.selectNodeContents(e),i.removeAllRanges(),i.addRange(r),t=i.toString()}return t}},function(e,t){function n(){}n.prototype={on:function(e,t,n){var i=this.e||(this.e={});return(i[e]||(i[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){var i=this;function r(){i.off(e,r),t.apply(n,arguments)}return r._=t,this.on(e,r,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),i=0,r=n.length;i /g,">").replace(/"/g,""").replace(/'/g,"'")}function i(e,...t){var n={};for(const t in e)n[t]=e[t];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}function r(e){return e.nodeName.toLowerCase()}var o=Object.freeze({__proto__:null,escapeHTML:n,inherit:i,nodeStream:function(e){var t=[];return function e(n,i){for(var o=n.firstChild;o;o=o.nextSibling)3===o.nodeType?i+=o.nodeValue.length:1===o.nodeType&&(t.push({event:"start",offset:i,node:o}),i=e(o,i),r(o).match(/br|hr|img|input/)||t.push({event:"stop",offset:i,node:o}));return i}(e,0),t},mergeStreams:function(e,t,i){var o=0,s="",a=[];function l(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function u(e){s+=""+r(e)+">"}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||t.length;){var f=l();if(s+=n(i.substring(o,f[0].offset)),o=f[0].offset,f===e){a.reverse().forEach(u);do{d(f.splice(0,1)[0]),f=l()}while(f===e&&f.length&&f[0].offset===o);a.reverse().forEach(c)}else"start"===f[0].event?a.push(f[0].node):a.pop(),d(f.splice(0,1)[0])}return s+n(i.substr(o))}});const s=e=>!!e.kind;class a{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=n(e)}openNode(e){if(!s(e))return;let t=e.kind;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){s(e)&&(this.buffer+="")}value(){return this.buffer}span(e){this.buffer+=``}}class l{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{l._collapse(e)}))}}class c extends l{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new a(this,this.options).value()}finalize(){return!0}}function u(e){return e?"string"==typeof e?e:e.source:null}const d="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",f={begin:"\\\\[\\s\\S]",relevance:0},g={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[f]},h={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[f]},p={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,t,n={}){var r=i({className:"comment",begin:e,end:t,contains:[]},n);return r.contains.push(p),r.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),r},b=m("//","$"),_=m("/\\*","\\*/"),v=m("#","$");var y=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:d,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>u(e)).join("")}(t,/.*\b/,e.binary,/\b.*/)),i({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:f,APOS_STRING_MODE:g,QUOTE_STRING_MODE:h,PHRASAL_WORDS_MODE:p,COMMENT:m,C_LINE_COMMENT_MODE:b,C_BLOCK_COMMENT_MODE:_,HASH_COMMENT_MODE:v,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:d,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[f,{begin:/\[/,end:/\]/,relevance:0,contains:[f]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}}),E="of and for in not or if then".split(" ");function w(e,t){return t?+t:function(e){return E.includes(e.toLowerCase())}(e)?0:1}const N=n,C=i,{nodeStream:x,mergeStreams:S}=o,O=Symbol("nomatch");return function(n){var r=[],o={},s={},a=[],l=!0,d=/(^(<[^>]+>|\t|)+|\n)/gm,f="Could not find the language '{}', did you forget to load/include a language module?";const g={disableAutodetect:!0,name:"Plain text",contains:[]};var h={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:c};function p(e){return h.noHighlightRe.test(e)}function m(e,t,n,i){var r={code:t,language:e};L("before:highlight",r);var o=r.result?r.result:b(r.language,r.code,n,i);return o.code=r.code,L("after:highlight",o),o}function b(e,n,r,s){var a=n;function c(e,t){var n=y.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function d(){null!=x.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof x.subLanguage){if(!o[x.subLanguage])return void T.addText(A);e=b(x.subLanguage,A,!0,S[x.subLanguage]),S[x.subLanguage]=e.top}else e=_(A,x.subLanguage.length?x.subLanguage:null);x.relevance>0&&(M+=e.relevance),T.addSublanguage(e.emitter,e.language)}}():function(){if(!x.keywords)return void T.addText(A);let e=0;x.keywordPatternRe.lastIndex=0;let t=x.keywordPatternRe.exec(A),n="";for(;t;){n+=A.substring(e,t.index);const i=c(x,t);if(i){const[e,r]=i;T.addText(n),n="",M+=r,T.addKeyword(t[0],e)}else n+=t[0];e=x.keywordPatternRe.lastIndex,t=x.keywordPatternRe.exec(A)}n+=A.substr(e),T.addText(n)}(),A=""}function g(e){return e.className&&T.openNode(e.className),x=Object.create(e,{parent:{value:x}})}function p(e){return 0===x.matcher.regexIndex?(A+=e[0],1):(I=!0,0)}var m={};function v(n,i){var o=i&&i[0];if(A+=n,null==o)return d(),0;if("begin"===m.type&&"end"===i.type&&m.index===i.index&&""===o){if(A+=a.slice(i.index,i.index+1),!l){const t=Error("0 width match regex");throw t.languageName=e,t.badRule=m.rule,t}return 1}if(m=i,"begin"===i.type)return function(e){var n=e[0],i=e.rule;const r=new t(i),o=[i.__beforeBegin,i["on:begin"]];for(const t of o)if(t&&(t(e,r),r.ignore))return p(n);return i&&i.endSameAsBegin&&(i.endRe=RegExp(n.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),i.skip?A+=n:(i.excludeBegin&&(A+=n),d(),i.returnBegin||i.excludeBegin||(A=n)),g(i),i.returnBegin?0:n.length}(i);if("illegal"===i.type&&!r){const e=Error('Illegal lexeme "'+o+'" for mode "'+(x.className||"")+'"');throw e.mode=x,e}if("end"===i.type){var s=function(e){var n=e[0],i=a.substr(e.index),r=function e(n,i,r){let o=function(e,t){var n=e&&e.exec(t);return n&&0===n.index}(n.endRe,r);if(o){if(n["on:end"]){const e=new t(n);n["on:end"](i,e),e.ignore&&(o=!1)}if(o){for(;n.endsParent&&n.parent;)n=n.parent;return n}}if(n.endsWithParent)return e(n.parent,i,r)}(x,e,i);if(!r)return O;var o=x;o.skip?A+=n:(o.returnEnd||o.excludeEnd||(A+=n),d(),o.excludeEnd&&(A=n));do{x.className&&T.closeNode(),x.skip||x.subLanguage||(M+=x.relevance),x=x.parent}while(x!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.endRe=r.endRe),g(r.starts)),o.returnEnd?0:n.length}(i);if(s!==O)return s}if("illegal"===i.type&&""===o)return 1;if(D>1e5&&D>3*i.index)throw Error("potential infinite loop, way more iterations than matches");return A+=o,o.length}var y=k(e);if(!y)throw console.error(f.replace("{}",e)),Error('Unknown language: "'+e+'"');var E=function(e){function t(t,n){return RegExp(u(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=t(function(e,t="|"){for(var n=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,i=0,r="",o=0;o0&&(r+=t),r+="(";a.length>0;){var l=n.exec(a);if(null==l){r+=a;break}r+=a.substring(0,l.index),a=a.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?r+="\\"+(+l[1]+s):(r+=l[0],"("===l[0]&&i++)}r+=")"}return r}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex((e,t)=>t>0&&void 0!==e),i=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,i)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;const n=t.exec(e);return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),n}}function o(e,t){const n=e.input[e.index-1],i=e.input[e.index+e[0].length];"."!==n&&"."!==i||t.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function n(s,a){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,t){var n={};return"string"==typeof e?i("keyword",e):Object.keys(e).forEach((function(t){i(t,e[t])})),n;function i(e,i){t&&(i=i.toLowerCase()),i.split(" ").forEach((function(t){var i=t.split("|");n[i[0]]=[e,w(i[0],i[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=t(s.lexemes||c||/\w+/,!0),a&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=o),s.begin||(s.begin=/\B|\b/),l.beginRe=t(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=t(s.end)),l.terminator_end=u(s.end)||"",s.endsWithParent&&a.terminator_end&&(l.terminator_end+=(s.end?"|":"")+a.terminator_end)),s.illegal&&(l.illegalRe=t(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(t){return i(e,{variants:null},t)}))),e.cached_variants?e.cached_variants:function e(t){return!!t&&(t.endsWithParent||e(t.starts))}(e)?i(e,{starts:e.starts?i(e.starts):null}):Object.isFrozen(e)?i(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){n(e,l)})),s.starts&&n(s.starts,a),l.matcher=function(e){const t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&t.addRule(e.terminator_end,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(l),l}(e)}(y),C="",x=s||E,S={},T=new h.__emitter(h);!function(){for(var e=[],t=x;t!==y;t=t.parent)t.className&&e.unshift(t.className);e.forEach(e=>T.openNode(e))}();var A="",M=0,L=0,D=0,I=!1;try{for(x.matcher.considerAll();;){D++,I?I=!1:(x.matcher.lastIndex=L,x.matcher.considerAll());const e=x.matcher.exec(a);if(!e)break;const t=v(a.substring(L,e.index),e);L=e.index+t}return v(a.substr(L)),T.closeAllNodes(),T.finalize(),C=T.toHTML(),{relevance:M,value:C,language:e,illegal:!1,emitter:T,top:x}}catch(t){if(t.message&&t.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:t.message,context:a.slice(L-100,L+100),mode:t.mode},sofar:C,relevance:0,value:N(a),emitter:T};if(l)return{illegal:!1,relevance:0,value:N(a),emitter:T,language:e,top:x,errorRaised:t};throw t}}function _(e,t){t=t||h.languages||Object.keys(o);var n=function(e){const t={relevance:0,emitter:new h.__emitter(h),value:N(e),illegal:!1,top:g};return t.emitter.addText(e),t}(e),i=n;return t.filter(k).filter(M).forEach((function(t){var r=b(t,e,!1);r.language=t,r.relevance>i.relevance&&(i=r),r.relevance>n.relevance&&(i=n,n=r)})),i.language&&(n.second_best=i),n}function v(e){return h.tabReplace||h.useBR?e.replace(d,e=>"\n"===e?h.useBR?" ":e:h.tabReplace?e.replace(/\t/g,h.tabReplace):e):e}function E(e){let t=null;const n=function(e){var t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=h.languageDetectRe.exec(t);if(n){var i=k(n[1]);return i||(console.warn(f.replace("{}",n[1])),console.warn("Falling back to no-highlight mode for this block.",e)),i?n[1]:"no-highlight"}return t.split(/\s+/).find(e=>p(e)||k(e))}(e);if(p(n))return;L("before:highlightBlock",{block:e,language:n}),h.useBR?(t=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/ /g,"\n"):t=e;const i=t.textContent,r=n?m(n,i,!0):_(i),o=x(t);if(o.length){const e=document.createElement("div");e.innerHTML=r.value,r.value=S(o,x(e),i)}r.value=v(r.value),L("after:highlightBlock",{block:e,result:r}),e.innerHTML=r.value,e.className=function(e,t,n){var i=t?s[t]:n,r=[e.trim()];return e.match(/\bhljs\b/)||r.push("hljs"),e.includes(i)||r.push(i),r.join(" ").trim()}(e.className,n,r.language),e.result={language:r.language,re:r.relevance,relavance:r.relevance},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.relevance,relavance:r.second_best.relevance})}const T=()=>{if(!T.called){T.called=!0;var e=document.querySelectorAll("pre code");r.forEach.call(e,E)}};function k(e){return e=(e||"").toLowerCase(),o[e]||o[s[e]]}function A(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=t})}function M(e){var t=k(e);return t&&!t.disableAutodetect}function L(e,t){var n=e;a.forEach((function(e){e[n]&&e[n](t)}))}Object.assign(n,{highlight:m,highlightAuto:_,fixMarkup:v,highlightBlock:E,configure:function(e){h=C(h,e)},initHighlighting:T,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",T,!1)},registerLanguage:function(e,t){var i=null;try{i=t(n)}catch(t){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw t;console.error(t),i=g}i.name||(i.name=e),o[e]=i,i.rawDefinition=t.bind(null,n),i.aliases&&A(i.aliases,{languageName:e})},listLanguages:function(){return Object.keys(o)},getLanguage:k,registerAliases:A,requireLanguage:function(e){var t=k(e);if(t)return t;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:M,inherit:C,addPlugin:function(e){a.push(e)}}),n.debugMode=function(){l=!1},n.safeMode=function(){l=!0},n.versionString="10.1.1";for(const t in y)"object"==typeof y[t]&&e(y[t]);return Object.assign(n,y),n}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs),hljs.registerLanguage("apache",function(){"use strict";return function(e){var t={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"?",end:">",contains:[t,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},t,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}()),hljs.registerLanguage("bash",function(){"use strict";return function(e){const t={};Object.assign(t,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[t]}]}]});const n={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,n]};n.contains.push(i);const r={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]},o=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),s={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[o,e.SHEBANG(),s,r,e.HASH_COMMENT_MODE,i,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}}()),hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",i={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},r={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(r,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},a={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},l=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",c={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},u=[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o,r],d={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:c,contains:u.concat([{begin:/\(/,end:/\)/,keywords:c,contains:u.concat(["self"]),relevance:0}]),relevance:0},f={className:"function",begin:"("+n+"[\\*&\\s]+)+"+l,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:c,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:c,relevance:0},{begin:l,returnBegin:!0,contains:[a],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,o,i,{begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,o,i]}]},i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:c,disableAutodetect:!0,illegal:"",contains:[].concat(d,f,u,[s,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",end:">",keywords:c,contains:["self",i]},{begin:e.IDENT_RE+"::",keywords:c},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin:/,end:/>/,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:r,keywords:c}}}}()),hljs.registerLanguage("c",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.name="C",t.aliases=["c","h"],t}}()),hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],t=["true","false","null","undefined","NaN","Infinity"],n=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(i){var r={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>t=>!e.includes(t))(["var","const","let","function","static"])).join(" "),literal:t.concat(["yes","no","on","off"]).join(" "),built_in:n.concat(["npm","print"]).join(" ")},o="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:r},a=[i.BINARY_NUMBER_MODE,i.inherit(i.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[i.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[i.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[i.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[i.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,i.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+o},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=a;var l=i.inherit(i.TITLE_MODE,{begin:o}),c={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:r,contains:["self"].concat(a)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:r,illegal:/\/\*/,contains:a.concat([i.COMMENT("###","###"),i.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+o+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l,c]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[l]},l]},{begin:o+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}()),hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}()),hljs.registerLanguage("csharp",function(){"use strict";return function(e){var t={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},n=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},r={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},o=e.inherit(r,{illegal:/\n/}),s={className:"subst",begin:"{",end:"}",keywords:t},a=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,a]},c={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},s]},u=e.inherit(c,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},a]});s.contains=[c,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.C_BLOCK_COMMENT_MODE],a.contains=[u,l,o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[c,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},f={begin:"<",end:">",contains:[{beginKeywords:"in out"},n]},g=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",h={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:t,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:"?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,i,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},n,f,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+g+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,f],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,relevance:0,contains:[d,i,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},h]}}}()),hljs.registerLanguage("css",function(){"use strict";return function(e){var t={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{name:"CSS",case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",illegal:/:/,returnBegin:!0,contains:[{className:"keyword",begin:/@\-?\w[\w]*(\-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:"and or not only",contains:[{begin:/[a-z-]+:/,className:"attribute"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,t]}]}}}()),hljs.registerLanguage("diff",function(){"use strict";return function(e){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}}()),hljs.registerLanguage("go",function(){"use strict";return function(e){var t={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:t,illegal:"",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{begin:e.C_NUMBER_RE+"[i]",relevance:1},e.C_NUMBER_MODE]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:t,illegal:/["']/}]}]}}}()),hljs.registerLanguage("http",function(){"use strict";return function(e){var t="HTTP/[0-9\\.]+";return{name:"HTTP",aliases:["https"],illegal:"\\S",contains:[{begin:"^"+t,end:"$",contains:[{className:"number",begin:"\\b\\d{3}\\b"}]},{begin:"^[A-Z]+ (.*?) "+t+"$",returnBegin:!0,end:"$",contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{begin:t},{className:"keyword",begin:"[A-Z]+"}]},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:!0,illegal:"\\n|\\s|=",starts:{end:"$",relevance:0}},{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}]}}}()),hljs.registerLanguage("ini",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function t(...t){return t.map(t=>e(t)).join("")}return function(n){var i={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:n.NUMBER_RE}]},r=n.COMMENT();r.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var o={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},s={className:"literal",begin:/\bon|off|true|false|yes|no\b/},a={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},l={begin:/\[/,end:/\]/,contains:[r,s,o,a,i,"self"],relevance:0},c="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(t=>e(t)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[r,{className:"section",begin:/\[+/,end:/\]+/},{begin:t(c,"(\\s*\\.\\s*",c,")*",t("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[r,l,s,o,a,i]}}]}}}()),hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function t(e){return n("(",e,")?")}function n(...t){return t.map(t=>e(t)).join("")}function i(...t){return"("+t.map(t=>e(t)).join("|")+")"}return function(e){var r="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",o={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},s=e=>n("[",e,"]+([",e,"_]*[",e,"]+)?"),a={className:"number",variants:[{begin:`\\b(0[bB]${s("01")})[lL]?`},{begin:`\\b(0${s("0-7")})[dDfFlL]?`},{begin:n(/\b0[xX]/,i(n(s("a-fA-F0-9"),/\./,s("a-fA-F0-9")),n(s("a-fA-F0-9"),/\.?/),n(/\./,s("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:n(/\b/,i(n(/\d*\./,s("\\d")),s("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:n(/\b/,s(/\d/),t(/\.?/),t(s(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:r,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:r,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:r,relevance:0,contains:[o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},a,o]}}}()),hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],t=["true","false","null","undefined","NaN","Infinity"],n=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function i(e){return r("(?=",e,")")}function r(...e){return e.map(e=>function(e){return e?"string"==typeof e?e:e.source:null}(e)).join("")}return function(o){var s="[A-Za-z$_][0-9A-Za-z$_]*",a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},l={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:t.join(" "),built_in:n.join(" ")},c={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:o.C_NUMBER_RE+"n?"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},f={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,u],subLanguage:"css"}},g={className:"string",begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,u]};u.contains=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,d,f,g,c,o.REGEXP_MODE];var h=u.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(u.contains,[o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE])},o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE]),p={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:h};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,contains:[o.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,d,f,g,o.C_LINE_COMMENT_MODE,o.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:s+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),o.C_BLOCK_COMMENT_MODE,c,{begin:r(/[{,\n]\s*/,i(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,s+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:s+i("\\s*:"),relevance:0}]},{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[o.C_LINE_COMMENT_MODE,o.C_BLOCK_COMMENT_MODE,o.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:h}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:">"},{begin:a.begin,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[o.inherit(o.TITLE_MODE,{begin:s}),p],illegal:/\[|%/},{begin:/\$[(.]/},o.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},o.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+s+"\\()",end:/{/,keywords:"get set",contains:[o.inherit(o.TITLE_MODE,{begin:s}),{begin:/\(\)/},p]}],illegal:/#(?!!)/}}}()),hljs.registerLanguage("json",function(){"use strict";return function(e){var t={literal:"true false null"},n=[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],i=[e.QUOTE_STRING_MODE,e.C_NUMBER_MODE],r={end:",",endsWithParent:!0,excludeEnd:!0,contains:i,keywords:t},o={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE],illegal:"\\n"},e.inherit(r,{begin:/:/})].concat(n),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[e.inherit(r)],illegal:"\\S"};return i.push(o,s),n.forEach((function(e){i.push(e)})),{name:"JSON",contains:i,keywords:t,illegal:"\\S"}}}()),hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},r={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},o={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[r,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,r,i]}]};i.contains.push(o);var s={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},a={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(o,{className:"meta-string"})]}]},l=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),c={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},u=c;return u.variants[1].contains=[c],c.variants[1].contains=[u],{name:"Kotlin",aliases:["kt"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,l,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},n,s,a,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[c,e.C_LINE_COMMENT_MODE,l],relevance:0},e.C_LINE_COMMENT_MODE,l,s,a,o,e.C_NUMBER_MODE]},l]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},s,a]},o,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}()),hljs.registerLanguage("less",function(){"use strict";return function(e){var t="([\\w-]+|@{[\\w-]+})",n=[],i=[],r=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},o=function(e,t,n){return{className:e,begin:t,relevance:n}},s={begin:"\\(",end:"\\)",contains:i,relevance:0};i.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r("'"),r('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},o("number","#[0-9A-Fa-f]+\\b"),s,o("variable","@@?[\\w-]+",10),o("variable","@{[\\w-]+}"),o("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var a=i.concat({begin:"{",end:"}",contains:n}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(i)},c={begin:t+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:t,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:i}}]},u={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:i,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:a}},f={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:t,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,o("keyword","all\\b"),o("variable","@{[\\w-]+}"),o("selector-tag",t+"%?",0),o("selector-id","#"+t),o("selector-class","\\."+t,0),o("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:a},{begin:"!important"}]};return n.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,u,d,c,f),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:n}}}()),hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},n=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:n.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:n}].concat(n)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()),hljs.registerLanguage("makefile",function(){"use strict";return function(e){var t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%\^\+\*]/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},i={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[t]},r={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},o={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:"Makefile",aliases:["mk","mak"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,t,n,i,r,{className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,"meta-keyword":".PHONY"}},o]}}}()),hljs.registerLanguage("xml",function(){"use strict";return function(e){var t={className:"symbol",begin:"&[a-z]+;|[0-9]+;|[a-f0-9]+;"},n={begin:"\\s",contains:[{className:"meta-keyword",begin:"#?[a-z_][a-z1-9_-]+",illegal:"\\n"}]},i=e.inherit(n,{begin:"\\(",end:"\\)"}),r=e.inherit(e.APOS_STRING_MODE,{className:"meta-string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),s={endsWithParent:!0,illegal:/,relevance:0,contains:[{className:"attr",begin:"[A-Za-z0-9\\._:-]+",relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[t]},{begin:/'/,end:/'/,contains:[t]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[n,o,r,i,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[n,i,o,r]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},t,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:"
\ No newline at end of file
diff --git a/spzac/assets/post - share.php b/spzac/assets/post - share.php
new file mode 100644
index 0000000..955ee13
--- /dev/null
+++ b/spzac/assets/post - share.php
@@ -0,0 +1,76 @@
+
+
\ No newline at end of file
diff --git a/spzac/assets/user - social.php b/spzac/assets/user - social.php
new file mode 100644
index 0000000..c3b8f51
--- /dev/null
+++ b/spzac/assets/user - social.php
@@ -0,0 +1,94 @@
+
+
diff --git a/spzac/css/main.css b/spzac/css/main.css
index d9cc357..e039c47 100644
--- a/spzac/css/main.css
+++ b/spzac/css/main.css
@@ -385,7 +385,16 @@ padding-left: 0px!important;
display: block;
width: 100%;
}
-
+.msg_remind {
+ display: inline;
+ width: 8px;
+ height: 8px;
+ background-color: #f01414;
+ border-radius: 50%;
+ position: absolute;
+ top: 25px;
+ left: 25px;
+}
a:hover {
text-decoration: none !important;
}
@@ -470,7 +479,7 @@ a:hover {
line-height: 100%;
width: 15px;
}
-.header__dropdown-menu a:hover {
+.header__dropdown-menu a:hover,.header__dropdown-menu a:hover i {
color: #3796f6;
}
.header__dropdown-menu a.header__ntf-more {
@@ -494,7 +503,8 @@ a:hover {
}
.header__dropdown-menu--ntf {
padding: 0;
- min-width: 260px;
+ min-width: 260px !important;
+ padding: 0px !important;
}
.header__search {
display: none;
@@ -707,7 +717,7 @@ a:hover {
width: 30px;
height: 34px;
right: -30px;
- background: url(../../spzac/img/upiocn.png) no-repeat;
+ background: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/img/upiocn.png) no-repeat;
z-index: 20;
top: 0;
}
@@ -894,22 +904,15 @@ a:hover {
-moz-transition: 0.4s ease;
transition: 0.4s ease;
position: relative;
- margin-right: 36px;
line-height: 18px;
}
-.breadcrumb__item:before {
- content: '\f119';
- position: absolute;
- font-family: "Ionicons";
- color: #8599ab;
- left: 100%;
- top: 0;
- font-size: 18px;
- line-height: 20px;
- margin-left: 12px;
+.separator {
+ font-weight: 900;
+ color: #8599ab;
+ padding: 0 4px 0 8px;
}
-.breadcrumb__item:hover {
- color: #3796f6;
+.breadcrumb__item:hover, {
+ color: #ff0036;
}
.breadcrumb__item--active {
cursor: default;
@@ -921,12 +924,17 @@ a:hover {
.breadcrumb__item--active:hover {
color: #8599ab;
}
-.breadcrumb a {
+.breadcrumb a,.breadcrumb__item span {
color: #364e65;
}
.breadcrumb a:hover {
color: #3796f6;
}
+.breadcrumb svg {
+ color: #3796f6;
+ overflow: initial;
+ vertical-align: top;
+}
/*==============================
Main
==============================*/
@@ -1219,6 +1227,30 @@ a:hover {
/*==============================
User
==============================*/
+.bg_color{
+
+ margin: 0;
+ width: 100%;
+ height: 100vh;
+ font-family: "Exo", sans-serif;
+ color: #fff;
+ background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
+ background-size: 400% 400%;
+ animation: gradientBG 15s ease infinite;
+}
+
+@keyframes gradientBG {
+ 0% {
+ background-position: 0% 50%;
+ }
+ 50% {
+ background-position: 100% 50%;
+ }
+ 100% {
+ background-position: 0% 50%;
+ }
+}
+
.user {
position: relative;
margin-bottom: 20px;
@@ -1274,6 +1306,40 @@ a:hover {
border-left: 1px solid rgba(133,153,171,0.2);
border-right: 1px solid rgba(133,153,171,0.2);
}
+.down_tips {
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -moz-box-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 20px;
+ border-left: 1px solid rgba(133,153,171,0.2);
+ border-right: 1px solid rgba(133,153,171,0.2);
+}
+.down_tips p {
+ margin-bottom: 0;
+ line-height: 100%;
+ font-size: 14px;
+ color: #8599ab;
+ font-weight: 400;
+ padding: 10px;
+ background-color: #f3f7ff;
+ width: 100%;
+ text-align: center;
+}
+.down_tips a{
+ color: #fa7268;
+}
.user__title h2 {
font-size: 18px;
@@ -2479,15 +2545,18 @@ html:not([dir="rtl"]) .noUi-horizontal .noUi-handle {
.egg{background-position: right 0% center;
background-repeat: no-repeat;
background-size: auto 90%;}
-.elv1{background-image: url(../../spzac/img/egg/bg-ico1.png);}
-.elv2{background-image: url(../../spzac/img/egg/bg-ico2.png);}
-.elv3{background-image: url(../../spzac/img/egg/bg-ico3.png);}
-.elv5{background-image: url(../../spzac/img/egg/bg-ico5.png);}
-.elv7{background-image: url(../../spzac/img/egg/bg-ico7.png);}
-.elv46{background-image: url(../../spzac/img/egg/bg-ico46.png);}
-.elv48{background-image: url(../../spzac/img/egg/bg-ico48.png);}
-.elv53{background-image: url(../../spzac/img/egg/bg-ico53.png);}
-.elv73{background-image: url(../../spzac/img/egg/bg-ico73.png);}
+.elv1{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico1.png);}
+.elv14{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico14.png);}
+.elv15{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico15.png);}
+.elv24{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico24.png);}
+.elv516{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico516.png);}
+.elv517{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico517.png);}
+.elv599{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico599.png);}
+.elv601{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico601.png);}
+.elv602{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico602.png);}
+.elv604{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico604.png);}
+.elv619{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico619.png);}
+.elv620{background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.1/spzac/img/egg/bg-ico620.png);}
/*==============================
Post
==============================*/
@@ -2517,6 +2586,22 @@ html:not([dir="rtl"]) .noUi-horizontal .noUi-handle {
align-items: flex-start;
margin-bottom: 20px;
}
+.contribute {
+ width: 100%;
+ padding: 20px;
+ border-radius: 4px;
+}
+.contribute form{
+ width: 100%;
+}
+.contribute .editor{
+ width: 100%;
+ margin: 20px 0;
+}
+.contribute textarea{
+ width: 100%;
+ min-height: 600px;
+}
.post--clear {
padding: 20px 20px 0;
}
@@ -2562,8 +2647,8 @@ html:not([dir="rtl"]) .noUi-horizontal .noUi-handle {
width: 100%;
}
.autlv {
- font-size: 8px;
- color: #fff;
+ font-size: 8px !important;
+ color: #fff !important;
display: inline-block;
vertical-align: text-top;
font-weight: normal;
@@ -2601,7 +2686,7 @@ html:not([dir="rtl"]) .noUi-horizontal .noUi-handle {
background: #f64444;
}
-.c_con .post__title{font-size: 24px;margin: 10px 0;}
+.c_con .post__title{font-size: 24px;margin: 10px 0 15px 0;color: #000;}
.c_head{border-bottom: 1px solid #efefef; padding-bottom: 10px;}
.c_con .tepasspost{ width: 100%;}
.c_con .c-demo .btn_reward{
@@ -3097,6 +3182,10 @@ html:not([dir="rtl"]) .noUi-horizontal .noUi-handle {
.c-demo{ width: 100%;text-align: center;}
+.c-tips{ font-size: 14px;
+ font-weight: 500;
+ margin-bottom: 16px;
+ color: grey;}
.c-btn--primary {
background-color: #f1787f;
color: #fff;
@@ -3206,9 +3295,14 @@ th {
.post__description p {
font-size: 15px;
line-height: 24px;
- color: #345471;
-
+ color: #345471;
}
+.post__description hr{
+height: 1px;
+ margin: 32px 0;
+ border: 0;
+ background-color: #EBF1F8;
+}
.post__description h2 {
font-size: 1.25rem;
border-left: 3px solid #448EF6;
@@ -3250,6 +3344,7 @@ th {
font-weight: 600;
font-size: 14px;
margin-top: 5px;
+ word-wrap:break-word
}
.post__description a:hover {
color: #fa7268;
@@ -3347,6 +3442,7 @@ th {
margin-right: 7px;
font-size: 16px;
line-height: 14px;
+ color: #8599ab;
}
.post__stats div span {
margin-bottom: 3px;
@@ -3356,6 +3452,7 @@ th {
}
.post__stats div.post__views i {
font-size: 18px;
+ color: #8599ab;
}
.post__stats div.post__views span {
margin-bottom: 1px;
@@ -3559,7 +3656,7 @@ display: inline-block;
overflow: hidden;
margin-bottom: 0rem;
}
-.post__comment-text img{ width: 20px; margin: 0 5px;}
+.post__comment-text img{ width: 20px; margin: 0 5px 0 0px; vertical-align: text-bottom;}
.post__apply {
display: -webkit-flex;
display: -ms-flexbox;
@@ -4092,25 +4189,131 @@ display: inline-block;
font-size: 14px;
margin-bottom: 12px;
position: relative;
- padding-left: 22px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
}
-.faq__box ul li:before {
- content: '';
+.faq__box ul li i{
+ padding-right: 8px;
+}
+/*.faq__box ul li:before {
+ content: "\e63f";
position: absolute;
- font-family: "Ionicons";
+ font-family: "iconfont";
color: #3796f6;
+ padding-right: 8px;
left: 0;
font-size: 16px;
+}*/
+.faq__box ul li a {
+ color: #364e65;
+}
+.faq__box ul li a{
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 80%;
+ display: inline-block;
+ overflow: hidden;
+ }
+.faq__box ul li a:hover {
+ color: #fa7268;
+}
+.faq__box ul li:last-child {
+ margin-bottom: 0;
+}*/
+
+.faq {
+ position: relative;
+ margin-bottom: 20px;
+ -webkit-box-shadow: 0 2px 26px 0 rgba(133,153,171,0.1);
+ box-shadow: 0 2px 26px 0 rgba(133,153,171,0.1);
+ padding: 0 20px 10px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ background-color: #fff;
+ border: 1px solid rgba(133,153,171,0.2);
+}
+.faq__box {
+ margin-bottom: 10px;
+}
+.faq__box h3 {
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -moz-box-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ color: #364e65;
+ font-size: 16px;
+ font-weight: 600;
+ margin-bottom: 15px;
+ height: 60px;
+ border-bottom: 1px solid rgba(133,153,171,0.2);
+}
+.seoxue .faq__box ul li{
+ display: block;
+}
+.seoxue .post__views{
+ float: right;
+}
+.faq__box ul li {
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -moz-box-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ color: #364e65;
+ font-size: 14px;
+ margin-bottom: 12px;
+ position: relative;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.faq__box ul li i{
+ padding-right: 8px;
}
.faq__box ul li a {
color: #364e65;
}
+.faq__box ul li a{
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 80%;
+ display: inline-block;
+ overflow: hidden;
+ }
.faq__box ul li a:hover {
color: #fa7268;
}
.faq__box ul li:last-child {
margin-bottom: 0;
}
+.i_fuei{
+ color: #f30;
+}
+.i_free{
+ color: #8599ab !important;
+}
/*==============================
Contacts
==============================*/
@@ -5015,7 +5218,8 @@ display: inline-block;
width: 40px;
height: 40px;
color: #fff;
- background: linear-gradient(45deg, rgba(55,150,246,0.5) 0%, rgba(55,150,246,0.05) 100%);
+/* background: linear-gradient(45deg, rgba(55,150,246,0.5) 0%, rgba(55,150,246,0.05) 100%);*/
+ background: #ff0036;
position: absolute;
right: 0;
bottom: 40px;
@@ -5025,7 +5229,7 @@ display: inline-block;
line-height: 26px;
overflow: hidden;
}
-.footer__back:before {
+/*.footer__back:before {
content: '';
position: absolute;
top: 0;
@@ -5042,8 +5246,9 @@ display: inline-block;
.footer__back i {
position: relative;
z-index: 2;
-}
+}*/
.footer__back:hover {
+ background: #3796f6;
color: #3796f6;
}
.footer__back:hover:before {
@@ -5264,84 +5469,84 @@ display: inline-block;
.comment-ua{font-size: 10px;}
.icon-360 {
- background-image: url(../../spzac/icon/UA/360.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/360.png)
}
.icon-android {
- background-image: url(../../spzac/icon/UA/android.png);
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/android.png);
height: 19px
}
.icon-apple {
- background-image: url(../../spzac/icon/UA/apple.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/apple.png)
}
.icon-baidu {
- background-image: url(../../spzac/icon/UA/baidu.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/baidu.png)
}
.icon-chrome {
- background-image: url(../../spzac/icon/UA/chrome.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/chrome.png)
}
.icon-edge {
- background-image: url(../../spzac/icon/UA/edge.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/edge.png)
}
.icon-firefox {
- background-image: url(../../spzac/icon/UA/firefox.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/firefox.png)
}
.icon-google {
- background-image: url(../../spzac/icon/UA/google.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/google.png)
}
.icon-ie {
- background-image: url(../../spzac/icon/UA/ie.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/ie.png)
}
.icon-liebao {
- background-image: url(../../spzac/icon/UA/liebao.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/liebao.png)
}
.icon-linux {
- background-image: url(../../spzac/icon/UA/linux.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/linux.png)
}
.icon-mac {
- background-image: url(../../spzac/icon/UA/mac.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/mac.png)
}
.icon-opera {
- background-image: url(../../spzac/icon/UA/opera.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/opera.png)
}
.icon-qq {
- background-image: url(../../spzac/icon/UA/qq.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/qq.png)
}
.icon-quark {
- background-image: url(../../spzac/icon/UA/quark.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/quark.png)
}
.icon-safari {
- background-image: url(../../spzac/icon/UA/safari.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/safari.png)
}
.icon-ubuntu {
- background-image: url(../../spzac/icon/UA/ubuntu.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/ubuntu.png)
}
.icon-uc {
- background-image: url(../../spzac/icon/UA/uc.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/uc.png)
}
.icon-win1 {
- background-image: url(../../spzac/icon/UA/win1.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/win1.png)
}
.icon-win2 {
- background-image: url(../../spzac/icon/UA/win2.png)
+ background-image: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/icon/UA/win2.png)
}
@@ -5943,7 +6148,7 @@ position: relative;
.comiis_poster_x {
width: 100%;
height: 45px;
- background: url(../../spzac/poster/img/poster_x.jpg) repeat-x center;
+ background: url(https://cdn.jsdelivr.net/gh/love2wind/blogcdn@v3.0/spzac/poster/img/poster_x.jpg) repeat-x center;
overflow: hidden
}
diff --git a/spzac/css/swiper.min.css b/spzac/css/swiper.min.css
new file mode 100644
index 0000000..b222bea
--- /dev/null
+++ b/spzac/css/swiper.min.css
@@ -0,0 +1,15 @@
+/**
+ * Swiper 3.4.2
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
+ *
+ * http://www.idangero.us/swiper/
+ *
+ * Copyright 2017, Vladimir Kharlampidi
+ * The iDangero.us
+ * http://www.idangero.us/
+ *
+ * Licensed under MIT
+ *
+ * Released on: March 10, 2017
+ */
+.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate(0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-transition-property:-webkit-transform,height;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform,height}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;-moz-background-size:27px 44px;-webkit-background-size:27px 44px;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);-o-transform:translate(0,-50%);-ms-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 5px}.swiper-pagination-progress{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progress .swiper-pagination-progressbar{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar{-webkit-transform-origin:right top;-moz-transform-origin:right top;-ms-transform-origin:right top;-o-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progress{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progress{width:4px;height:100%;left:0;top:0}.swiper-pagination-progress.swiper-pagination-white{background:rgba(255,255,255,.5)}.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar{background:#fff}.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar{background:#000}.swiper-container-3d{-webkit-perspective:1200px;-moz-perspective:1200px;-o-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-moz-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;-moz-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;-webkit-background-size:100%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}
\ No newline at end of file
diff --git a/spzac/down - sider.php b/spzac/down - sider.php
index cc4fdf4..3120e36 100644
--- a/spzac/down - sider.php
+++ b/spzac/down - sider.php
@@ -1,14 +1,14 @@
is('post')): ?>
-
+
-
版权申明:本素材由本站发布,用户购买后只有终端使用权,禁止转售和转载
+
版权申明:本素材由本站发布,用户购买后只有终端使用权,禁止转售和转载
fields->down): ?>
@@ -16,16 +16,131 @@
-
+
widget('Widget_Archive@indextui', 'pageSize=5&type=category', 'mid=1')->to($categoryPosts); ?>
next()): ?>
-
+
-
资源介绍
+ need('assets/user - social.php'); ?>
+
+
+
+
+
+
+
+
+
+is('index')): ?>
+
+
+
+
最新日志
+
+
+
+
+ widget('Widget_Archive@indextuis', 'pageSize=5&type=category', 'mid=15')->to($categoryPosts); ?>
+ next()): ?>
+
+
+
+
View more
+
+
+
+
+
options->adimg(); ?>
+
+
+
最新评论
+
+
+widget('Widget_Comments_Recent','ignoreAuthor=false&pageSize=5')->to($comments); ?>
+next()): ?>
+
+
+
+
View more
+
+
+
diff --git a/spzac/fonts/blockdole.eot b/spzac/fonts/blockdole.eot
new file mode 100644
index 0000000..080fa4c
Binary files /dev/null and b/spzac/fonts/blockdole.eot differ
diff --git a/spzac/fonts/blockdole.woff b/spzac/fonts/blockdole.woff
new file mode 100644
index 0000000..fd8e4ee
Binary files /dev/null and b/spzac/fonts/blockdole.woff differ
diff --git a/spzac/fonts/blockdole.woff2 b/spzac/fonts/blockdole.woff2
new file mode 100644
index 0000000..a9d1507
Binary files /dev/null and b/spzac/fonts/blockdole.woff2 differ
diff --git a/spzac/fonts/iconfont.css b/spzac/fonts/iconfont.css
new file mode 100644
index 0000000..54ba13d
--- /dev/null
+++ b/spzac/fonts/iconfont.css
@@ -0,0 +1,593 @@
+@font-face {font-family: "iconfont";
+ src: url('iconfont.eot?t=1591165674219'); /* IE9 */
+ src: url('iconfont.eot?t=1591165674219#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAADjoAAsAAAAAcMQAADiUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCSQgqBriSBi2YBNgIkA4QUC4IMAAQgBYRtB5F2G7BddQcQdjsAClXxtkck06t0NiKCjYNh1q9n//8JR8eQscEA1cy/TFnZNhLndCUv4bLcZZ8AQeEOkl9xacdUIMtR9rXOZrsSjyWXNV/QMP294RLZwySu6N6j80I7CuQTny8o5lneJfcj+hOVaAtHW5JNTl329694eMnrmkzxfIHjvEB15MQAxtpeHHFPidwglHQ8fO33evbuPsj+YIkUoIxvWXWqAFBlOj6ArkCyssZVWFQdz0Z8BEDP9DjFiZ0xUOdW/j5P1oganp9b7/8/NpZsbLCCMUb0uTEqFtTIjRgVCggiEsIQi94QA1BgU1SMAo+wCiRM9LCaMO48BYxLUQOgAUOZqYMFt93PKIEsTZA3oLd7eRKCeF/5NV0/Gz3IIywRB3Jf1DotK9939nocJwxAvWAfb/FOmqfIcqJ+xXJlOWkeH8NDaABugO0wZ2bFm48UOMqmDN8DBFlagra5K1I+1lf+SpokXmqbcPkKCIajOW1sY4tAU/v7GwHaxtgJtVkgHN4tfVhhfXLS+knFZYtcKuossMIqFqmAR7S986olQb74T1fb1R2xDSg8KUubPx+kgz3wgNJ3dFB3DgTERgABedOBTvwBaJts3SVRF6ZJkAQAXTAMLXDKOXpeB1MThEU4LEIofkPC6zUeQabstJ/a36tatoB0ISaeY2pTKJ2L0kX5//sAiA+AlAByAwBtAKkEcQNBbCAoeQaQtGPwUkiVnQlS3iGXe2Nyo+goqtK6Orm6rRyqHKs4vWdLl57eZZk695U11/B6hPfo0aKibsn8kDmfF1wDZ1wpjXjGg0ZIJU74axBrjkt5cRjkcTkyf8zV5XxJxBGi12M4rT5xi0HBT7OXZwZY2qUTnDx95pxfRXQ1wODZ44e3/SqTkhAH+rHVdIv0QqOPtRjgT74/+M950DPUZNHt74NT9wC/RB80nL3moPDNaPUY4Q1jhjPadfDMx7q+yaHqls90NLkVnPo3DFhkaxP2ISua4dfr9EZUA6PGjJswKRSJJVKZXKFUqTVaPX0DQyNjE1MzcwtLK2udja2dvYOjk7OLq5u7h6eXt4+vnz8QBIZAYXAEEoXGYHF4ApFEplBpdAaTBct2XM8PwkiNkzTLi7Kqm7brh3Gal/Vmu9sfjqfz5Xq7K/LjiZ+8/Ri2uRsNteFl0IqOazD9IrZ/ATMMqIUhtTGiDsbUxYR6mFIfMxpgTiAWBGFJMFaEYI1QrBOGDcKxSQS2iMQ2UdghGrvEYI9Y7BOHA+JxSAKOSMQxSTghGaek4IxUnJOGC9JxSQauyMQ1WbghG7fk4I5c3JOHB/LxSAGeKMQzRXihGK+U4I1SvFOGD8rxSQW+qMQ3VfihOpUsNGKEoTASxsJEmAozYS4shKWwEtbCRtgKO2EvHISjcBLOwkW4CjfhLjyEp/AS3sJH+Ao/AcAWjnCFJ3wRiFBEIhaJSEUmclGIUlSiNoka/dOKTvRiEKOYxCwWsRYbsRU7sRcHcRQncRYXcRU3cRcP8RTgdUK90CCoBY3QKGwQmjw4Z+3XxtnIJsmwWdhi3ppNohbTQ6u52VbT1TZzlTazjnazgg7TmNY/FsESpIo/+OOstW0/dt9Zi25l+pMEdp7stN6lxrSGa3EivMQu6ruRr/AbuoRredLeY+3dbE/UvE5eLK570WuX4a9s1+wk/Qn2Zb7WJ6kntVf7J+sTbilA5ewGO8ONOWdDX04oDurMAbbEVM8OLrZTa1eiKBcpLMRg5cRs7jYajtpqA9HotdyiT6Q0gDsrEYiVPcqOQ828s1O0uON6mPOMqDXSD318spD9+TYFDLAsfywFUlLMrX7WJU6Ayjxb886KMro9QLIka6Jud+V2HcsRadggiiYZBMzL1a19d723nwQdh97xxqslVl1XYtnfFejO1lzoYX8DQ/nwAgCyaQ39wCXjDhluC2zBQ7eR9YnNOmIV9a7MYE13LrrG/bJQOTZBNe5DM0qh+IfmHFiAveGhqVWIdYtPdH4bG5ZCEeC01P1VarfkF9wNbWGbIJFSqkanE9pySDsNCiffj42RaAASEhaUqHh9Fok0guMdRZrsYoY3WehoiLSAEWAOuswDmmRMPjY9uAUVPjxJj20VECiCRCBaYkUKW7MiLyOE1SKn4GJOYgFVPGKGw3lFgA6Py3GMa//qx/fkioS3Xb47E4n9RBIGD06Gjncc+i6TWgUXwp+fqNbAyfC7cG5TncJyzYVTZ0LHDcKxySBpFC/TxNtYoxvT7s7sS7HucJJufzfJDWfWnFt3ruvMX8X55Z3jWapYTbjIReyoxSFk7FN51Xma8Z6DyXDg/IVHAaxYSDQpeULAIZZ1i/5ZKZP9VNk6Hp97zuiGA51+EB21SqUO1kYj6ngPZyzXxQrcoZ+9pSM0ZkxAB/nHHfz3Htc69nmH0iy8RaK9Rq903h7dfTupC4ZhHoOweGBt+12V9YDRriCGbxPTJj3zd2+Sm96fGs7Umxnbb9GE+wHWtr20Q842ZiYm6o+kSIQLs6Bg28ht6uvEB6zPcqliBqwTZ7Wm3mb1y+rgMqPyVHTJ0Y5iMF0TfwOZc1Oq5PR0OHt2csn18tlGkE1W/EKm6hLnWyGsOuayjPF1t6V5NKfvVONCAAiJ5xM36Ixs0PwZCEQjY0yYnOF2sYOPzJuKbdzZGwSZogSIDRMtHlXrqQSxHW2QwKjS5Ospi2iLJkNf5XXM2KYKezUkgEdbl0E/kbknXfJIUs7epbZrJlyxTCmWHkcmxeU68JWnjhhVpu3f/YIYKmZrA+ku1wWqhDbUoJPMdHEwqVxGr/W+7rnGu59mzjX9JKf5L6cMuCU66ymknRi4TrRz0uuV94HjaWC3Oq9pTygVcw8e5puFtvB5FySI9KhwR0a5rKdqBZx/PoTVjf9xepDKMCEjLD/cNTLoSvcDaDJ9vdU62xBaL5uF7JnhlF3hUCA8rJXLb44/dG0syIG0mN0SMqoRMARTf4zrxHWfVTP8OBsjD8clI6MA2Yr48QPRQ837ARTZMOHx43HD9+9NmeBtB1Ryx/VESKBPfSQzekxHUCWDRmtcHesTI10Oj/NEEilXrU7hcsDVvfeth1d6B5pDj2VoUXVioXbM/8xyo+R6d7TCZSVPuwvWbWiPkoqm981KjtH5wRrbdPi26/I+YiEVb9Ikmln9unvczWZ8GRJl+jqOzXpR+5d4SbLfHXLE81jXFOioF7tdiSCnsamZJSWguBu2b+C8gk/MBy7T3TfNTSr1rzQyg8GgsU9C7egErDixacnNUVVRh+0HRU5xzQsHXAy7k6DKUjBEYqKMw+tcSvdMELO01x73ogQ0gqczLF5XnORnzKBGOdKLd+HljO+4RM2nsVjUpiKyB0mTXxSk7XpR8nqSlV8jy0Qerah+J5BCT4p7dPoHH4mEIliEQ5HP3VjqnIIJimUjGL4TCb1jJiykH+5ppODTLCtB4pjehtELnJEDM+HItyUSGgV/E39k7KMqfjNv+hBLsiwTiRSUJWBFTVPrrScEJCKNwKcwahQLzVvhFzGVEoskMjRN8O/jap529PoijGunIkgV0aVY1Y1JEaeuHUJiqvlXYVlqhxGlar8jlXCSJJggMgQCQ7/2d9cMD7p1vkkKTHRXqpNEiwZOU2HfXbUi3qpymN0iC1GLhIDnVjugOBYMV9EDG15KhXAkiT/NtwZUz8zci5U6XR5JBUjcwIQCAeFhhM5fT/SiN1PJnJ43pzvkEU0752YOrlLtAhXjON7GRIhQdTMh4JItvMGl8KaYU6W4+8sgEXWFVjYch/P2OM7nGWODgDKv7apQR2BpadVBoe56eXJ++4lEFYajPZpAQLI4Z6Jq82LoKLIYULwF7vY92QwXOLAcIVieCq6EKH0uSJKvrCRFVhIUTu6oN7mW0GDrpbInBNmSy/ubP76sZ37Iuu9CujMcjUTPxarpD3Hk1sVIYTVgngA9AcisHFLcSy9PeyJ6bt6qZf3BwopMrMGOgqRvjKqeiccGN6BJrUEoBpZAg2ADvs3Wc9h8YgC5GZIKcPMrIXhroNUGh5I547eK5JMCCiuwQ5+kzNuq4IKsDnJDNRpBlzpRTH5Rr/vI9DQq8enSOzqOx8SrNAYCpvfXyzqNanOwyRpq1WgCIE1EdvJ2J1ICc3Us//IKqKIxVS3Mq7I++c8QeAsNdRg1FGnYcn4oWJoKeCQUPAsCdGiXbMNriXDd43K5datTu7lM3cfbmCHLaVMWUMfoGIEDW9+4H3aPO8RTombYjNElAXMkVjGG4JqU7QtoiICkF3psKMlT4ylVmudgnvAFxUZo7E6T81EBDTNfCI4fXkYwMFW45UmpxJ/+eSyrU6JLiXqhgV+JKS8T5T5Vzl34SjfVkhlboaKUWlv8czHeLWEVvg2wP7Z3GAzdBmeoGEwmAnNDVGRIxLGy5LKoqpuyDtBwMUj4547UpGq1kZkWYdQNE1fCT1ARWacmKZoarbqi1U2ZRHdwlzX6TfB6VXLIOFdJ6IFQmQzUrZ6YnAxmz0+r7amp9hQwbwYKTo/J+gxrZ2Nt2pq1EwaSNEA/GY+QCmKd0+2WtcF6l1P2dGt9eh2xsRTBfymQU8lOj1iSRBN7PLUx3owcIUjIFO4hCVw4sYoSHUxQlU1vth+CCQ86/X5tVUkPlrtB89mBvh539CDmoDw5hi3CIDVMLMRYlH45+VLDU8jP2+aueBKLytBj3c80vwZwN3ASdqZj+/l0DPoLN3gDM2Y6FGoohbWBFJ0IA6le7CsIMLlv9+ucrp2tfj7MckCs/fKDmQPm/o8HqaNpp9Z4voAq6JSHP5qYAd84WnlD25U+zEGREatXM8zIIqClco4qsFVV96SokiTMG8Jl0CBb/qag8hTA7PrFVHS4Ev1s0DBPViviYwQN0gWkL4ukhAjCW4MT4fu33735ue8u9+GpK4s/0m0Y8q3l6524fOVhTG6/UjWJkEA69rJdA4yD4dstyxDhSqUPyoX6J3pp23jYZ8Ko5TU8+06ZcEMLCvgyWDtW2dMfwoAbxTiCWs0poFyQKA8gyupDpC18tMIuRAECRCH8LrLvDXR29XdeLqpTGRSvu+le76TB66qgPqPQWU8CPd+O70tFOK2JRFRuX75G7Vm2GG1+v74/Hibi80gsyUkwR3uYuDZs4cC1/qy6573GSONbt7XkX8695DKnZYLvh0ugMLyZ2HZyU2uuiVCkZkjU616MYnNRG4bV2jFeJPCM1h6REOvRZ9u9DZm8KiGrzpLrToQJOSPcBd3C60Rb3ezxGppyIauvwmXdP4JOe5V0b5ktwUDoVEqugE0w6TLG7Qq8H0fc6Hc3/6eYnEz1BjU8fxH4AFNQmKHSeiZy6eibPubXEHrwopjEfm34J7rV4ArhE2N3AkIGdR973p8oU2bzuaerQlieCDImwdf5jovxDDqFi+65xrpO9eRZJPhd8p+LJRcjZ/V31T3JfSHtcJSr90z8HZLiKVWfMQIHjsMxXmC9Zc9khUG2n1ZfIywyA/azICMDLqxJn1IugopMcJSYXaoAIyejqEpPTkYvhCHTqi7Bp4T4j+j6btA7FCH4J7IUJyi6TJ37bWsUQeFklICsWh6UBjZsv2dENiToAE29+vDE5uGMdrDqX8c4Lx6vD2I/wTi06tooqgEE6mltAJRCErQGf2wLhhlbDGf25Q4r2ty0emrK3BlThc5HxkuUJii4koAIYHHgTjB5jjz2eu9ZuqkwU3tL21MJ17SRnZq50zY4FhG8c5pSj7qZYUa0K3XSLF6PTB6OYd07QATYIFP/xB3oFMDS7ssdNzoDwrScT5MCVY79WOPuoMpS1IuuuHidYafjbnbejUFuucJbuZCmzOOw3bcPaWPisMfrYKt58QG309s13SrGFN7AeoiarceiEwmDMCInMh4rZmrGDSWG0k1wBIRagk42FONx2H5yGBd1xCvEXY2+wli9nNpfrhTHG1xh56aOsHB9q17v9ebiXV+WOj+N5/sSoAZ/LaehLFPbVgqgZO5GshsCrKWGVaVIIBQnluFO+ny3aZjoSXxjLXbBuqYdr9Za2OOxLlekcMneilBo4knExSAe/FSijMeoyQ4lovdlHccRRvg+tVsHtorY1zt8DnNmop4oaBt5LKDDXVWdSdJQlR+eBkHLw+QtgeQnzWQ8/C4NOrnNwwptbnGh0wBGj1hfVNTAE5BuJRLfHORmtE1gMKoQd9ZbVUBx2+5U16D1R1MKNMuvq4XqV4P87To9z5CA/T7c+WE8W4HwwxxJarXOO39awYKCWsKADL9HqarlBJwNUH9/tRtIiDtqXu2GpP74nCpJRUisrW5RhLVJqioW0BARSxw8J7zsVKItN8fRlzkeH5jPVMV55U3+LvsCKCbD8bvVT8WkGcaMTpoEY1qFmAF/UOZWpNvqnr6h3cKh4xsLisanaFWVswbsQncGhGON6h4mH8PNAp6L1EO5W8/yas8JyGJfpRrCdjnVU2Izvl3Jpxu1ClDG5YVgSFiUVqvwq0Yt79TY2wZtuFT+M15k1WvaxJ1EoVgbRtYpZjuhsLwy4xXEqrqq8pU+S/qwLKM40jntxrIPx+3NS2PL/fElIdEf0xpDGMXe/CJwo7VdmjVNgxAfC2/JKHKvkxNJF3wpzF0PPq70Oh15SbXtD2NLMw4Uh5txyEWYDj3qG/AbvlPEWF0vjoPEAJnPzjKyjuYsOvXf5c4cKwprgAiOxWVDXnBJTuPzF52VmgklOBufj+QaUVEuOGgW9Ca8o64sQpvleQWb4sOrf0gVZkeMmXunHEHI+EonwP62djX3yc2b8SHOB6/izQo6Pa+7txfzJe+FUBNZ7Pu5milfgzXQBELgEY0aHe+1g/7oGbyQmkdxMo9eSDvSz/DEjj2PmK13YYo5nktTpRKzEg0GKeTLIg5JU733MaOg52AwzsZxaoTkRqnmygYjYmhxI2GNTgqcF+E0Ze7tYOeLkXxI6YGZE/05JbISXG0NELP92gU0wIznVDnl/iqeb5FikPnMdISKLievXXX3QkK465EztiF120uikumO6Ji/yyPTV+T9QBMNe3/wsO59f7dTqxxnVSmFNjrad+atcnYhbmtS6ouFrXUGKA1qD+YoKcKYKVqeK++RItBXlbuuX07U/itSaCioLB5U5SGh5JvzTLAMyXZelS+tvVIsAocOGhMITtGjNTY3okSCtpgJf6HKNdoW0ccyCDaXllVmTy++vr+R9zZeXFo+c+bn2/hQlPFCBdUz7VlTy09svrweRhO+Zw+n5bRG59Y8WDZnlNL6dGbcQtQTTDpayZXlm5FIBEVS89KOchEz1eFhmIMH3yaNQTueYEuXb05ANgRLhLOUUmVKvlYJa/cFNdrLI9rrqq754OMbwZsiWNAe/3FOIdvwteHTz0io9TtyPdF9EqHTBUiBT0VbNnCegbYl1KIpI5O0vs5uWVYUCNbWsFputRG1ZXXj+ok4t0wJDippqldM4dReNps82GfQJJ82//838uwM+gbJLHb/T8kPUCoMMIuuAOHwsrYtxXAR3L7lQq/60RUBnGUW9UehYi9YdWTXOpiojcIqL6j4t6hXH4opK0yAEuUwFANFb+cUvL8dNTRUbmxAV83NCxVAjBcDsXB+XoX+adwwNBRFGRwE322hvE2b8qCck42b4Dwg8SsQL7OvOwtVipC6vr5aJA/atPGfyEho6VIoAorMVCQkjouEIuoUP8zBvTB+gc/J6fpo/HF5c3EvjV9ic3Pw79TtAq7z94GGpdmj1bK0KfFXC2qgZWiDxE21HYzQQDhv48Y8iXBHMIDUN0Wm9rRVIrhWq0M+yJK/o1IJCLzd70GLF1wSE3lbVsb8x0Wpt9RvGkxbMaVrLofZnpjgm4TRFXuUkGFmugDfufxqrK0MHS8IaB7tTskRZcfIszIoPy0gSwOKW8Xd0F9ykki3A4uid8BQUdiYEHI+Gcb4NJidPvXMPdHa2TqlOEY54aDwL9qzwu/VuTS/8jUtm8HFPGe+0FLjeWP1/AvTAA1PA0bqnDpGc4E/ycbAlbI3anBIZQyM1XNzQiMo+TyIJpybPw0YVww+b8l4PJi2wP3AY2RvW67uJJxB9qP0+uotBlzq/+jESEi/XnN9fAh/8J/Ofw8eZp8Ovr+YVY/2/r7//U5s4ME/tn48CP7/X+/dh4N9KyYurTplcsjl8bWLJNRfLL/3Ha/6ivR+d0H7GfSyMyduVl0z2Xk1KQZbHs1Woeb4Dctzvh/wvKOGBi116lXMzwnFkDc4IIVwbq4ClmpoMKoMRgOoVwQplZAIEiuVc7w9DYiBKCde6NIoJx0s0l3t4mHncTz2cXpEzN9Gt2j/RDMi9pDHoWA2v7uiAlDz+lVXu2Zx4/hZ/GFSRgQrRg99C220qvtmGADhVF7h/Lf/5wsLSv908Wq0XKU3D1iBVZIKpHhJ7NnkP/V41OwW4nX9wn4dXkZeTaMd4Qv5OkSI6IJaR2hrJk6dVtNVp0/z9O/bO8DVCws8LcwI5kOPsEOGLC6xET39D+9HMfVouVnFCEPFKR+tUDH+lwvfVtpGtVSu/SckxVCbykg2TE3VJtNTqfdc0FN61hBeb40w0V1rtw48P/OP3gbKz+mAq3kxtrgE1pw8pZEI960hmhI9/kQugaN9UKrZpgXr99AjqLxzCVGLAzjlwKW1oSFrad302T8rFKZWeb9hKvoxfAE3bvuPpdaLNokoYjEkAmIJWUROCgq9krj494wXxiL6R7no+PTTRcYvMoAzl0zJF2Tw5T8+znOW5//6iDdcYExm2GZMYhYM2X9vQ8SApS//Mf3mgeEDfdM/gOvnFe1ZS2tnzn2w6DS+ebauoTGgFy4saFjabwvjtR7jb6IOxz1qgXMzNQt0gzg9ntyya9zoFt6SnG0YR/hJuDNr9Rj2ltELnBh0/3sU90cxL4fmr60SYBtX13Rgpl5HRKFRRN3Jc6KgRqx5c+PozY9ECptC+HLviZbJ02/c4PpwSNWIDzU7BtDdpV0/rOwRcr3gDvcoPoMw27Wuu5qY5W901+s8TszlPmrzdSzjf+niudJ2RvGaXdeSs2ipGfT/3dvX13uEHWCy/doVnanuyjW9spQ9X4k6MT9/4njU/DxARIhQzJ84iWhvXO9AgNyPaHvqxo3QugHK0WdfLJd/IVJMKMQvZ9S4Z814gzpAARSEmRiw/xbRMXM/OJA5ZoYOXO3zVVy8TNm95yc7WdbdXg6poCNt5HIOGVIqWyIdTi29Wj6W5pLbD+VRedRN4yea4Q3wtcOs+lBaYhmIcDKX/5SLgC9xvjMKD2OA3I9pwvo3dYH0IWXSwvJu7CK5Sp/omoDhXRzQ1EgBb1sHXIvCPuT9FKqbz0jNkxZs2qCpVTPUjbXnvEmXO8aBDFT3H1OynYvTkM1AbhXin91QW7qipFBd77+ER420RprHLhWNOzNdNAtF5GbO5NKIbW9undx0fYpYIQ2E9KQBCvGsTKOCqQWbEOZjc8PwsLGcZ/44o23SoLXr4DSBjVKUkuzejpOTo2ziBVDaunX6SggEBQYHH7xtAUkTE6WQqTQ6M2P/6oyMaGlWgRITIanFbTBbeR75xAYobMmSMIlQR9BKifnLK4VyGhtzIEINoY22wt4B14ui8IHo7IyeMFGwpsUXq4UoRpWFpTfTvI4TzNsBWfk7ki1PtmsqR5c7rj+vgkmGXVcd3N+P1HvnfCFd9+93FXa9wOoRfQ3TdrX+ViHVNlOxWuWOAme+mScRjRKGClE9HYvUg3vhWolfpnD5Mk/Oz5W1E+dQJ/O9dcj4TURHdXx8LiKdbFu9idp+oowS5B3xeOULt8cRx1dC8V6Rj5dE0Qj8q9/9CL9e/Ot4kAIExwaSkptAaVBqcEIMCEAHu8kUUhCTFAQqZPFBygwQyZQvBIUzb1PZZs5mnrLs0vCwWMXGtqGR9n3piUmxu0tibUMtHUXhHpn5whxB1fCK/JICcAIcKSlWVZw7QvRwl6Y7bFVEiG7QE3RYU5qMGwjAM0NdA2/phtRLz705s77Ku7nVO/sG5ELqLd1rYMcgbk3NnP0lTogpR03v4JiGcNKg5XVQYUzP+FFVGa2+R9VzMxYUfrcOXloqodJSSMkk/mQYEJmc6JjJyZgYDgelUwP4efrPruOTkERlH8nQDih30kroKPcAYd72FimmdTiJtGab1RclrM3+7D9+Awdb8enb2k591NSU9m8GQYQFPAZ86/Z+xicxxQCyCORpFxYamY3K3vSouXWXO6zGcydbnczKRlapmOWcilGGip7csDIRZ5N/O6Xyuy+z1r3spv+JLrOhIP8rhA8qbUU1jWvfJaRQtWnPkOPS6MmHEWf+l3ZsBJ5FBrVBuoyJrHsxB58FrzyhTq78mqxqUiVnjX3KvJesqlS3Dv1Z+km06Rhwm9gOShbJnPDELm+7/LyjB3k2QTIjDDeWk7MdWnKE7xhRdvKQt2TyiYhKCJNXsVEJUlOq6Mmk1OdKTZVeLk6FprCCnzMtBQiLtjujTy/DPdJYZnsEyOPLgyh7Lk/Cd+6mbrhoGu6wi0xBBe8ARDm9VE4SWRWJZZ8duozSG8LozNlomxCnECahKgnf5kLtELhiLgnqi+xSU+q4rEwsgl4NtUlX7B1T4JFA/pq+kc1RixEaihFM/LQ6en0AQYZrCnjtZrvUgTjVPFpfcdT5Oz6NhR8MdEsIX2P+EiOuTYckrb+gJ7eJ7cJZVV8hUPKwr7e371Zb4vN7taS7a9+jC3v1fI/r6/gYIm7xBtKBuwJnsl41AaSadrV6EBZWF5x31pw6paGrm6NyA+OKfUPaW/1pA3hJsjVdmuNHR/W6iNdbvBqbHxOL3jU+PNwOZuASC2aLyH4GFMw8mKImQ8HsMDRqhkAhQhMQCfUqHU62LbJTBTqfqnsTcijCF6rItUGLbT9oWQDaOJS2qGcDW9p15FizT074mT1W+CNj8dzkK0Y3HW7az0ZpYfgfdDKzrePjm81deS7OrgKRD4g1DwDgM49NQ6uJwajOM/E3Pu9AyCZhlg4dF98FDNEcDEWLpcy1QgxwuPA1Haug4XX8gnOuEqLeGjJXc797C7wZvnvQXNP/S+QKqPFAPT//8lrVeCV8rN2ozC0wcC2NMVdUVGaRfqB4KcgF3h3LdM0ehX6g99clte7Gqv6t4GHxlQKvQYDrVo0HOPX05Zhrn9dx2x7JuTZcMxZ3heTauLr59qf6QHszLr52qH1SZ0A5Bls1aKCbbGcYq8KutJsQX5SIaM42HwKOXjQLZxtnqhHgbvfXnQDzOv/t3G3vyV6zUnAqyUAn0hmAxYbgBGm7aDsJykkdxL448PBpGKOFjKMDBo7cwhDR9wAWA9BZYA89jGuNybXnti4hY9fihhnP+oc1KxfJ5U/TaM4YCFt+PVF+Jf5gptu7V2QnSukkj/yfQAE4u9g7IT8kra4SCMN2xiSDh/2c6ZAO+MYVTDuAPLuR19NIN1irvrJy0fHEhvr9i21LDkP5SPPloRaEyO0izSC/9HCW7Yn6hsTjKxepr0BrUd0z0xXTQgrxMhGwAEQw82cQ9fHjapj9J47LMeNTscKE7LY66w9RbOXW+u/hgi1bCqBE/qMMF7zXt7aVd3ZobRuhxupDCmcPifhQNc2uAzwJYUbJmKBhWWWbr2QLN1DpmjunT1XQNadOXTWqeu8IKu5tArN6LRHBoIjaE+fFQY36zlW6kZsfXGiYkz7X8A5zZspudTt5qJ53L4A0g75NfVV6yEidWNPL0CtOn/p6ilbU6me3r8LYQA6uu+NWWuor/2yW4Nzd1GGo7i8zp1CnUT4N6UZ65vQ04td3/Jz39mWGkR5Ptcj4KVjj7bT8aDw29Gm0pH83PxgV6aGDb55CGhFN1AGCyY63gnoQguqZmenRKOr1DNJD+npbz6dl5GBF8vAPYTMyOIg0AxnPSRgBJIJVcztMu9va6q6NmY1AOHUzBTTY8IKJ7xUmDpWbfbUCjm5Q8rVwCVJ3va8DCQJVTjnxbiX+JZTcvxpZKRFBkPmDxZwh0BB+d5ezY3LNyeXWPuugI1/t18gOg4fgCOAjcCx59g3sOPbBTL4R1gdEQ5KySh+BkG8uBw5omVqNa2RaMHWFhWfrMtbZFYU6tSIQZj1Y2pzLfMLMaT66U459glXB2wzws7hE3GyXAcmFdwtKhMbJBkVULXcpVwM/gTXBvtJSVxgE7u+y32u01x4PlOZKMN9Sxkdm+eYewd8Jb3C3sB7j5vxZRFDm4f0X9hbuDfFuzMo67rCR+5eFr7gXuNdO2T6VPqaV80UDPCb4CFlApoOLu3YbNb9b3TcvGFqfue8wc49o5XXJUVgk/9XdeTKV30U/8u0QY92U1dSWrP3bawAfMLeSiqQYA4y0iFQkFB6hazVuHEfCzgAM/nkIcj8yClvwIq9UEeQp8sDCtJStSS/5xsWB+n4UkZjcKQLZwSlxsz/12DvWNABx+pac4WxcZEx+iq0NNsqOm/0jkN/fKX+h50ekDBlT4uzf+BvnHeCAGFLf7b9SfxnDBHTUlYVVTV8lZ1iFn7+lOnzB/daYVyufC/1WdtQFYH4ZS5952dedFxPzULNwrok3choLuPqjo1aIjRddNVAwSsPP02prafmFlDIUVw34woSKjtofVwOcxvSCa5y78+ztgcFHGMQipfiC1xEkBfLob2gAC7HQImvQsaYfO0WAzd7LCt3UUChsiItLbw53PFD/aOnBr5EqbDCHTHAsSkwuF4iAE1c7vsqALVNuH5hjYyMT1wbxTqrPqMbkNnlN5HgZLYlfHEngtnaJgq/l6Uf9s0uEjfZYE4DqXJi4iBBZRXXeML91QfTi+LKDZ1ZRQ6Sdu+B7h5C1bosWX8vGBryTiy71pubQlns9xhxEDf2xX0f5sZyrFT5xvWX5YXmu8/8uwHMm8D99F+jPuiKLiy3+ccMpiSdH/hKP7QkJeCXq36XVpzVr7w8eNgDYPrpFTn7exRrPcWEVIezeetO4bgRwLVwKQBLtH/V9Bb4JqeZxJdume0ZlozM928wkUDXShM8aOXMly2iJ/xIQS72ibK0dYZOqYdun0z2nzQ7N9NzwoFYbOIxYq9uSafaXmOXs7t/XsTT5+eO1tjdjY0FN/aSQ2Vjry1BO6kjMu4/9r4n66RO1HZfw1ss1Ca1EJ1m980rA+Rh+/mwI3GtaMxdnU61+wwdglVVUp1sX9MfMm57VD6mOLuUuzGkYFIYmc7HQnKxAo8WQWAiEVoCGDsIGRUHnX8wYjXErLqjNxCA+EZLALhoGmQmiqb39zPQEExf2kSZHbtHk02p8w7FUmMXZaADrzA54GcZqbVE1h0CU/yXJxEWJ3P+pScwzkBB0V/a2Wm4t0tp8LT34NpgeEUR/e6gGZXcIFCRxsqLCQdV7Ied9j8apNSr2HKrR89BCEsEOl8PhnLvBFroL3U68oFnY92tvv86EPo9evbrBRKdneNhEaFI537QAFAsSZ66Zcwi8pjJPylqoony+RfUpWbV11anQagtavhG15WRolbWIYGV5UmaFzkdbLcnyZJvyfLnl0OFgKD0dCoGC0zP+wxX5/yJQMBSSnh7ia4of9riMNx06TyCer+NevUYtS8NxrtGWp8YsnbZXy9YKZRo28BR3LiwkVyR9vNUO6Czs2zfjdq3AoxVtZpjgckTiX5BOwS/JzViOJedmP95lr6Bwc7kTjorQynKcuKhKVSkmrF8Rp/B8RrJCEKgWOaAakuc74Pfm1lhpDRIWKoslHQ8z51yhuOG2eUq1ebA2R5L1v3FHoB+PCmgIsNlnUAx3bIaXObDDtjAYt6a5eE1MjE7TnvEJo+6on82J6yieprdnRVukJZgJXsdsQbQ7NhcPJmq/OhwD68BsYl55IRwNx7gIeFF3X//s/Fl1teL7xzM3cBJ71f12o3b96rN1zobM4/czY3eMXcSgm7xjtPxthqOG27ix2se/fzTmIvAe7lQitXBzNN1/yft/1U/PBLCsY6EVRXCsfiJuh9IzYMPAsl434eoMyTUDvEUk4Tz/6WDztmSD183/RsvL3m2ylYG/9Emu0FXsa0owVBVxyMAIHPtMe4aRh7KSyMHu2VHy61h+f7jIsnUX9WJLRdvpOHnzE5F8yWuOFVUUEDggz9QbMjIpmqu9YG6W63rk/r0l/2Vm/Vd1WQ3KH3LhvtLJ4TOUV3qjbzcwxNW6/t+GUHvJ1/t9O/kZ+7jQC+zIK6FG31QyBC2Nx11G7dnWgO+OyhgZlJUCBUGBWan/RY28GKBAKCgrJVR/8ncc7o+039ms34FX9Jq9/boDlY1rNSP0Lblyv/D1NNYk7QbD9cbn78TS2g0bTmzo+FVpeKBr8fw5oESJYkfgb51DyQHK83HjRs/xJuCW6gInIieQE0+i5grm5quG2azfAzQWWxrlpgz7A/2D8XMEOFuw1cE+imL45wVpTPczPxPwMf2rfsN0Xvi649yH2pkdXy8C9oJbyVYZ72+/gd0UaRGG/uqLwFm+OCCpdyzSKhO0xSriY5pq4pVJKVuqwyICg/IT3YLdpCLgEtTh5yIKdEtxl7pJZMDb95ar56OtJCO6dca1iIRzIr9lpa3tpWtl0gDRKhAvMttB8bIPFUvS1cNCMRmC5+bXj+zZahl6o1/gqQIPfo19C6J+F3rksUUBmr7D65LFpbgIRY9Fj5eGQScYK75X1NrUlyisQkwi48rzYEmtkzQ2nS+zFPO8Ag9GLQZxO/wrKvx39BRaaFs92/1XbS18HNUwERzQdh7yITmBE8vH2JDQAX96reGA7yKnXcNg2Kkspo3Ds1l1x/dyozuorueKuFVxCmW0EiOCpIlJUkDkNCTVrOCZDZWKuOg4fdE9TreCV+WPXLqIWlhASbzUK1xELiHfFlCXUBdj0kHoFy0bOyqnh4YVNSxrwM/i5a3M/ArhRuu+l3CHYW4ZKOvVJVI6tCYzHOH89k3Halz4xs1+Ad588wb8ejU+OolnWtph6mvaUTLc6pZpAFfsgvuIE+Bf4F1uJ97rjyAnWPQIy/uDiYYTot3jfJz04xL0sjhLPP5r1bW0MB33nMUcxlLa0Jm+nfJcThOI2I8ve5ayuWSqqKe3BBp2kY4U78GIAMB/TNVhyqjvBXjdaaBa0Hy1iatPl49L1nsPUiW5MXk8TtYhoi/x0GLg6tzkULn9Zz4Kge/D656zH+pmlNQab8m+iEyD3Ecg+6XOVPU/0PEOfiOrtKeGYAzR229g9XXAIKJOn4mGj6+Opx29c0CeYVVsTLvwOQmPJXE8/nmxRJxB/jRw594EqyL4gpmpeSsOjMrUMosqYYOnJY50+ROGvZdszJkEeZ++bUFwWKLWMxQVBNf5EaLIm8m02OQnLfrGAoNAYaTRCdohAXtGoco+gNYQNejj4QaIDGYTP11E29SVyE3OgTEjT6rbb9dlZGv+BcrqYl7xgW24yMz8tGBUusjMLN0rGMx+UYaQOelCzO6UcMq2U2Mkf2qQBB+IWMQPgGbW5GFBUWCRg+Dn2TEHTC3cNgz5TlRaA48YQ4I58RGO/PMXww3omb+p4QngxAj52DB/T7+8GZ8x2dwMFRps2gUVwav37VsNF0KdasM8iI3XQ2Gx+myWSbtV4M2Zf9CNRHI/TIIUx3WfDD3eKJ+GQQTgCsuCny+aYYBxHU6fBQ/TbP3uwTdXySvl9m7YAKyr/dc9josARBySpLcPp61dlwbZhLAemfPCwsLDDNXr0+F1a6FPLj4qOVkLPKoK3NYAxhUqE2aucsWoVEv7wIHtwfcPO5i6VEhM3fFR8iEHk81EM+zKL0+iEHQgHsqua1gMEflnF8rGB5Kgkk0Hi6gRm8IqwjZFFFM3HgDOVL6sPeDRYZCygI2TH3zEfXsBZJkSuB5rZk1ARlA7D7dtvTXwEfV5OByB4EPggUT2C2LvPtCrkhqbZnnh0YHoANDZ/tNW6mbIb1DRvYTD/sFnKtP8RN0uaYvayy2DUCF/Xrn/HAg+fURQZhhDJpZBt7O3tvMI9nB/axzXqC0vlzS0mbcd4LftE7fuLa6pOl5E2dNcXV3Tqtu4TnFYp1xVmZtAS5RZeHpZ2dnRGQxvDIWFZSy19TyblJ8f75TtdUWZJWwq1Z2vH/0izLf52r7VmiGpq5c6/sjVdV7DB3nAv5ykg9NPfB+vNj0kzpKkb0ttY2EFYbfpfXfyS5Y8WnnOKzZnyeM71Y7RwPXOpr0rJO3QajSCLcZx61LsUosE9ZhLroIOaptLEp5QxXQKCbGJnmXSwxrSjRy6ZJ+LxCIrOamUHgtvjhrp469BAvGKfT8smsyaLOiFvHKzcguXYoYWQ9AbYhximhptjjUjR/PqzwWz5IyDjMlzRP1luMnrJP3V4MtDS6uQaEL+tJJgbhmcRUjM2Z5wOiQVjvIw5hIJjhebi59rSwcowc2/iXDGuftIGCPPZtwndytjO8HWTVVrs60OPTQED/yyd1I7pfKoBxwnuTQCEgOR8+lyeZE8xvVYspm5mtx1z9T4E3Au+W9lUR9M+sevRy8EMhzjpMt7Gns05xXkMVL5A3RH4UgQGRXyjxB9KsDuxSOE5Mt6C8b/K590YL8yNP70N7Jiryw+KTtUUhdNUI8PmAehtphtpsDz69bqbyUYoOe7KBH7Qsv0lrseQcIbNg5MgFeCtwRgyfgASY6oab9FgMl9MrJeVqB++w+VFE2Tc3KD2B2AMAUMj7utKCMQLH2D/6l/TsMVjGtuG1rqnQiq7tE8QIM6iV6J1bfF+uK75sHvOuQFJYbOd1IfmTw8+3vIcR/8V+zRqkFvoaXLoE/VUexngg8QZHparR38Vme3GolztlhZIqV8m+lcoDD60IRrEw4xD5Y9TxSJPKtLzwqyUTWe9SYTg/nLEzb/HntgiiwYiZ86EUTlF6fy8ctdGSpY5AQsPipUYpqh8mdhEw7EU4YouZTrhjlgCCihS3eIGaO5NiU7sU3YXSW51qMZxA+maGKpV3aP1NRPt3E2xV3dmt7b/4yk6vO6NgVxaQEXjJz6K8k0XtP0Vx7kRb6t+m4XP4j2vdDAEUyPjP4Sy//4foAUxYc91VdEh8djnkXLazZxgoy5q5eZHgyUos+JZQHBZzGh4huWpc/N6OHWbfwUxBDAlP+zyRdBTnYIlLMWnU3T32n+VN8GW8l0ToB42Ys2f1lMNoAABYIMYQgBrjXoYiqQjacneUn2T4KN7pjQRXUpfbrkwUfFL1Vcw/qf0VH/UtNk+AUAfTYPYarH0+BP0e+sQiwBaE4+YhLkxrQjQUlmIbxV9pS8SM8EI84nPKIkpvIHnPgr/N8J6dDe7P0Pr0MtDYIBoMd2In5ZHK9FrOi8eGN27rYIRARzGVwOPRzqxoUfqBETcxP81bbjnyCmFz71KyKIugF/A6BXShHHINdlL1KoO34E/v6Qt1oQW+qL9NXtCJ1+V8toHKfffviguZ07N31lK5ic36EeWfnwPlVIWpYkTy8C9sJl9JtNbjIAcC85eOECLaA7ujeJEAR2cU8HVi9JzUnyKoiaXXMckQLQc0ddf+FX8xD6iSMI4tTBDwDoLyqnM+/Czzl7dC/RlGOIo34dfg86a0I5sC/pQ6Jgv7QYcYX5gIr68AWrEZDXm/bCb22+2bxnLp0L3APvy1o+nzTwTbUrhhyAP18K+R/ox+D/Qe/nQXbn6j3G++LkrhHkic/0Ghck2OoCV8OBrjt4JEjNwo35hE9Xdsy106VMLeNZ3fyJ5rz7koivxbkf9SohEpjVJOqH7RZLxH8yHxN82e+7vXk+LrnPxwUX8C7forxM5QpQfxMQAAyAP/TN4XQDn78W65cU8PM7/iE/5xBKfm5NL/7ji+L/7XHEUBkKUXqp9P9xPKshYcknY7ADdbKKIVat88+PEhvJNkmvcK1Y6OyMZb3dbDn4cKwxMB1r9Y7EqkPenn1gPbMplREc9CuIJZN+x8K4z7Fs0h+2HPw31tjkf6w1mTZj1YUB3OLA3sR1PkPgFJpuaRg1xVrqB6tNv1JfBWxXkOf9JCs83DzdP75d90aJjKNBmfpn99hE07F5DXaPRLTJpu+Efj+455eHh6jr4B51XDtwgiHAkaDRWRavyZBK4i27g9i3/yvSqwSwhEkHr/kTMQU/88aTe48E9k1OpElt8RaT3jMXetTMbKPGdeI1tImQodnI+lrvCHL3BgM7e/EwuaRIle+zT4z3MVnpmzJqvnT9dwopopgSSmlB4m+5ugxSlJMmBiEYQTGcICmaYTleEKXfOv4aqZpumJbtuJ4fhFGcpFlelFXdDEfjX8QtgGDkO9PwTYwSkqKZX8j+euMFUZIVVdMN07Id1/ODMIqTNMuLsqqbtuuHcZqX9a8szudufziezpfrbfc99txrf/uH2ABjCyG0wolOty5ErcnVnuMZzHRuw6zpiFQQjSmFY9IdheSQbM5CRxx68hDjfnDzMaHoJ8NvVSq5qg+aTndXxXh4oFZzazOEkQzsMgLJLRbHIIoWBZANOqceQUqXHnthYy2uJ3EVsomx+ZI4EK4oJM/UVZ1+pvPUqCKEjmPMyo6H6lPazFBgPwUU0YgoBHtuCcHoA6bVcaAADQTnQoQjiq8UxRyC+YDwqsdeNY+cerKsnLztBHB1LPDF08jRCCxK2bVhurW7UGrZ1RjFL2Waom2uQLF2dHlHejYplDcQSH2FnoZHKkWFc7jKoGdHmAjKjnhhZzyniQt3QkVljPpOJaUjvn+kIKQ8zjSqUQtoWkqQvHynKqrUse1AcHVisJ77xOmjIeSiURkA6Zgfld15UVJnZA+W1eyny2q+WOUn9khPzREHWek3KwSGwyF+eaoMpcxqDOL15MpHBRuqM3S4Hruf+/IVNdj4FJnRq3n0KUvNWc0PqxxMhdMJ5w2MJuLZjpu4Vq8fVqBvqXiuU/ENy8yOwyFiUjPw7cGZI5Pq68bjMlHgkuvH4D5R4HTuMZ4nROkulLXYUDCRcVwQgtqqiTO6zX1mdzLyeSYQ2DcZwPK5CoTQRhahYMwE1ELkexKylmv3nXCdWB4+FwjuU3bfCcIZlrtZopMZ/hNf9iwV4hiXGVpa6ZkQAalTXWkuv0pffgmKH5Lo09cPJPlUmHw2kjl3G76oCT+ujbPRxFqtCJ8XHN8buBJLKgGup5+pE+2v8s4PiiRLHCGUQ9/HNy3kd4NZYPlR8kowAv5RjsD6IDxkUkaKHmKY++ISrrnEf3DoKb4/iHj+ku8kT0THV2cbj9qx0GV5CQABxeFetfdC8lowgz8oO5cuMi+7SFhuGT7jZTzAw4VSKHFED0fzw3EAv2J4gIy7UGD1812Ka6bGHGtp5HhqObZzXdIJ34T5m3CDVDIYpeLsfw7fxLd/qa0BAAAA') format('woff2'),
+ url('iconfont.woff?t=1591165674219') format('woff'),
+ url('iconfont.ttf?t=1591165674219') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
+ url('iconfont.svg?t=1591165674219#iconfont') format('svg'); /* iOS 4.1- */
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-ic_add_line:before {
+ content: "\e609";
+}
+
+.icon-ic_account_line:before {
+ content: "\e60a";
+}
+
+.icon-ic_arrow_dwon:before {
+ content: "\e60b";
+}
+
+.icon-ic_addfriend:before {
+ content: "\e60c";
+}
+
+.icon-ic_befriend:before {
+ content: "\e60d";
+}
+
+.icon-ic_apple_line:before {
+ content: "\e60e";
+}
+
+.icon-ic_arrow_right:before {
+ content: "\e60f";
+}
+
+.icon-ic_arrow_left:before {
+ content: "\e610";
+}
+
+.icon-ic_bluetoothon:before {
+ content: "\e611";
+}
+
+.icon-ic_bluetoothoff:before {
+ content: "\e612";
+}
+
+.icon-ic_arrow_up:before {
+ content: "\e613";
+}
+
+.icon-ic_camera_line:before {
+ content: "\e614";
+}
+
+.icon-ic_deleate_line:before {
+ content: "\e615";
+}
+
+.icon-ic_close_line:before {
+ content: "\e616";
+}
+
+.icon-ic_down_line:before {
+ content: "\e617";
+}
+
+.icon-ic_boy_line:before {
+ content: "\e618";
+}
+
+.icon-ic_customerservice:before {
+ content: "\e619";
+}
+
+.icon-ic_checked_line:before {
+ content: "\e61a";
+}
+
+.icon-ic_checkbox_line:before {
+ content: "\e61b";
+}
+
+.icon-ic_collect_line:before {
+ content: "\e61c";
+}
+
+.icon-ic_correct_line:before {
+ content: "\e61d";
+}
+
+.icon-ic_down_line1:before {
+ content: "\e61e";
+}
+
+.icon-ic_edit:before {
+ content: "\e61f";
+}
+
+.icon-ic_dwonload_line:before {
+ content: "\e620";
+}
+
+.icon-ic_cart_line:before {
+ content: "\e621";
+}
+
+.icon-ic_down_round:before {
+ content: "\e622";
+}
+
+.icon-ic_download:before {
+ content: "\e623";
+}
+
+.icon-ic_friendlist:before {
+ content: "\e624";
+}
+
+.icon-ic_locate_line:before {
+ content: "\e625";
+}
+
+.icon-ic_like_line:before {
+ content: "\e626";
+}
+
+.icon-ic_fingerpoint_black:before {
+ content: "\e627";
+}
+
+.icon-ic_found_line:before {
+ content: "\e628";
+}
+
+.icon-ic_email_line:before {
+ content: "\e629";
+}
+
+.icon-ic_like_line_regulary:before {
+ content: "\e62a";
+}
+
+.icon-ic_list:before {
+ content: "\e62b";
+}
+
+.icon-ic_left_linedefuben:before {
+ content: "\e62c";
+}
+
+.icon-ic_girl_line:before {
+ content: "\e62d";
+}
+
+.icon-ic_language_line:before {
+ content: "\e62e";
+}
+
+.icon-ic_message_line:before {
+ content: "\e62f";
+}
+
+.icon-ic_hot_line:before {
+ content: "\e630";
+}
+
+.icon-ic_left_round:before {
+ content: "\e631";
+}
+
+.icon-ic_left_line:before {
+ content: "\e632";
+}
+
+.icon-ic_invisible:before {
+ content: "\e633";
+}
+
+.icon-ic_emoj:before {
+ content: "\e634";
+}
+
+.icon-ic_right_line:before {
+ content: "\e635";
+}
+
+.icon-ic_scan_line:before {
+ content: "\e636";
+}
+
+.icon-ic_more_across_black:before {
+ content: "\e637";
+}
+
+.icon-ic_more_colum_balck:before {
+ content: "\e638";
+}
+
+.icon-ic_signin_line:before {
+ content: "\e639";
+}
+
+.icon-ic_refresh_line:before {
+ content: "\e63a";
+}
+
+.icon-ic_quit:before {
+ content: "\e63b";
+}
+
+.icon-ic_notice_line:before {
+ content: "\e63c";
+}
+
+.icon-ic_up_line:before {
+ content: "\e63d";
+}
+
+.icon-ic_upload_line:before {
+ content: "\e63e";
+}
+
+.icon-ic_right_line1:before {
+ content: "\e63f";
+}
+
+.icon-ic_talk_line:before {
+ content: "\e640";
+}
+
+.icon-ic_search_line:before {
+ content: "\e641";
+}
+
+.icon-ic_password_line:before {
+ content: "\e642";
+}
+
+.icon-ic_upload_square:before {
+ content: "\e643";
+}
+
+.icon-ic_wallet_line:before {
+ content: "\e644";
+}
+
+.icon-ic_QRcode:before {
+ content: "\e645";
+}
+
+.icon-ic_picture_line:before {
+ content: "\e646";
+}
+
+.icon-ic_support_line:before {
+ content: "\e647";
+}
+
+.icon-ic_star_line:before {
+ content: "\e648";
+}
+
+.icon-ic_upload:before {
+ content: "\e649";
+}
+
+.icon-ic_reveiw:before {
+ content: "\e64a";
+}
+
+.icon-ic_setout_line:before {
+ content: "\e64b";
+}
+
+.icon-ic_safty_line:before {
+ content: "\e64c";
+}
+
+.icon-ic_test_line:before {
+ content: "\e64d";
+}
+
+.icon-ic_switch:before {
+ content: "\e64e";
+}
+
+.icon-ic_up_round:before {
+ content: "\e64f";
+}
+
+.icon-ic_wifi_black:before {
+ content: "\e650";
+}
+
+.icon-ic_right_round:before {
+ content: "\e651";
+}
+
+.icon-ic_set_line:before {
+ content: "\e652";
+}
+
+.icon-ic_signedin:before {
+ content: "\e653";
+}
+
+.icon-ic_up_linedefuben:before {
+ content: "\e654";
+}
+
+.icon-ic_repost_line:before {
+ content: "\e655";
+}
+
+.icon-ic_verifycode:before {
+ content: "\e656";
+}
+
+.icon-ic_vip_line:before {
+ content: "\e657";
+}
+
+.icon-ic_twitter_line:before {
+ content: "\e658";
+}
+
+.icon-ic_visible:before {
+ content: "\e659";
+}
+
+.icon-ic_share_line:before {
+ content: "\e65a";
+}
+
+.icon-ic_add_filled:before {
+ content: "\e65b";
+}
+
+.icon-ic_acoount_filled:before {
+ content: "\e65c";
+}
+
+.icon-ic_checked_filled:before {
+ content: "\e65d";
+}
+
+.icon-ic_email_round:before {
+ content: "\e65e";
+}
+
+.icon-ic_deleate_filled:before {
+ content: "\e65f";
+}
+
+.icon-ic_alipay:before {
+ content: "\e660";
+}
+
+.icon-ic_buetooth_filled_black:before {
+ content: "\e661";
+}
+
+.icon-ic_less_black:before {
+ content: "\e662";
+}
+
+.icon-ic_link:before {
+ content: "\e663";
+}
+
+.icon-ic_facebook_round:before {
+ content: "\e664";
+}
+
+.icon-ic_down_round_filled:before {
+ content: "\e665";
+}
+
+.icon-ic_next_black:before {
+ content: "\e666";
+}
+
+.icon-ic_help:before {
+ content: "\e667";
+}
+
+.icon-ic_close_filled:before {
+ content: "\e668";
+}
+
+.icon-ic_down_filled:before {
+ content: "\e669";
+}
+
+.icon-ic_up_round_filled:before {
+ content: "\e66a";
+}
+
+.icon-ic_checked_line_color:before {
+ content: "\e66b";
+}
+
+.icon-ic_previous_black:before {
+ content: "\e66c";
+}
+
+.icon-ic_correct_filled:before {
+ content: "\e66d";
+}
+
+.icon-ic_apple_round:before {
+ content: "\e66e";
+}
+
+.icon-ic_weblog:before {
+ content: "\e66f";
+}
+
+.icon-ic_left_round_filled:before {
+ content: "\e670";
+}
+
+.icon-ic_more_black:before {
+ content: "\e671";
+}
+
+.icon-ic_boy_filled:before {
+ content: "\e672";
+}
+
+.icon-ic_set_filled:before {
+ content: "\e673";
+}
+
+.icon-ic_play_black:before {
+ content: "\e674";
+}
+
+.icon-ic_like_filled_black:before {
+ content: "\e675";
+}
+
+.icon-ic_up_filled:before {
+ content: "\e676";
+}
+
+.icon-ic_voice_black:before {
+ content: "\e677";
+}
+
+.icon-ic_left_filled:before {
+ content: "\e678";
+}
+
+.icon-ic_right_round_filled:before {
+ content: "\e679";
+}
+
+.icon-ic_right_fileed:before {
+ content: "\e67a";
+}
+
+.icon-ic_setout_round:before {
+ content: "\e67b";
+}
+
+.icon-ic_girl_filled:before {
+ content: "\e67c";
+}
+
+.icon-ic_mobile:before {
+ content: "\e67d";
+}
+
+.icon-ic_hot_filled_black:before {
+ content: "\e67e";
+}
+
+.icon-ic_google_round:before {
+ content: "\e67f";
+}
+
+.icon-ic_locat_filled_black:before {
+ content: "\e680";
+}
+
+.icon-ic_language_round:before {
+ content: "\e681";
+}
+
+.icon-ic_password_filled:before {
+ content: "\e682";
+}
+
+.icon-ic_twitter_round:before {
+ content: "\e683";
+}
+
+.icon-ic_sendmessage_black:before {
+ content: "\e684";
+}
+
+.icon-ic_wechat:before {
+ content: "\e685";
+}
+
+.icon-ic_verifycode_filled:before {
+ content: "\e686";
+}
+
+.icon-ic_vedio_black:before {
+ content: "\e687";
+}
+
+.icon-ic_stop_black:before {
+ content: "\e688";
+}
+
+.icon-ic_music_black:before {
+ content: "\e689";
+}
+
+.icon-ic_share_round_black:before {
+ content: "\e68a";
+}
+
+.icon-ic_account_transparent:before {
+ content: "\e68b";
+}
+
+.icon-ic_close_transparent:before {
+ content: "\e68c";
+}
+
+.icon-ic_correct_transparent:before {
+ content: "\e68d";
+}
+
+.icon-ic_left_transparent:before {
+ content: "\e68e";
+}
+
+.icon-ic_add_transparent:before {
+ content: "\e68f";
+}
+
+.icon-ic_password_transparent:before {
+ content: "\e690";
+}
+
+.icon-ic_right_transparent:before {
+ content: "\e691";
+}
+
+.icon-ic_down_transparent:before {
+ content: "\e692";
+}
+
+.icon-ic_up_transparent:before {
+ content: "\e693";
+}
+
+.icon-ic_left_round_transparent:before {
+ content: "\e694";
+}
+
+.icon-ic_down_round_transparent:before {
+ content: "\e695";
+}
+
+.icon-ic_up_round_transparent:before {
+ content: "\e696";
+}
+
+.icon-ic_right_round_transparent:before {
+ content: "\e697";
+}
+
+.icon-ic_deleate_transparent:before {
+ content: "\e698";
+}
+
diff --git a/spzac/fonts/iconfont.eot b/spzac/fonts/iconfont.eot
new file mode 100644
index 0000000..a384b84
Binary files /dev/null and b/spzac/fonts/iconfont.eot differ
diff --git a/spzac/fonts/iconfont.svg b/spzac/fonts/iconfont.svg
new file mode 100644
index 0000000..5c48357
--- /dev/null
+++ b/spzac/fonts/iconfont.svg
@@ -0,0 +1,458 @@
+
+
+
+
+
+Created by iconfont
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spzac/fonts/iconfont.ttf b/spzac/fonts/iconfont.ttf
new file mode 100644
index 0000000..af116c3
Binary files /dev/null and b/spzac/fonts/iconfont.ttf differ
diff --git a/spzac/fonts/iconfont.woff b/spzac/fonts/iconfont.woff
new file mode 100644
index 0000000..488b083
Binary files /dev/null and b/spzac/fonts/iconfont.woff differ
diff --git a/spzac/fonts/iconfont.woff2 b/spzac/fonts/iconfont.woff2
new file mode 100644
index 0000000..64c8bd1
Binary files /dev/null and b/spzac/fonts/iconfont.woff2 differ
diff --git a/spzac/footer.php b/spzac/footer.php
index e6c2538..e27704d 100644
--- a/spzac/footer.php
+++ b/spzac/footer.php
@@ -6,17 +6,18 @@
-
+
-
+
@@ -24,10 +25,14 @@
-
-
-
-
+
+
+
+
+
+
+
+
is('post')) : ?>
fields->img): ?>need('assets/poster.php'); ?>
diff --git a/spzac/functions.php b/spzac/functions.php
index 6773934..166e571 100644
--- a/spzac/functions.php
+++ b/spzac/functions.php
@@ -305,7 +305,7 @@ function getGravatar($email, $s = 96, $d = 'mp', $r = 'g', $img = false, $atts =
{
preg_match_all('/((\d)*)@qq.com/', $email, $vai);
if (empty($vai['1']['0'])) {
- $url = 'https://www.gravatar.com/avatar/';
+ $url = 'https://gravatar.loli.net/avatar/';
$url .= md5(strtolower(trim($email)));
$url .= "?s=$s&d=$d&r=$r";
if ($img) {
@@ -446,19 +446,19 @@ function listdeng($archive){
$db->query('ALTER TABLE `'.$db->getPrefix().'contents` ADD `views` INT(10) DEFAULT 0;');
}
$exist = $db->fetchRow($db->select('views')->from('table.contents')->where('cid = ?', $cid))['views'];
- if($exist<200){
+ if($exist<5){
/** echo ' ';**/
- }elseif ($exist<500 && $exist>200) {
+ }elseif ($exist<20 && $exist>5) {
echo '新秀 ';
- }elseif ($exist<1000 && $exist>=500) {
+ }elseif ($exist<50 && $exist>=20) {
echo '推荐 ';
- }elseif ($exist<5000 && $exist>=1000) {
+ }elseif ($exist<1000 && $exist>=50) {
echo '热文 ';
- }elseif ($exist<10000 && $exist>=5000) {
+ }elseif ($exist<200 && $exist>=100) {
echo '头条 ';
- }elseif ($exist<30000 && $exist>=10000) {
+ }elseif ($exist<500 && $exist>=200) {
echo '火爆 ';
- }elseif ($exist>=30000) {
+ }elseif ($exist>=500) {
echo '神贴 ';
}
}
@@ -511,7 +511,7 @@ function getRandomPosts($random=5){
$strimg = $img;
if ($strimg){$strimg=$strimg;}else{$strimg = "/usr/themes/spzac/img/adimg.png";}
- echo ''.$post_title.' ';
+ echo ''.$post_title.' ';
@@ -639,13 +639,28 @@ function costcn($cid,$mid,$str,$status){
$str = preg_replace("/\[hide\](.*?)\[\/hide\]/sm",'此处内容需要评论回复后
',$str);
}
}
-
-//提示框短代码
+if ( strpos( $str, '[msigle')!== false) {//提高效率,避免每篇文章都要解析
+ //[scode class="red"]这里编辑标签内容//[/scode]
+ $str = preg_replace("/\[msigle\](.*?)\[\/msigle\]/sm",'',$str);
+}
+if ( strpos( $str, '[mlist')!== false) {//提高效率,避免每篇文章都要解析
+ //[scode class="red"]这里编辑标签内容//[/scode]
+ $str = preg_replace("/\[mlist\](.*?)\[\/mlist\]/sm",'',$str);
+}
+if ( strpos( $str, '[vbili')!== false) {//提高效率,避免每篇文章都要解析
+ //[scode class="red"]这里编辑标签内容//[/scode]
+ $str = preg_replace("/\[vbili\](.*?)\[\/vbili\]/sm",'',$str);
+}
+//提示框短代码
if ( strpos( $str, '[scode')!== false) {//提高效率,避免每篇文章都要解析
//[scode class="red"]这里编辑标签内容//[/scode]
$str = preg_replace("/\[scode\](.*?)\[\/scode\]/sm",'$1
',$str);
}
-
+ /* 图片短代码 */
+if ( strpos( $str, '[photo')!== false) {//提高效率,避免每篇文章都要解析
+ $str = preg_replace("/\[photo\](.*?)\[\/photo\]/sm",'$1
',$str);
+}
+
//调用其他文章短代码
if ( strpos( $str, '[post')!== false) {//提高效率,避免每篇文章都要解析
preg_match_all("/\[post\](.*?)\[\/post\]/sm",$str,$strcid);
@@ -874,3 +889,13 @@ public static function tagslist()
cid); ?>
+*/
+function art_count ($cid){
+ $db=Typecho_Db::get ();
+ $rs=$db->fetchRow ($db->select ('table.contents.text')->from ('table.contents')->where ('table.contents.cid=?',$cid)->order ('table.contents.cid',Typecho_Db::SORT_ASC)->limit (1));
+ $text = preg_replace("/[^\x{4e00}-\x{9fa5}]/u", "", $rs['text']);
+ echo mb_strlen($text,'UTF-8');
+}
diff --git a/spzac/header.php b/spzac/header.php
index 871572c..4eb062e 100644
--- a/spzac/header.php
+++ b/spzac/header.php
@@ -5,11 +5,14 @@
options->favicon): ?>
-
-
-
+
+
+
-
+
+
+
+
_currentPage>1) echo '第 '.$this->_currentPage.' 页 - '; ?>archiveTitle(array(
'category' => _t('%s '),
'search' => _t('包含关键字 %s 的内容'),
@@ -30,7 +33,8 @@
-
+
+
diff --git a/spzac/img/bg-service-3.svg b/spzac/img/bg-service-3.svg
new file mode 100644
index 0000000..5879bca
--- /dev/null
+++ b/spzac/img/bg-service-3.svg
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spzac/img/bg.jpg b/spzac/img/bg.jpg
new file mode 100644
index 0000000..a9c544f
Binary files /dev/null and b/spzac/img/bg.jpg differ
diff --git a/spzac/img/egg/bg-ico1.png b/spzac/img/egg/bg-ico1.png
index 3ae96bd..b307d83 100644
Binary files a/spzac/img/egg/bg-ico1.png and b/spzac/img/egg/bg-ico1.png differ
diff --git a/spzac/img/egg/bg-ico99.png b/spzac/img/egg/bg-ico14.png
similarity index 100%
rename from spzac/img/egg/bg-ico99.png
rename to spzac/img/egg/bg-ico14.png
diff --git a/spzac/img/egg/bg-ico14.psd b/spzac/img/egg/bg-ico14.psd
new file mode 100644
index 0000000..56517d4
Binary files /dev/null and b/spzac/img/egg/bg-ico14.psd differ
diff --git a/spzac/img/egg/bg-ico5.png b/spzac/img/egg/bg-ico15.png
similarity index 100%
rename from spzac/img/egg/bg-ico5.png
rename to spzac/img/egg/bg-ico15.png
diff --git a/spzac/img/egg/bg-ico2.png b/spzac/img/egg/bg-ico2.png
index 95c8aaf..1b9b381 100644
Binary files a/spzac/img/egg/bg-ico2.png and b/spzac/img/egg/bg-ico2.png differ
diff --git a/spzac/img/egg/bg-ico24.png b/spzac/img/egg/bg-ico24.png
new file mode 100644
index 0000000..db518a1
Binary files /dev/null and b/spzac/img/egg/bg-ico24.png differ
diff --git a/spzac/img/egg/bg-ico3.png b/spzac/img/egg/bg-ico3.png
index 44696e4..95c8aaf 100644
Binary files a/spzac/img/egg/bg-ico3.png and b/spzac/img/egg/bg-ico3.png differ
diff --git a/spzac/img/egg/bg-ico516.png b/spzac/img/egg/bg-ico516.png
new file mode 100644
index 0000000..5bc85aa
Binary files /dev/null and b/spzac/img/egg/bg-ico516.png differ
diff --git a/spzac/img/egg/bg-ico48.png b/spzac/img/egg/bg-ico517.png
similarity index 100%
rename from spzac/img/egg/bg-ico48.png
rename to spzac/img/egg/bg-ico517.png
diff --git a/spzac/img/egg/bg-ico599.png b/spzac/img/egg/bg-ico599.png
new file mode 100644
index 0000000..abc9f7f
Binary files /dev/null and b/spzac/img/egg/bg-ico599.png differ
diff --git a/spzac/img/egg/bg-ico73.png b/spzac/img/egg/bg-ico601.png
similarity index 100%
rename from spzac/img/egg/bg-ico73.png
rename to spzac/img/egg/bg-ico601.png
diff --git a/spzac/img/egg/bg-ico602.png b/spzac/img/egg/bg-ico602.png
new file mode 100644
index 0000000..44696e4
Binary files /dev/null and b/spzac/img/egg/bg-ico602.png differ
diff --git a/spzac/img/egg/bg-ico604.png b/spzac/img/egg/bg-ico604.png
new file mode 100644
index 0000000..3ae96bd
Binary files /dev/null and b/spzac/img/egg/bg-ico604.png differ
diff --git a/spzac/img/egg/bg-ico619.png b/spzac/img/egg/bg-ico619.png
new file mode 100644
index 0000000..198e8eb
Binary files /dev/null and b/spzac/img/egg/bg-ico619.png differ
diff --git a/spzac/img/egg/bg-ico620.png b/spzac/img/egg/bg-ico620.png
new file mode 100644
index 0000000..78d672f
Binary files /dev/null and b/spzac/img/egg/bg-ico620.png differ
diff --git a/spzac/img/egg/bg-ico622.png b/spzac/img/egg/bg-ico622.png
new file mode 100644
index 0000000..11d9f47
Binary files /dev/null and b/spzac/img/egg/bg-ico622.png differ
diff --git a/spzac/img/footlogo.png b/spzac/img/footlogo.png
new file mode 100644
index 0000000..94325e4
Binary files /dev/null and b/spzac/img/footlogo.png differ
diff --git a/spzac/img/hbg.jpg b/spzac/img/hbg.jpg
new file mode 100644
index 0000000..ba5eab4
Binary files /dev/null and b/spzac/img/hbg.jpg differ
diff --git a/spzac/img/head.png b/spzac/img/head.png
new file mode 100644
index 0000000..96ca017
Binary files /dev/null and b/spzac/img/head.png differ
diff --git a/spzac/img/icon_hot.png b/spzac/img/icon_hot.png
new file mode 100644
index 0000000..813c325
Binary files /dev/null and b/spzac/img/icon_hot.png differ
diff --git a/spzac/img/logo.png b/spzac/img/logo.png
index 7f3fefd..2417f48 100644
Binary files a/spzac/img/logo.png and b/spzac/img/logo.png differ
diff --git a/spzac/img/qcode.png b/spzac/img/qcode.png
new file mode 100644
index 0000000..311f960
Binary files /dev/null and b/spzac/img/qcode.png differ
diff --git a/spzac/img/shang/alipay.jpg b/spzac/img/shang/alipay.jpg
new file mode 100644
index 0000000..5eb1120
Binary files /dev/null and b/spzac/img/shang/alipay.jpg differ
diff --git a/spzac/img/shang/alipayimg.jpg b/spzac/img/shang/alipayimg.jpg
new file mode 100644
index 0000000..fe52616
Binary files /dev/null and b/spzac/img/shang/alipayimg.jpg differ
diff --git a/spzac/img/shang/close.jpg b/spzac/img/shang/close.jpg
new file mode 100644
index 0000000..4208d54
Binary files /dev/null and b/spzac/img/shang/close.jpg differ
diff --git a/spzac/img/shang/code-bg.jpg b/spzac/img/shang/code-bg.jpg
new file mode 100644
index 0000000..bb1fe32
Binary files /dev/null and b/spzac/img/shang/code-bg.jpg differ
diff --git a/spzac/img/shang/cy-reward-title-bg.jpg b/spzac/img/shang/cy-reward-title-bg.jpg
new file mode 100644
index 0000000..f81a0a8
Binary files /dev/null and b/spzac/img/shang/cy-reward-title-bg.jpg differ
diff --git a/spzac/img/shang/radio1.jpg b/spzac/img/shang/radio1.jpg
new file mode 100644
index 0000000..0c530d7
Binary files /dev/null and b/spzac/img/shang/radio1.jpg differ
diff --git a/spzac/img/shang/radio2.jpg b/spzac/img/shang/radio2.jpg
new file mode 100644
index 0000000..d0e4525
Binary files /dev/null and b/spzac/img/shang/radio2.jpg differ
diff --git a/spzac/img/shang/wechat.jpg b/spzac/img/shang/wechat.jpg
new file mode 100644
index 0000000..e26a14a
Binary files /dev/null and b/spzac/img/shang/wechat.jpg differ
diff --git a/spzac/img/shang/weipayimg.jpg b/spzac/img/shang/weipayimg.jpg
new file mode 100644
index 0000000..fe52616
Binary files /dev/null and b/spzac/img/shang/weipayimg.jpg differ
diff --git a/spzac/img/upyun.png b/spzac/img/upyun.png
new file mode 100644
index 0000000..bd32376
Binary files /dev/null and b/spzac/img/upyun.png differ
diff --git a/spzac/index - hpian.php b/spzac/index - hpian.php
new file mode 100644
index 0000000..e0feec4
--- /dev/null
+++ b/spzac/index - hpian.php
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spzac/index.php b/spzac/index.php
index 54d2aa8..7a0e900 100644
--- a/spzac/index.php
+++ b/spzac/index.php
@@ -54,7 +54,8 @@
is('index') && $this->_currentPage == 1): ?>
-
+ need('index - hpian.php'); ?>
+
-
-
'.$jis->fields->leix.'
+
+
'.$jis->fields->leix.'
'.$slei.'
@@ -122,11 +123,11 @@
- 文章推荐
+ 文章推荐
- 关于我们
+ 关于我们
@@ -147,23 +148,41 @@
About
-
在浏览设计,运营,优化,建站等资料文章时,感觉到很多新手都碰到各种各样的问题,同时网上真正分享经验比较少。我何不一边学习,一边分享我积累的经验呢。
-所以建立了这个网站。
-See you in BLOG…
-
-
When browsing design, operation, optimization, website building and other materials and articles, I feel that many novices are confronted with various problems, at the same time, there is less real experience sharing online. Why don't I share my experience while learning.
-
-So we set up this website.
-
-See you in BLOG…
+
已经忘了什么时候开始用错爱涅槃做网名了,但从一开始就用 love2wind 作为ID,毕竟已经过了很长很长的时间了。本人爱好很多,多到好像什么都会点,又什么都不会(囧)!从很早开始就折腾网站,从论坛到博客,DIscz、wordpress、还有很多换七八糟的,但都没能坚持下来,博客算是时间长的,断断续续也有快十几年了,就这样吧,也不知道要介绍些什么?随便敲点字的样子(捂脸)。
+
I have forgotten when I started using the wrong love Nirvana as my screen name, but I used love2wind as the ID from the beginning. After all, a long, long time has passed. I have a lot of hobbies, so many that seem to be good at everything, but nothing at all (囧)! I’ve been tossing about websites from very early on, from forums to blogs, DIscz, wordpress, and many other things, but they haven’t been able to stick to it. The blog is long, and it’s been on and off for more than ten years, so be it. , Don’t know what to introduce? Just type some words (cover your face),
-
持续的过程
-
我认为学习是一个持续的过程 ,不可能一劳永逸,所以总会做出一些新鲜东西给你看。
-
I think learning is a continuous process, it can't be once and for all, so there will always be something new to show you.
+
关注我们
+
+
+
+
+
+
+ 官方QQ群
+
+
+
+
+
+ 我的微信号
+
+
+
+
+
+ 微信公众号
+
+
+
+
+
@@ -274,20 +293,20 @@ function readmessage($filename) {
-
FAQ 常见小问题
+
FAQ 常见问题
-
主题模板相关问题
-
本站相关的主题问题都可以随时欢迎咨询,在线咨询or留言咨询都会尽快处理解决,免费的主题因为易用性和完善性都略有欠缺,不一定会及时更新和解决,望请谅解
+
1、问题
+
......
-
问题咨询类
+
2、咨询
有问题咨询的时候,希望可以一个一个提出,不要一下子说很多,脑子很容易短路跟不上节奏……
-
一个好的建议
-
有好的思路,想法都可以提出来,有能力的话,会尽快完善嵌入到主题程序里面,但……最好是围绕优化推广和极简的访问用户体验上的,欢迎一起讨论……
+
3、建议
+
有好的思路,想法都可以提出来,欢迎一起讨论……
diff --git a/spzac/info - sider.php b/spzac/info - sider.php
index 65acf44..e90663e 100644
--- a/spzac/info - sider.php
+++ b/spzac/info - sider.php
@@ -12,8 +12,8 @@
options->description() ?>
have()):
while($recent->next()):
?>
-
+
-
网站简介
+ need('assets/user - social.php'); ?>
+
+
+is('index')): ?>
-
视频教程
+
最新日志
- widget('Widget_Archive@indextuis', 'pageSize=5&type=category', 'mid=1')->to($categoryPosts); ?>
+ widget('Widget_Archive@indextuis', 'pageSize=5&type=category', 'mid=15')->to($categoryPosts); ?>
next()): ?>
@@ -77,14 +119,13 @@
-is('index')): ?>
options->adimg(); ?>
最新评论
-widget('Widget_Comments_Recent','ignoreAuthor=false&pageSize=5')->to($comments); ?>
+widget('Widget_Comments_Recent','ignoreAuthor=false&pageSize=3')->to($comments); ?>
next()): ?>
'),t.append(d)),0===u.length&&(u=e('
'),t.append(u)),d.length&&(d[0].style.opacity=Math.max(-s,0)),u.length&&(u[0].style.opacity=Math.max(s,0))}t.transform("translate3d("+l+"px, "+p+"px, 0px) rotateX("+o+"deg) rotateY("+n+"deg)")}},setTransition:function(a){if(T.slides.transition(a).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(a),T.params.virtualTranslate&&0!==a){var t=!1;T.slides.eq(T.activeIndex).transitionEnd(function(){if(!t&&T&&e(this).hasClass(T.params.slideActiveClass)){t=!0,T.animating=!1;for(var a=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],s=0;s
'),T.wrapper.append(a)),a.css({height:T.width+"px"})):(a=T.container.find(".swiper-cube-shadow"),0===a.length&&(a=e('
'),T.container.append(a))));for(var s=0;s
-1&&(t=90*s+90*o,T.rtl&&(t=90*-s-90*o)),i.transform(u),T.params.cube.slideShadows){var c=T.isHorizontal()?i.find(".swiper-slide-shadow-left"):i.find(".swiper-slide-shadow-top"),m=T.isHorizontal()?i.find(".swiper-slide-shadow-right"):i.find(".swiper-slide-shadow-bottom");0===c.length&&(c=e('
'),i.append(c)),0===m.length&&(m=e('
'),i.append(m)),c.length&&(c[0].style.opacity=Math.max(-o,0)),m.length&&(m[0].style.opacity=Math.max(o,0))}}if(T.wrapper.css({"-webkit-transform-origin":"50% 50% -"+T.size/2+"px","-moz-transform-origin":"50% 50% -"+T.size/2+"px","-ms-transform-origin":"50% 50% -"+T.size/2+"px","transform-origin":"50% 50% -"+T.size/2+"px"}),T.params.cube.shadow)if(T.isHorizontal())a.transform("translate3d(0px, "+(T.width/2+T.params.cube.shadowOffset)+"px, "+-T.width/2+"px) rotateX(90deg) rotateZ(0deg) scale("+T.params.cube.shadowScale+")");else{var h=Math.abs(t)-90*Math.floor(Math.abs(t)/90),g=1.5-(Math.sin(2*h*Math.PI/360)/2+Math.cos(2*h*Math.PI/360)/2),f=T.params.cube.shadowScale,v=T.params.cube.shadowScale/g,w=T.params.cube.shadowOffset;a.transform("scale3d("+f+", 1, "+v+") translate3d(0px, "+(T.height/2+w)+"px, "+-T.height/2/v+"px) rotateX(-90deg)")}var y=T.isSafari||T.isUiWebView?-T.size/2:0;T.wrapper.transform("translate3d(0px,0,"+y+"px) rotateX("+(T.isHorizontal()?0:t)+"deg) rotateY("+(T.isHorizontal()?-t:0)+"deg)")},setTransition:function(e){T.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),T.params.cube.shadow&&!T.isHorizontal()&&T.container.find(".swiper-cube-shadow").transition(e)}},coverflow:{setTranslate:function(){for(var a=T.translate,t=T.isHorizontal()?-a+T.width/2:-a+T.height/2,s=T.isHorizontal()?T.params.coverflow.rotate:-T.params.coverflow.rotate,i=T.params.coverflow.depth,r=0,n=T.slides.length;r '),o.append(v)),0===w.length&&(w=e('
'),o.append(w)),v.length&&(v[0].style.opacity=d>0?d:0),w.length&&(w[0].style.opacity=-d>0?-d:0)}}if(T.browser.ie){T.wrapper[0].style.perspectiveOrigin=t+"px 50%"}},setTransition:function(e){T.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}}},T.lazy={initialImageLoaded:!1,loadImageInSlide:function(a,t){if(void 0!==a&&(void 0===t&&(t=!0),0!==T.slides.length)){var s=T.slides.eq(a),i=s.find("."+T.params.lazyLoadingClass+":not(."+T.params.lazyStatusLoadedClass+"):not(."+T.params.lazyStatusLoadingClass+")");!s.hasClass(T.params.lazyLoadingClass)||s.hasClass(T.params.lazyStatusLoadedClass)||s.hasClass(T.params.lazyStatusLoadingClass)||(i=i.add(s[0])),0!==i.length&&i.each(function(){var a=e(this);a.addClass(T.params.lazyStatusLoadingClass);var i=a.attr("data-background"),r=a.attr("data-src"),n=a.attr("data-srcset"),o=a.attr("data-sizes");T.loadImage(a[0],r||i,n,o,!1,function(){if(void 0!==T&&null!==T&&T){if(i?(a.css("background-image",'url("'+i+'")'),a.removeAttr("data-background")):(n&&(a.attr("srcset",n),a.removeAttr("data-srcset")),o&&(a.attr("sizes",o),a.removeAttr("data-sizes")),r&&(a.attr("src",r),a.removeAttr("data-src"))),a.addClass(T.params.lazyStatusLoadedClass).removeClass(T.params.lazyStatusLoadingClass),s.find("."+T.params.lazyPreloaderClass+", ."+T.params.preloaderClass).remove(),T.params.loop&&t){var e=s.attr("data-swiper-slide-index");if(s.hasClass(T.params.slideDuplicateClass)){var l=T.wrapper.children('[data-swiper-slide-index="'+e+'"]:not(.'+T.params.slideDuplicateClass+")");T.lazy.loadImageInSlide(l.index(),!1)}else{var p=T.wrapper.children("."+T.params.slideDuplicateClass+'[data-swiper-slide-index="'+e+'"]');T.lazy.loadImageInSlide(p.index(),!1)}}T.emit("onLazyImageReady",T,s[0],a[0])}}),T.emit("onLazyImageLoad",T,s[0],a[0])})}},load:function(){var a,t=T.params.slidesPerView;if("auto"===t&&(t=0),T.lazy.initialImageLoaded||(T.lazy.initialImageLoaded=!0),T.params.watchSlidesVisibility)T.wrapper.children("."+T.params.slideVisibleClass).each(function(){T.lazy.loadImageInSlide(e(this).index())});else if(t>1)for(a=T.activeIndex;a1||T.params.lazyLoadingInPrevNextAmount&&T.params.lazyLoadingInPrevNextAmount>1){var s=T.params.lazyLoadingInPrevNextAmount,i=t,r=Math.min(T.activeIndex+i+Math.max(s,i),T.slides.length),n=Math.max(T.activeIndex-Math.max(i,s),0);for(a=T.activeIndex+t;a0&&T.lazy.loadImageInSlide(o.index());var l=T.wrapper.children("."+T.params.slidePrevClass);l.length>0&&T.lazy.loadImageInSlide(l.index())}},onTransitionStart:function(){T.params.lazyLoading&&(T.params.lazyLoadingOnTransitionStart||!T.params.lazyLoadingOnTransitionStart&&!T.lazy.initialImageLoaded)&&T.lazy.load()},onTransitionEnd:function(){T.params.lazyLoading&&!T.params.lazyLoadingOnTransitionStart&&T.lazy.load()}},T.scrollbar={isTouched:!1,setDragPosition:function(e){var a=T.scrollbar,t=T.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].pageX:e.pageX||e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].pageY:e.pageY||e.clientY,s=t-a.track.offset()[T.isHorizontal()?"left":"top"]-a.dragSize/2,i=-T.minTranslate()*a.moveDivider,r=-T.maxTranslate()*a.moveDivider;sr&&(s=r),s=-s/a.moveDivider,T.updateProgress(s),T.setWrapperTranslate(s,!0)},dragStart:function(e){var a=T.scrollbar;a.isTouched=!0,e.preventDefault(),e.stopPropagation(),a.setDragPosition(e),clearTimeout(a.dragTimeout),a.track.transition(0),T.params.scrollbarHide&&a.track.css("opacity",1),T.wrapper.transition(100),a.drag.transition(100),T.emit("onScrollbarDragStart",T)},dragMove:function(e){var a=T.scrollbar;a.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,a.setDragPosition(e),T.wrapper.transition(0),a.track.transition(0),a.drag.transition(0),T.emit("onScrollbarDragMove",T))},dragEnd:function(e){var a=T.scrollbar;a.isTouched&&(a.isTouched=!1,T.params.scrollbarHide&&(clearTimeout(a.dragTimeout),a.dragTimeout=setTimeout(function(){a.track.css("opacity",0),a.track.transition(400)},1e3)),T.emit("onScrollbarDragEnd",T),T.params.scrollbarSnapOnRelease&&T.slideReset())},draggableEvents:function(){return T.params.simulateTouch!==!1||T.support.touch?T.touchEvents:T.touchEventsDesktop}(),enableDraggable:function(){var a=T.scrollbar,t=T.support.touch?a.track:document;e(a.track).on(a.draggableEvents.start,a.dragStart),e(t).on(a.draggableEvents.move,a.dragMove),e(t).on(a.draggableEvents.end,a.dragEnd)},disableDraggable:function(){var a=T.scrollbar,t=T.support.touch?a.track:document;e(a.track).off(a.draggableEvents.start,a.dragStart),e(t).off(a.draggableEvents.move,a.dragMove),e(t).off(a.draggableEvents.end,a.dragEnd)},set:function(){if(T.params.scrollbar){var a=T.scrollbar;a.track=e(T.params.scrollbar),T.params.uniqueNavElements&&"string"==typeof T.params.scrollbar&&a.track.length>1&&1===T.container.find(T.params.scrollbar).length&&(a.track=T.container.find(T.params.scrollbar)),a.drag=a.track.find(".swiper-scrollbar-drag"),0===a.drag.length&&(a.drag=e('
'),a.track.append(a.drag)),a.drag[0].style.width="",a.drag[0].style.height="",a.trackSize=T.isHorizontal()?a.track[0].offsetWidth:a.track[0].offsetHeight,a.divider=T.size/T.virtualSize,a.moveDivider=a.divider*(a.trackSize/T.size),a.dragSize=a.trackSize*a.divider,T.isHorizontal()?a.drag[0].style.width=a.dragSize+"px":a.drag[0].style.height=a.dragSize+"px",a.divider>=1?a.track[0].style.display="none":a.track[0].style.display="",T.params.scrollbarHide&&(a.track[0].style.opacity=0)}},setTranslate:function(){if(T.params.scrollbar){var e,a=T.scrollbar,t=(T.translate,a.dragSize);e=(a.trackSize-a.dragSize)*T.progress,T.rtl&&T.isHorizontal()?(e=-e,e>0?(t=a.dragSize-e,e=0):-e+a.dragSize>a.trackSize&&(t=a.trackSize+e)):e<0?(t=a.dragSize+e,e=0):e+a.dragSize>a.trackSize&&(t=a.trackSize-e),T.isHorizontal()?(T.support.transforms3d?a.drag.transform("translate3d("+e+"px, 0, 0)"):a.drag.transform("translateX("+e+"px)"),a.drag[0].style.width=t+"px"):(T.support.transforms3d?a.drag.transform("translate3d(0px, "+e+"px, 0)"):a.drag.transform("translateY("+e+"px)"),a.drag[0].style.height=t+"px"),T.params.scrollbarHide&&(clearTimeout(a.timeout),a.track[0].style.opacity=1,a.timeout=setTimeout(function(){a.track[0].style.opacity=0,a.track.transition(400)},1e3))}},setTransition:function(e){T.params.scrollbar&&T.scrollbar.drag.transition(e)}},T.controller={LinearSpline:function(e,a){var t=function(){var e,a,t;return function(s,i){for(a=-1,e=s.length;e-a>1;)s[t=e+a>>1]<=i?a=t:e=t;return e}}();this.x=e,this.y=a,this.lastIndex=e.length-1;var s,i;this.x.length;this.interpolate=function(e){return e?(i=t(this.x,e),s=i-1,(e-this.x[s])*(this.y[i]-this.y[s])/(this.x[i]-this.x[s])+this.y[s]):0}},getInterpolateFunction:function(e){T.controller.spline||(T.controller.spline=T.params.loop?new T.controller.LinearSpline(T.slidesGrid,e.slidesGrid):new T.controller.LinearSpline(T.snapGrid,e.snapGrid))},setTranslate:function(e,t){function s(a){e=a.rtl&&"horizontal"===a.params.direction?-T.translate:T.translate,"slide"===T.params.controlBy&&(T.controller.getInterpolateFunction(a),r=-T.controller.spline.interpolate(-e)),r&&"container"!==T.params.controlBy||(i=(a.maxTranslate()-a.minTranslate())/(T.maxTranslate()-T.minTranslate()),r=(e-T.minTranslate())*i+a.minTranslate()),T.params.controlInverse&&(r=a.maxTranslate()-r),a.updateProgress(r),a.setWrapperTranslate(r,!1,T),a.updateActiveIndex()}var i,r,n=T.params.control;if(Array.isArray(n))for(var o=0;o-1?"DOMMouseScroll":function(){var e="onwheel"in document;if(!e){var a=document.createElement("div");a.setAttribute("onwheel","return;"),e="function"==typeof a.onwheel}return!e&&document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0&&(e=document.implementation.hasFeature("Events.wheel","3.0")),e}()?"wheel":"mousewheel"),T.disableMousewheelControl=function(){if(!T.mousewheel.event)return!1;var a=T.container;return"container"!==T.params.mousewheelEventsTarged&&(a=e(T.params.mousewheelEventsTarged)),a.off(T.mousewheel.event,u),T.params.mousewheelControl=!1,!0},T.enableMousewheelControl=function(){if(!T.mousewheel.event)return!1;var a=T.container;return"container"!==T.params.mousewheelEventsTarged&&(a=e(T.params.mousewheelEventsTarged)),a.on(T.mousewheel.event,u),T.params.mousewheelControl=!0,!0},T.parallax={setTranslate:function(){T.container.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){c(this,T.progress)}),T.slides.each(function(){var a=e(this);a.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){c(this,Math.min(Math.max(a[0].progress,-1),1))})})},setTransition:function(a){void 0===a&&(a=T.params.speed),T.container.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){var t=e(this),s=parseInt(t.attr("data-swiper-parallax-duration"),10)||a;0===a&&(s=0),t.transition(s)})}},T.zoom={scale:1,currentScale:1,isScaling:!1,gesture:{slide:void 0,slideWidth:void 0,slideHeight:void 0,image:void 0,imageWrap:void 0,zoomMax:T.params.zoomMax},image:{isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},velocity:{x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0},getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var a=e.targetTouches[0].pageX,t=e.targetTouches[0].pageY,s=e.targetTouches[1].pageX,i=e.targetTouches[1].pageY;return Math.sqrt(Math.pow(s-a,2)+Math.pow(i-t,2))},onGestureStart:function(a){var t=T.zoom;if(!T.support.gestures){if("touchstart"!==a.type||"touchstart"===a.type&&a.targetTouches.length<2)return;t.gesture.scaleStart=t.getDistanceBetweenTouches(a)}if(!(t.gesture.slide&&t.gesture.slide.length||(t.gesture.slide=e(this),0===t.gesture.slide.length&&(t.gesture.slide=T.slides.eq(T.activeIndex)),t.gesture.image=t.gesture.slide.find("img, svg, canvas"),t.gesture.imageWrap=t.gesture.image.parent("."+T.params.zoomContainerClass),t.gesture.zoomMax=t.gesture.imageWrap.attr("data-swiper-zoom")||T.params.zoomMax,0!==t.gesture.imageWrap.length)))return void(t.gesture.image=void 0);t.gesture.image.transition(0),t.isScaling=!0},onGestureChange:function(e){var a=T.zoom;if(!T.support.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;a.gesture.scaleMove=a.getDistanceBetweenTouches(e)}a.gesture.image&&0!==a.gesture.image.length&&(T.support.gestures?a.scale=e.scale*a.currentScale:a.scale=a.gesture.scaleMove/a.gesture.scaleStart*a.currentScale,a.scale>a.gesture.zoomMax&&(a.scale=a.gesture.zoomMax-1+Math.pow(a.scale-a.gesture.zoomMax+1,.5)),a.scalea.image.touchesStart.x)return void(a.image.isTouched=!1);if(!T.isHorizontal()&&Math.floor(a.image.minY)===Math.floor(a.image.startY)&&a.image.touchesCurrent.ya.image.touchesStart.y)return void(a.image.isTouched=!1)}e.preventDefault(),e.stopPropagation(),a.image.isMoved=!0,a.image.currentX=a.image.touchesCurrent.x-a.image.touchesStart.x+a.image.startX,a.image.currentY=a.image.touchesCurrent.y-a.image.touchesStart.y+a.image.startY,a.image.currentXa.image.maxX&&(a.image.currentX=a.image.maxX-1+Math.pow(a.image.currentX-a.image.maxX+1,.8)),a.image.currentYa.image.maxY&&(a.image.currentY=a.image.maxY-1+Math.pow(a.image.currentY-a.image.maxY+1,.8)),a.velocity.prevPositionX||(a.velocity.prevPositionX=a.image.touchesCurrent.x),a.velocity.prevPositionY||(a.velocity.prevPositionY=a.image.touchesCurrent.y),a.velocity.prevTime||(a.velocity.prevTime=Date.now()),a.velocity.x=(a.image.touchesCurrent.x-a.velocity.prevPositionX)/(Date.now()-a.velocity.prevTime)/2,a.velocity.y=(a.image.touchesCurrent.y-a.velocity.prevPositionY)/(Date.now()-a.velocity.prevTime)/2,Math.abs(a.image.touchesCurrent.x-a.velocity.prevPositionX)<2&&(a.velocity.x=0),Math.abs(a.image.touchesCurrent.y-a.velocity.prevPositionY)<2&&(a.velocity.y=0),a.velocity.prevPositionX=a.image.touchesCurrent.x,a.velocity.prevPositionY=a.image.touchesCurrent.y,a.velocity.prevTime=Date.now(),a.gesture.imageWrap.transform("translate3d("+a.image.currentX+"px, "+a.image.currentY+"px,0)")}}},onTouchEnd:function(e,a){var t=e.zoom;if(t.gesture.image&&0!==t.gesture.image.length){if(!t.image.isTouched||!t.image.isMoved)return t.image.isTouched=!1,void(t.image.isMoved=!1);t.image.isTouched=!1,t.image.isMoved=!1;var s=300,i=300,r=t.velocity.x*s,n=t.image.currentX+r,o=t.velocity.y*i,l=t.image.currentY+o;0!==t.velocity.x&&(s=Math.abs((n-t.image.currentX)/t.velocity.x)),0!==t.velocity.y&&(i=Math.abs((l-t.image.currentY)/t.velocity.y));var p=Math.max(s,i);t.image.currentX=n,t.image.currentY=l;var d=t.image.width*t.scale,u=t.image.height*t.scale;t.image.minX=Math.min(t.gesture.slideWidth/2-d/2,0),t.image.maxX=-t.image.minX,t.image.minY=Math.min(t.gesture.slideHeight/2-u/2,0),t.image.maxY=-t.image.minY,t.image.currentX=Math.max(Math.min(t.image.currentX,t.image.maxX),t.image.minX),t.image.currentY=Math.max(Math.min(t.image.currentY,t.image.maxY),t.image.minY),t.gesture.imageWrap.transition(p).transform("translate3d("+t.image.currentX+"px, "+t.image.currentY+"px,0)")}},onTransitionEnd:function(e){var a=e.zoom;a.gesture.slide&&e.previousIndex!==e.activeIndex&&(a.gesture.image.transform("translate3d(0,0,0) scale(1)"),a.gesture.imageWrap.transform("translate3d(0,0,0)"),a.gesture.slide=a.gesture.image=a.gesture.imageWrap=void 0,a.scale=a.currentScale=1)},toggleZoom:function(a,t){var s=a.zoom;if(s.gesture.slide||(s.gesture.slide=a.clickedSlide?e(a.clickedSlide):a.slides.eq(a.activeIndex),s.gesture.image=s.gesture.slide.find("img, svg, canvas"),s.gesture.imageWrap=s.gesture.image.parent("."+a.params.zoomContainerClass)),s.gesture.image&&0!==s.gesture.image.length){var i,r,n,o,l,p,d,u,c,m,h,g,f,v,w,y,x,T;void 0===s.image.touchesStart.x&&t?(i="touchend"===t.type?t.changedTouches[0].pageX:t.pageX,r="touchend"===t.type?t.changedTouches[0].pageY:t.pageY):(i=s.image.touchesStart.x,r=s.image.touchesStart.y),s.scale&&1!==s.scale?(s.scale=s.currentScale=1,s.gesture.imageWrap.transition(300).transform("translate3d(0,0,0)"),s.gesture.image.transition(300).transform("translate3d(0,0,0) scale(1)"),s.gesture.slide=void 0):(s.scale=s.currentScale=s.gesture.imageWrap.attr("data-swiper-zoom")||a.params.zoomMax,t?(x=s.gesture.slide[0].offsetWidth,T=s.gesture.slide[0].offsetHeight,n=s.gesture.slide.offset().left,o=s.gesture.slide.offset().top,l=n+x/2-i,p=o+T/2-r,c=s.gesture.image[0].offsetWidth,m=s.gesture.image[0].offsetHeight,h=c*s.scale,g=m*s.scale,f=Math.min(x/2-h/2,0),v=Math.min(T/2-g/2,0),w=-f,y=-v,d=l*s.scale,u=p*s.scale,dw&&(d=w),uy&&(u=y)):(d=0,u=0),s.gesture.imageWrap.transition(300).transform("translate3d("+d+"px, "+u+"px,0)"),s.gesture.image.transition(300).transform("translate3d(0,0,0) scale("+s.scale+")"))}},attachEvents:function(a){var t=a?"off":"on";if(T.params.zoom){var s=(T.slides,!("touchstart"!==T.touchEvents.start||!T.support.passiveListener||!T.params.passiveListeners)&&{passive:!0,capture:!1});T.support.gestures?(T.slides[t]("gesturestart",T.zoom.onGestureStart,s),T.slides[t]("gesturechange",T.zoom.onGestureChange,s),T.slides[t]("gestureend",T.zoom.onGestureEnd,s)):"touchstart"===T.touchEvents.start&&(T.slides[t](T.touchEvents.start,T.zoom.onGestureStart,s),T.slides[t](T.touchEvents.move,T.zoom.onGestureChange,s),T.slides[t](T.touchEvents.end,T.zoom.onGestureEnd,s)),T[t]("touchStart",T.zoom.onTouchStart),T.slides.each(function(a,s){e(s).find("."+T.params.zoomContainerClass).length>0&&e(s)[t](T.touchEvents.move,T.zoom.onTouchMove)}),T[t]("touchEnd",T.zoom.onTouchEnd),T[t]("transitionEnd",T.zoom.onTransitionEnd),T.params.zoomToggle&&T.on("doubleTap",T.zoom.toggleZoom)}},init:function(){T.zoom.attachEvents()},destroy:function(){T.zoom.attachEvents(!0)}},T._plugins=[];for(var Y in T.plugins){var O=T.plugins[Y](T,T.params[Y]);O&&T._plugins.push(O)}return T.callPlugins=function(e){for(var a=0;a'),notify:function(e){var a=T.a11y.liveRegion;0!==a.length&&(a.html(""),a.html(e))},init:function(){T.params.nextButton&&T.nextButton&&T.nextButton.length>0&&(T.a11y.makeFocusable(T.nextButton),T.a11y.addRole(T.nextButton,"button"),T.a11y.addLabel(T.nextButton,T.params.nextSlideMessage)),T.params.prevButton&&T.prevButton&&T.prevButton.length>0&&(T.a11y.makeFocusable(T.prevButton),T.a11y.addRole(T.prevButton,"button"),T.a11y.addLabel(T.prevButton,T.params.prevSlideMessage)),e(T.container).append(T.a11y.liveRegion)},initPagination:function(){T.params.pagination&&T.params.paginationClickable&&T.bullets&&T.bullets.length&&T.bullets.each(function(){var a=e(this);T.a11y.makeFocusable(a),T.a11y.addRole(a,"button"),T.a11y.addLabel(a,T.params.paginationBulletMessage.replace(/{{index}}/,a.index()+1))})},destroy:function(){T.a11y.liveRegion&&T.a11y.liveRegion.length>0&&T.a11y.liveRegion.remove()}},T.init=function(){T.params.loop&&T.createLoop(),T.updateContainerSize(),T.updateSlidesSize(),T.updatePagination(),T.params.scrollbar&&T.scrollbar&&(T.scrollbar.set(),T.params.scrollbarDraggable&&T.scrollbar.enableDraggable()),"slide"!==T.params.effect&&T.effects[T.params.effect]&&(T.params.loop||T.updateProgress(),T.effects[T.params.effect].setTranslate()),T.params.loop?T.slideTo(T.params.initialSlide+T.loopedSlides,0,T.params.runCallbacksOnInit):(T.slideTo(T.params.initialSlide,0,T.params.runCallbacksOnInit),0===T.params.initialSlide&&(T.parallax&&T.params.parallax&&T.parallax.setTranslate(),T.lazy&&T.params.lazyLoading&&(T.lazy.load(),T.lazy.initialImageLoaded=!0))),T.attachEvents(),T.params.observer&&T.support.observer&&T.initObservers(),T.params.preloadImages&&!T.params.lazyLoading&&T.preloadImages(),T.params.zoom&&T.zoom&&T.zoom.init(),T.params.autoplay&&T.startAutoplay(),T.params.keyboardControl&&T.enableKeyboardControl&&T.enableKeyboardControl(),T.params.mousewheelControl&&T.enableMousewheelControl&&T.enableMousewheelControl(),T.params.hashnavReplaceState&&(T.params.replaceState=T.params.hashnavReplaceState),T.params.history&&T.history&&T.history.init(),T.params.hashnav&&T.hashnav&&T.hashnav.init(),T.params.a11y&&T.a11y&&T.a11y.init(),T.emit("onInit",T)},T.cleanupStyles=function(){T.container.removeClass(T.classNames.join(" ")).removeAttr("style"),T.wrapper.removeAttr("style"),T.slides&&T.slides.length&&T.slides.removeClass([T.params.slideVisibleClass,T.params.slideActiveClass,T.params.slideNextClass,T.params.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-column").removeAttr("data-swiper-row"),T.paginationContainer&&T.paginationContainer.length&&T.paginationContainer.removeClass(T.params.paginationHiddenClass),T.bullets&&T.bullets.length&&T.bullets.removeClass(T.params.bulletActiveClass),T.params.prevButton&&e(T.params.prevButton).removeClass(T.params.buttonDisabledClass),T.params.nextButton&&e(T.params.nextButton).removeClass(T.params.buttonDisabledClass),T.params.scrollbar&&T.scrollbar&&(T.scrollbar.track&&T.scrollbar.track.length&&T.scrollbar.track.removeAttr("style"),T.scrollbar.drag&&T.scrollbar.drag.length&&T.scrollbar.drag.removeAttr("style"))},T.destroy=function(e,a){T.detachEvents(),T.stopAutoplay(),T.params.scrollbar&&T.scrollbar&&T.params.scrollbarDraggable&&T.scrollbar.disableDraggable(),T.params.loop&&T.destroyLoop(),a&&T.cleanupStyles(),T.disconnectObservers(),T.params.zoom&&T.zoom&&T.zoom.destroy(),T.params.keyboardControl&&T.disableKeyboardControl&&T.disableKeyboardControl(),T.params.mousewheelControl&&T.disableMousewheelControl&&T.disableMousewheelControl(),T.params.a11y&&T.a11y&&T.a11y.destroy(),T.params.history&&!T.params.replaceState&&window.removeEventListener("popstate",T.history.setHistoryPopState),T.params.hashnav&&T.hashnav&&T.hashnav.destroy(),T.emit("onDestroy"),e!==!1&&(T=null)},T.init(),T}};a.prototype={isSafari:function(){var e=window.navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isUiWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent),isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},browser:{ie:window.navigator.pointerEnabled||window.navigator.msPointerEnabled,ieTouch:window.navigator.msPointerEnabled&&window.navigator.msMaxTouchPoints>1||window.navigator.pointerEnabled&&window.navigator.maxTouchPoints>1,lteIE9:function(){var e=document.createElement("div");return e.innerHTML="",1===e.getElementsByTagName("i").length}()},device:function(){var e=window.navigator.userAgent,a=e.match(/(Android);?[\s\/]+([\d.]+)?/),t=e.match(/(iPad).*OS\s([\d_]+)/),s=e.match(/(iPod)(.*OS\s([\d_]+))?/),i=!t&&e.match(/(iPhone\sOS|iOS)\s([\d_]+)/);return{ios:t||i||s,android:a}}(),support:{touch:window.Modernizr&&Modernizr.touch===!0||function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)}(),transforms3d:window.Modernizr&&Modernizr.csstransforms3d===!0||function(){var e=document.createElement("div").style;return"webkitPerspective"in e||"MozPerspective"in e||"OPerspective"in e||"MsPerspective"in e||"perspective"in e}(),flexbox:function(){for(var e=document.createElement("div").style,a="alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "),t=0;t=0&&o.indexOf(">")>=0){var l="div";for(0===o.indexOf(":~]/)?(t||document).querySelectorAll(a):[document.getElementById(a.split("#")[1])],i=0;i0&&a[0].nodeType)for(i=0;i0?parseFloat(this.css("width")):null},outerWidth:function(e){return this.length>0?e?this[0].offsetWidth+parseFloat(this.css("margin-right"))+parseFloat(this.css("margin-left")):this[0].offsetWidth:null},height:function(){return this[0]===window?window.innerHeight:this.length>0?parseFloat(this.css("height")):null},outerHeight:function(e){return this.length>0?e?this[0].offsetHeight+parseFloat(this.css("margin-top"))+parseFloat(this.css("margin-bottom")):this[0].offsetHeight:null},offset:function(){if(this.length>0){var e=this[0],a=e.getBoundingClientRect(),t=document.body,s=e.clientTop||t.clientTop||0,i=e.clientLeft||t.clientLeft||0,r=window.pageYOffset||e.scrollTop,n=window.pageXOffset||e.scrollLeft;return{top:a.top+r-s,left:a.left+n-i}}return null},css:function(e,a){var t;if(1===arguments.length){if("string"!=typeof e){for(t=0;ts-1?new e([]):a<0?(t=s+a,new e(t<0?[]:[this[t]])):new e([this[a]])},append:function(a){var t,s;for(t=0;t=0;s--)this[t].insertBefore(i.childNodes[s],this[t].childNodes[0])}else if(a instanceof e)for(s=0;s1)for(var i=0;i1)for(var i=0;i0?t?this[0].nextElementSibling&&a(this[0].nextElementSibling).is(t)?[this[0].nextElementSibling]:[]:this[0].nextElementSibling?[this[0].nextElementSibling]:[]:[])},nextAll:function(t){var s=[],i=this[0];if(!i)return new e([]);for(;i.nextElementSibling;){var r=i.nextElementSibling;t?a(r).is(t)&&s.push(r):s.push(r),i=r}return new e(s)},prev:function(t){return new e(this.length>0?t?this[0].previousElementSibling&&a(this[0].previousElementSibling).is(t)?[this[0].previousElementSibling]:[]:this[0].previousElementSibling?[this[0].previousElementSibling]:[]:[])},prevAll:function(t){var s=[],i=this[0];if(!i)return new e([]);for(;i.previousElementSibling;){var r=i.previousElementSibling;t?a(r).is(t)&&s.push(r):s.push(r),i=r}return new e(s)},parent:function(e){for(var t=[],s=0;s0?e?this[0].offsetWidth+parseFloat(this.css("margin-right"))+parseFloat(this.css("margin-left")):this[0].offsetWidth:null})),window.Swiper=a}(),"undefined"!=typeof module?module.exports=window.Swiper:"function"==typeof define&&define.amd&&define([],function(){"use strict";return window.Swiper});
+//# sourceMappingURL=maps/swiper.min.js.map
diff --git a/spzac/nav.php b/spzac/nav.php
index 157e977..58aba90 100644
--- a/spzac/nav.php
+++ b/spzac/nav.php
@@ -29,20 +29,46 @@
levels === 0): ?>
getAllChildren($categorys->mid); ?>
-
+
-
+
+
@@ -66,9 +92,10 @@
user->screenName(); ?>
@@ -79,7 +106,7 @@
user->screenName(); ?>
diff --git a/spzac/page - link.php b/spzac/page - link.php
index 81fe465..5e6c247 100644
--- a/spzac/page - link.php
+++ b/spzac/page - link.php
@@ -21,7 +21,7 @@
need('user - sider.php'); ?>
-
+
@@ -67,51 +67,51 @@
-
-
友情链接
-
-
-
-
本站仅免费提供友情链接交换平台服务(申请联系站长QQ)上榜条件:
-
1,必须为本站的主题,并且做有本站的友情链接
-
2,有一定的内容,且内容健康丰富,并基本建设完成
-
3,申请友情链接前,请先在贵站做上本站的友情链接
-
切记必须要本站的主题模板才行,不限行业,优秀的部分主题将在本站进行推荐。
-
-
-
-
-
-
我要留言
- need('comments.php'); ?>
-
+
+
+ 友情申请
+
+
+
+ 需要添加友情链接请在下方留言。
+
+
+ 上榜条件:
+
+
+ 1.申请友情链接前,请先在贵站做上本站的友情链接;
+
+
+ 2.有一定的内容,且内容健康丰富,并基本建设完成;
+
+
+ 3.按照以下格式留言,通过后立即添加。
+
+
格式如下:
+
+
名称:涅槃博客
+
+
描述:记录生活、分享世界
+
+
链接:https://love2wind.cn/
+
+
头像:https://pic.downk.cc/item/5fdc8dcb3ffa7d37b3985e27.png
+
+
+
+
+ 我要申请
+
+
+ need('comments.php'); ?>
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/spzac/page.php b/spzac/page.php
new file mode 100644
index 0000000..b0ddd2a
--- /dev/null
+++ b/spzac/page.php
@@ -0,0 +1,130 @@
+need('header.php');
+ ?>
+
+
+
+ need('assets/post - link.php'); ?>
+
+
+
+
+
+options->txtadimg): ?>
+
options->txtadimg(); ?>
+
+
+
+
+ author->mail; $imgUrl = getGravatar($email);echo ' '; ?>
+
+
+
+
date('Y-m-d'); ?> / category(',', false); ?> / 人浏览 / commentsNum('%d'); ?> 条评论 / 全文共cid); ?>字
+
+
+ is('post')) : ?>fields->img): ?>
+
+
+
+
+ fields->videourl)&&($this->options->pdmapi)):?>
+ need('dmplay/post - dmplay.php'); ?>
+
+
title(); ?>
+
+ content; echo costcn($this->cid,$this->remember('mail',true),$str,$this->user->hasLogin()); ?>
+
+ need('assets/post - shang.php'); ?>
+
+
+ fields->Copyrightnew =='0'):?>
+
+ fields->Copyrightnew =='2') : ?>
+
+
+
+
+
+
+ tags(' ', true, ''); ?>
+
+
+
+
+
+
+
+ need('assets/post - share.php'); ?>
+
+
+
+
+options->txtaddown): ?>
+
options->txtaddown(); ?>
+
+
+
+ need('comments.php'); ?>
+
+ need('assets/post - more.php'); ?>
+
+
+ fields->down): ?>
+ need('down - sider.php'); ?>
+
+ need('info - sider.php'); ?>
+
+
+
+
+
+
+
+
+ need('footer.php'); ?>
+
+
diff --git a/spzac/page2.php b/spzac/page2.php
new file mode 100644
index 0000000..ab19e52
--- /dev/null
+++ b/spzac/page2.php
@@ -0,0 +1,85 @@
+need('header.php');
+ ?>
+
+
+
+ need('assets/post - link.php'); ?>
+
+
+
+
+
+options->txtadimg): ?>
+
options->txtadimg(); ?>
+
+
+
+
+ author->mail; $imgUrl = getGravatar($email);echo ' '; ?>
+
+
+
+
V date('F j, Y'); ?>
+
+
+ is('post')) : ?>fields->img): ?>
+
+
+
+
+
+
+ fields->videourl)&&($this->options->pdmapi)):?>
+ need('dmplay/post - dmplay.php'); ?>
+
+
title(); ?>
+
+ content; echo costcn($this->cid,$this->remember('mail',true),$str,$this->user->hasLogin()); ?>
Donate(); ?>
+
+ fields->Copyrightnew =='0'):?>
+
原创文章,作者:author->screenName(); ?>,如若转载,请注明出处:permalink() ?>
+ fields->Copyrightnew =='2') : ?>
+
本文经授权后发布,本文观点不代表立场,转载请联系原作者。
+
+
本文来自投稿,不代表本站立场,如若转载,请注明出处:permalink() ?>
+
+
+
+ tags(' ', true, ''); ?>
+
+
+
+
+options->txtaddown): ?>
+
options->txtaddown(); ?>
+
+
+
+ need('comments.php'); ?>
+
+
+
+ fields->down): ?>
+ need('down - sider.php'); ?>
+
+ need('info - sider.php'); ?>
+
+
+
+
+
+
+
+
+ need('footer.php'); ?>
+
+
diff --git a/spzac/post - list.php b/spzac/post - list.php
index 5e8f20a..78e04bc 100644
--- a/spzac/post - list.php
+++ b/spzac/post - list.php
@@ -36,11 +36,11 @@
-
commentsNum('0 评论', '1 条评论', '%d 条评论'); ?>
+
commentsNum('0 评论', '1 条评论', '%d 条评论'); ?>
diff --git a/spzac/post.php b/spzac/post.php
index e713063..b0ddd2a 100644
--- a/spzac/post.php
+++ b/spzac/post.php
@@ -20,14 +20,12 @@
author->mail; $imgUrl = getGravatar($email);echo ' '; ?>
-
-
V date('F j, Y'); ?>
+
+
date('Y-m-d'); ?> / category(',', false); ?> / 人浏览 / commentsNum('%d'); ?> 条评论 / 全文共cid); ?>字
is('post')) : ?>fields->img): ?>
-
-
-
+
@@ -35,15 +33,60 @@
need('dmplay/post - dmplay.php'); ?>
title(); ?>
-
+
content; echo costcn($this->cid,$this->remember('mail',true),$str,$this->user->hasLogin()); ?>
-
+
+ need('assets/post - shang.php'); ?>
+
+
fields->Copyrightnew =='0'):?>
- 原创文章,作者:author->screenName(); ?>,如若转载,请注明出处:permalink() ?>
+
fields->Copyrightnew =='2') : ?>
- 本文经授权后发布,本文观点不代表立场,转载请联系原作者。
+
- 本文来自投稿,不代表本站立场,如若转载,请注明出处:permalink() ?>
+
@@ -51,10 +94,11 @@
-
+
+
-
+ need('assets/post - share.php'); ?>
diff --git a/spzac/post2.php b/spzac/post2.php
new file mode 100644
index 0000000..4c0ffa4
--- /dev/null
+++ b/spzac/post2.php
@@ -0,0 +1,128 @@
+need('header.php');
+ ?>
+
+
+
+ need('assets/post - link.php'); ?>
+
+
+
+
+
+options->txtadimg): ?>
+
options->txtadimg(); ?>
+
+
+
+
+ author->mail; $imgUrl = getGravatar($email);echo ' '; ?>
+
+
+
+
date('Y-m-d'); ?> / category(',', false); ?> / 人浏览 / commentsNum('%d'); ?> 条评论 / 全文共cid); ?>字
+
+
+ is('post')) : ?>fields->img): ?>
+
+
+
+
+ fields->videourl)&&($this->options->pdmapi)):?>
+ need('dmplay/post - dmplay.php'); ?>
+
+
title(); ?>
+
+ content; echo costcn($this->cid,$this->remember('mail',true),$str,$this->user->hasLogin()); ?>
+
Donate(); ?>
+
+ fields->Copyrightnew =='0'):?>
+
+ fields->Copyrightnew =='2') : ?>
+
+
+
+
+
+
+ tags(' ', true, ''); ?>
+
+
+
+
+
+
+
+ need('assets/post - share.php'); ?>
+
+
+
+
+options->txtaddown): ?>
+
options->txtaddown(); ?>
+
+
+
+ need('comments.php'); ?>
+
+ need('assets/post - more.php'); ?>
+
+
+ fields->down): ?>
+ need('down - sider.php'); ?>
+
+ need('info - sider.php'); ?>
+
+
+
+
+
+
+
+
+ need('footer.php'); ?>
+
+
diff --git a/spzac/poster/api.php b/spzac/poster/api.php
index cd00f6f..ae726d7 100644
--- a/spzac/poster/api.php
+++ b/spzac/poster/api.php
@@ -1,23 +1,23 @@
-
\ No newline at end of file
diff --git a/spzac/poster/phpqrcode.php b/spzac/poster/phpqrcode.php
index 9b397e3..5d5a82f 100644
--- a/spzac/poster/phpqrcode.php
+++ b/spzac/poster/phpqrcode.php
@@ -1,3236 +1,3236 @@
-
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRtools {
-
- //----------------------------------------------------------------------
- public static function binarize($frame)
- {
- $len = count($frame);
- foreach ($frame as &$frameLine) {
-
- for($i=0; $i<$len; $i++) {
- $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0';
- }
- }
-
- return $frame;
- }
-
- //----------------------------------------------------------------------
- public static function tcpdfBarcodeArray($code, $mode = 'QR,L', $tcPdfVersion = '4.5.037')
- {
- $barcode_array = array();
-
- if (!is_array($mode))
- $mode = explode(',', $mode);
-
- $eccLevel = 'L';
-
- if (count($mode) > 1) {
- $eccLevel = $mode[1];
- }
-
- $qrTab = QRcode::text($code, false, $eccLevel);
- $size = count($qrTab);
-
- $barcode_array['num_rows'] = $size;
- $barcode_array['num_cols'] = $size;
- $barcode_array['bcode'] = array();
-
- foreach ($qrTab as $line) {
- $arrAdd = array();
- foreach(str_split($line) as $char)
- $arrAdd[] = ($char=='1')?1:0;
- $barcode_array['bcode'][] = $arrAdd;
- }
-
- return $barcode_array;
- }
-
- //----------------------------------------------------------------------
- public static function clearCache()
- {
- self::$frames = array();
- }
-
- //----------------------------------------------------------------------
- public static function buildCache()
- {
- QRtools::markTime('before_build_cache');
-
- $mask = new QRmask();
- for ($a=1; $a <= QRSPEC_VERSION_MAX; $a++) {
- $frame = QRspec::newFrame($a);
- if (QR_IMAGE) {
- $fileName = QR_CACHE_DIR.'frame_'.$a.'.png';
- QRimage::png(self::binarize($frame), $fileName, 1, 0);
- }
-
- $width = count($frame);
- $bitMask = array_fill(0, $width, array_fill(0, $width, 0));
- for ($maskNo=0; $maskNo<8; $maskNo++)
- $mask->makeMaskNo($maskNo, $width, $frame, $bitMask, true);
- }
-
- QRtools::markTime('after_build_cache');
- }
-
- //----------------------------------------------------------------------
- public static function log($outfile, $err)
- {
- if (QR_LOG_DIR !== false) {
- if ($err != '') {
- if ($outfile !== false) {
- file_put_contents(QR_LOG_DIR.basename($outfile).'-errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
- } else {
- file_put_contents(QR_LOG_DIR.'errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
- }
- }
- }
- }
-
- //----------------------------------------------------------------------
- public static function dumpMask($frame)
- {
- $width = count($frame);
- for($y=0;$y<$width;$y++) {
- for($x=0;$x<$width;$x++) {
- echo ord($frame[$y][$x]).',';
- }
- }
- }
-
- //----------------------------------------------------------------------
- public static function markTime($markerId)
- {
- list($usec, $sec) = explode(" ", microtime());
- $time = ((float)$usec + (float)$sec);
-
- if (!isset($GLOBALS['qr_time_bench']))
- $GLOBALS['qr_time_bench'] = array();
-
- $GLOBALS['qr_time_bench'][$markerId] = $time;
- }
-
- //----------------------------------------------------------------------
- public static function timeBenchmark()
- {
- self::markTime('finish');
-
- $lastTime = 0;
- $startTime = 0;
- $p = 0;
-
- echo '
- BENCHMARK
- ';
-
- foreach($GLOBALS['qr_time_bench'] as $markerId=>$thisTime) {
- if ($p > 0) {
- echo 'till '.$markerId.': '.number_format($thisTime-$lastTime, 6).'s ';
- } else {
- $startTime = $thisTime;
- }
-
- $p++;
- $lastTime = $thisTime;
- }
-
- echo '
- TOTAL: '.number_format($lastTime-$startTime, 6).'s
-
-
';
- }
-
- }
-
- //##########################################################################
-
- QRtools::markTime('start');
-
-
-
-
-//---- qrspec.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * QR Code specifications
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia
- *
- * The following data / specifications are taken from
- * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004)
- * or
- * "Automatic identification and data capture techniques --
- * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('QRSPEC_VERSION_MAX', 40);
- define('QRSPEC_WIDTH_MAX', 177);
-
- define('QRCAP_WIDTH', 0);
- define('QRCAP_WORDS', 1);
- define('QRCAP_REMINDER', 2);
- define('QRCAP_EC', 3);
-
- class QRspec {
-
- public static $capacity = array(
- array( 0, 0, 0, array( 0, 0, 0, 0)),
- array( 21, 26, 0, array( 7, 10, 13, 17)), // 1
- array( 25, 44, 7, array( 10, 16, 22, 28)),
- array( 29, 70, 7, array( 15, 26, 36, 44)),
- array( 33, 100, 7, array( 20, 36, 52, 64)),
- array( 37, 134, 7, array( 26, 48, 72, 88)), // 5
- array( 41, 172, 7, array( 36, 64, 96, 112)),
- array( 45, 196, 0, array( 40, 72, 108, 130)),
- array( 49, 242, 0, array( 48, 88, 132, 156)),
- array( 53, 292, 0, array( 60, 110, 160, 192)),
- array( 57, 346, 0, array( 72, 130, 192, 224)), //10
- array( 61, 404, 0, array( 80, 150, 224, 264)),
- array( 65, 466, 0, array( 96, 176, 260, 308)),
- array( 69, 532, 0, array( 104, 198, 288, 352)),
- array( 73, 581, 3, array( 120, 216, 320, 384)),
- array( 77, 655, 3, array( 132, 240, 360, 432)), //15
- array( 81, 733, 3, array( 144, 280, 408, 480)),
- array( 85, 815, 3, array( 168, 308, 448, 532)),
- array( 89, 901, 3, array( 180, 338, 504, 588)),
- array( 93, 991, 3, array( 196, 364, 546, 650)),
- array( 97, 1085, 3, array( 224, 416, 600, 700)), //20
- array(101, 1156, 4, array( 224, 442, 644, 750)),
- array(105, 1258, 4, array( 252, 476, 690, 816)),
- array(109, 1364, 4, array( 270, 504, 750, 900)),
- array(113, 1474, 4, array( 300, 560, 810, 960)),
- array(117, 1588, 4, array( 312, 588, 870, 1050)), //25
- array(121, 1706, 4, array( 336, 644, 952, 1110)),
- array(125, 1828, 4, array( 360, 700, 1020, 1200)),
- array(129, 1921, 3, array( 390, 728, 1050, 1260)),
- array(133, 2051, 3, array( 420, 784, 1140, 1350)),
- array(137, 2185, 3, array( 450, 812, 1200, 1440)), //30
- array(141, 2323, 3, array( 480, 868, 1290, 1530)),
- array(145, 2465, 3, array( 510, 924, 1350, 1620)),
- array(149, 2611, 3, array( 540, 980, 1440, 1710)),
- array(153, 2761, 3, array( 570, 1036, 1530, 1800)),
- array(157, 2876, 0, array( 570, 1064, 1590, 1890)), //35
- array(161, 3034, 0, array( 600, 1120, 1680, 1980)),
- array(165, 3196, 0, array( 630, 1204, 1770, 2100)),
- array(169, 3362, 0, array( 660, 1260, 1860, 2220)),
- array(173, 3532, 0, array( 720, 1316, 1950, 2310)),
- array(177, 3706, 0, array( 750, 1372, 2040, 2430)) //40
- );
-
- //----------------------------------------------------------------------
- public static function getDataLength($version, $level)
- {
- return self::$capacity[$version][QRCAP_WORDS] - self::$capacity[$version][QRCAP_EC][$level];
- }
-
- //----------------------------------------------------------------------
- public static function getECCLength($version, $level)
- {
- return self::$capacity[$version][QRCAP_EC][$level];
- }
-
- //----------------------------------------------------------------------
- public static function getWidth($version)
- {
- return self::$capacity[$version][QRCAP_WIDTH];
- }
-
- //----------------------------------------------------------------------
- public static function getRemainder($version)
- {
- return self::$capacity[$version][QRCAP_REMINDER];
- }
-
- //----------------------------------------------------------------------
- public static function getMinimumVersion($size, $level)
- {
-
- for($i=1; $i<= QRSPEC_VERSION_MAX; $i++) {
- $words = self::$capacity[$i][QRCAP_WORDS] - self::$capacity[$i][QRCAP_EC][$level];
- if($words >= $size)
- return $i;
- }
-
- return -1;
- }
-
- //######################################################################
-
- public static $lengthTableBits = array(
- array(10, 12, 14),
- array( 9, 11, 13),
- array( 8, 16, 16),
- array( 8, 10, 12)
- );
-
- //----------------------------------------------------------------------
- public static function lengthIndicator($mode, $version)
- {
- if ($mode == QR_MODE_STRUCTURE)
- return 0;
-
- if ($version <= 9) {
- $l = 0;
- } else if ($version <= 26) {
- $l = 1;
- } else {
- $l = 2;
- }
-
- return self::$lengthTableBits[$mode][$l];
- }
-
- //----------------------------------------------------------------------
- public static function maximumWords($mode, $version)
- {
- if($mode == QR_MODE_STRUCTURE)
- return 3;
-
- if($version <= 9) {
- $l = 0;
- } else if($version <= 26) {
- $l = 1;
- } else {
- $l = 2;
- }
-
- $bits = self::$lengthTableBits[$mode][$l];
- $words = (1 << $bits) - 1;
-
- if($mode == QR_MODE_KANJI) {
- $words *= 2; // the number of bytes is required
- }
-
- return $words;
- }
-
- // Error correction code -----------------------------------------------
- // Table of the error correction code (Reed-Solomon block)
- // See Table 12-16 (pp.30-36), JIS X0510:2004.
-
- public static $eccTable = array(
- array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)),
- array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1
- array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)),
- array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)),
- array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)),
- array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5
- array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)),
- array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)),
- array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)),
- array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)),
- array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), //10
- array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)),
- array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)),
- array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)),
- array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)),
- array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), //15
- array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)),
- array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)),
- array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)),
- array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)),
- array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), //20
- array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)),
- array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)),
- array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)),
- array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)),
- array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), //25
- array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)),
- array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)),
- array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)),
- array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)),
- array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), //30
- array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)),
- array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)),
- array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)),
- array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)),
- array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), //35
- array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)),
- array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)),
- array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)),
- array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)),
- array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)),//40
- );
-
- //----------------------------------------------------------------------
- // CACHEABLE!!!
-
- public static function getEccSpec($version, $level, array &$spec)
- {
- if (count($spec) < 5) {
- $spec = array(0,0,0,0,0);
- }
-
- $b1 = self::$eccTable[$version][$level][0];
- $b2 = self::$eccTable[$version][$level][1];
- $data = self::getDataLength($version, $level);
- $ecc = self::getECCLength($version, $level);
-
- if($b2 == 0) {
- $spec[0] = $b1;
- $spec[1] = (int)($data / $b1);
- $spec[2] = (int)($ecc / $b1);
- $spec[3] = 0;
- $spec[4] = 0;
- } else {
- $spec[0] = $b1;
- $spec[1] = (int)($data / ($b1 + $b2));
- $spec[2] = (int)($ecc / ($b1 + $b2));
- $spec[3] = $b2;
- $spec[4] = $spec[1] + 1;
- }
- }
-
- // Alignment pattern ---------------------------------------------------
-
- // Positions of alignment patterns.
- // This array includes only the second and the third position of the
- // alignment patterns. Rest of them can be calculated from the distance
- // between them.
-
- // See Table 1 in Appendix E (pp.71) of JIS X0510:2004.
-
- public static $alignmentPattern = array(
- array( 0, 0),
- array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5
- array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10
- array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), //11-15
- array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), //16-20
- array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), //21-25
- array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), //26-30
- array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), //31-35
- array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58), //35-40
- );
-
-
- /** --------------------------------------------------------------------
- * Put an alignment marker.
- * @param frame
- * @param width
- * @param ox,oy center coordinate of the pattern
- */
- public static function putAlignmentMarker(array &$frame, $ox, $oy)
- {
- $finder = array(
- "\xa1\xa1\xa1\xa1\xa1",
- "\xa1\xa0\xa0\xa0\xa1",
- "\xa1\xa0\xa1\xa0\xa1",
- "\xa1\xa0\xa0\xa0\xa1",
- "\xa1\xa1\xa1\xa1\xa1"
- );
-
- $yStart = $oy-2;
- $xStart = $ox-2;
-
- for($y=0; $y<5; $y++) {
- QRstr::set($frame, $xStart, $yStart+$y, $finder[$y]);
- }
- }
-
- //----------------------------------------------------------------------
- public static function putAlignmentPattern($version, &$frame, $width)
- {
- if($version < 2)
- return;
-
- $d = self::$alignmentPattern[$version][1] - self::$alignmentPattern[$version][0];
- if($d < 0) {
- $w = 2;
- } else {
- $w = (int)(($width - self::$alignmentPattern[$version][0]) / $d + 2);
- }
-
- if($w * $w - 3 == 1) {
- $x = self::$alignmentPattern[$version][0];
- $y = self::$alignmentPattern[$version][0];
- self::putAlignmentMarker($frame, $x, $y);
- return;
- }
-
- $cx = self::$alignmentPattern[$version][0];
- for($x=1; $x<$w - 1; $x++) {
- self::putAlignmentMarker($frame, 6, $cx);
- self::putAlignmentMarker($frame, $cx, 6);
- $cx += $d;
- }
-
- $cy = self::$alignmentPattern[$version][0];
- for($y=0; $y<$w-1; $y++) {
- $cx = self::$alignmentPattern[$version][0];
- for($x=0; $x<$w-1; $x++) {
- self::putAlignmentMarker($frame, $cx, $cy);
- $cx += $d;
- }
- $cy += $d;
- }
- }
-
- // Version information pattern -----------------------------------------
-
- // Version information pattern (BCH coded).
- // See Table 1 in Appendix D (pp.68) of JIS X0510:2004.
-
- // size: [QRSPEC_VERSION_MAX - 6]
-
- public static $versionPattern = array(
- 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d,
- 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9,
- 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75,
- 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64,
- 0x27541, 0x28c69
- );
-
- //----------------------------------------------------------------------
- public static function getVersionPattern($version)
- {
- if($version < 7 || $version > QRSPEC_VERSION_MAX)
- return 0;
-
- return self::$versionPattern[$version -7];
- }
-
- // Format information --------------------------------------------------
- // See calcFormatInfo in tests/test_qrspec.c (orginal qrencode c lib)
-
- public static $formatInfo = array(
- array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976),
- array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0),
- array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed),
- array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b)
- );
-
- public static function getFormatInfo($mask, $level)
- {
- if($mask < 0 || $mask > 7)
- return 0;
-
- if($level < 0 || $level > 3)
- return 0;
-
- return self::$formatInfo[$level][$mask];
- }
-
- // Frame ---------------------------------------------------------------
- // Cache of initial frames.
-
- public static $frames = array();
-
- /** --------------------------------------------------------------------
- * Put a finder pattern.
- * @param frame
- * @param width
- * @param ox,oy upper-left coordinate of the pattern
- */
- public static function putFinderPattern(&$frame, $ox, $oy)
- {
- $finder = array(
- "\xc1\xc1\xc1\xc1\xc1\xc1\xc1",
- "\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
- "\xc1\xc1\xc1\xc1\xc1\xc1\xc1"
- );
-
- for($y=0; $y<7; $y++) {
- QRstr::set($frame, $ox, $oy+$y, $finder[$y]);
- }
- }
-
- //----------------------------------------------------------------------
- public static function createFrame($version)
- {
- $width = self::$capacity[$version][QRCAP_WIDTH];
- $frameLine = str_repeat ("\0", $width);
- $frame = array_fill(0, $width, $frameLine);
-
- // Finder pattern
- self::putFinderPattern($frame, 0, 0);
- self::putFinderPattern($frame, $width - 7, 0);
- self::putFinderPattern($frame, 0, $width - 7);
-
- // Separator
- $yOffset = $width - 7;
-
- for($y=0; $y<7; $y++) {
- $frame[$y][7] = "\xc0";
- $frame[$y][$width - 8] = "\xc0";
- $frame[$yOffset][7] = "\xc0";
- $yOffset++;
- }
-
- $setPattern = str_repeat("\xc0", 8);
-
- QRstr::set($frame, 0, 7, $setPattern);
- QRstr::set($frame, $width-8, 7, $setPattern);
- QRstr::set($frame, 0, $width - 8, $setPattern);
-
- // Format info
- $setPattern = str_repeat("\x84", 9);
- QRstr::set($frame, 0, 8, $setPattern);
- QRstr::set($frame, $width - 8, 8, $setPattern, 8);
-
- $yOffset = $width - 8;
-
- for($y=0; $y<8; $y++,$yOffset++) {
- $frame[$y][8] = "\x84";
- $frame[$yOffset][8] = "\x84";
- }
-
- // Timing pattern
-
- for($i=1; $i<$width-15; $i++) {
- $frame[6][7+$i] = chr(0x90 | ($i & 1));
- $frame[7+$i][6] = chr(0x90 | ($i & 1));
- }
-
- // Alignment pattern
- self::putAlignmentPattern($version, $frame, $width);
-
- // Version information
- if($version >= 7) {
- $vinf = self::getVersionPattern($version);
-
- $v = $vinf;
-
- for($x=0; $x<6; $x++) {
- for($y=0; $y<3; $y++) {
- $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1));
- $v = $v >> 1;
- }
- }
-
- $v = $vinf;
- for($y=0; $y<6; $y++) {
- for($x=0; $x<3; $x++) {
- $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1));
- $v = $v >> 1;
- }
- }
- }
-
- // and a little bit...
- $frame[$width - 8][8] = "\x81";
-
- return $frame;
- }
-
- //----------------------------------------------------------------------
- public static function debug($frame, $binary_mode = false)
- {
- if ($binary_mode) {
-
- foreach ($frame as &$frameLine) {
- $frameLine = join(' ', explode('0', $frameLine));
- $frameLine = join('██', explode('1', $frameLine));
- }
-
- ?>
-
- ';
- echo join(" ", $frame);
- echo ' ';
-
- } else {
-
- foreach ($frame as &$frameLine) {
- $frameLine = join(' ', explode("\xc0", $frameLine));
- $frameLine = join('▒ ', explode("\xc1", $frameLine));
- $frameLine = join(' ', explode("\xa0", $frameLine));
- $frameLine = join('▒ ', explode("\xa1", $frameLine));
- $frameLine = join('◇ ', explode("\x84", $frameLine)); //format 0
- $frameLine = join('◆ ', explode("\x85", $frameLine)); //format 1
- $frameLine = join('☢ ', explode("\x81", $frameLine)); //special bit
- $frameLine = join(' ', explode("\x90", $frameLine)); //clock 0
- $frameLine = join('◷ ', explode("\x91", $frameLine)); //clock 1
- $frameLine = join(' ', explode("\x88", $frameLine)); //version
- $frameLine = join('▒ ', explode("\x89", $frameLine)); //version
- $frameLine = join('♦', explode("\x01", $frameLine));
- $frameLine = join('⋅', explode("\0", $frameLine));
- }
-
- ?>
-
- ";
- echo join(" ", $frame);
- echo " ";
-
- }
- }
-
- //----------------------------------------------------------------------
- public static function serial($frame)
- {
- return gzcompress(join("\n", $frame), 9);
- }
-
- //----------------------------------------------------------------------
- public static function unserial($code)
- {
- return explode("\n", gzuncompress($code));
- }
-
- //----------------------------------------------------------------------
- public static function newFrame($version)
- {
- if($version < 1 || $version > QRSPEC_VERSION_MAX)
- return null;
-
- if(!isset(self::$frames[$version])) {
-
- $fileName = QR_CACHE_DIR.'frame_'.$version.'.dat';
-
- if (QR_CACHEABLE) {
- if (file_exists($fileName)) {
- self::$frames[$version] = self::unserial(file_get_contents($fileName));
- } else {
- self::$frames[$version] = self::createFrame($version);
- file_put_contents($fileName, self::serial(self::$frames[$version]));
- }
- } else {
- self::$frames[$version] = self::createFrame($version);
- }
- }
-
- if(is_null(self::$frames[$version]))
- return null;
-
- return self::$frames[$version];
- }
-
- //----------------------------------------------------------------------
- public static function rsBlockNum($spec) { return $spec[0] + $spec[3]; }
- public static function rsBlockNum1($spec) { return $spec[0]; }
- public static function rsDataCodes1($spec) { return $spec[1]; }
- public static function rsEccCodes1($spec) { return $spec[2]; }
- public static function rsBlockNum2($spec) { return $spec[3]; }
- public static function rsDataCodes2($spec) { return $spec[4]; }
- public static function rsEccCodes2($spec) { return $spec[2]; }
- public static function rsDataLength($spec) { return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); }
- public static function rsEccLength($spec) { return ($spec[0] + $spec[3]) * $spec[2]; }
-
- }
-
-
-
-//---- qrimage.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Image output of code using GD2
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('QR_IMAGE', true);
-
- class QRimage {
-
- //----------------------------------------------------------------------
- public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE)
- {
- $image = self::image($frame, $pixelPerPoint, $outerFrame);
-
- if ($filename === false) {
- Header("Content-type: image/png");
- ImagePng($image);
- } else {
- if($saveandprint===TRUE){
- ImagePng($image, $filename);
- header("Content-type: image/png");
- ImagePng($image);
- }else{
- ImagePng($image, $filename);
- }
- }
-
- ImageDestroy($image);
- }
-
- //----------------------------------------------------------------------
- public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85)
- {
- $image = self::image($frame, $pixelPerPoint, $outerFrame);
-
- if ($filename === false) {
- Header("Content-type: image/jpeg");
- ImageJpeg($image, null, $q);
- } else {
- ImageJpeg($image, $filename, $q);
- }
-
- ImageDestroy($image);
- }
-
- //----------------------------------------------------------------------
- private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4)
- {
- $h = count($frame);
- $w = strlen($frame[0]);
-
- $imgW = $w + 2*$outerFrame;
- $imgH = $h + 2*$outerFrame;
-
- $base_image =ImageCreate($imgW, $imgH);
-
- $col[0] = ImageColorAllocate($base_image,255,255,255);
- $col[1] = ImageColorAllocate($base_image,0,0,0);
-
- imagefill($base_image, 0, 0, $col[0]);
-
- for($y=0; $y<$h; $y++) {
- for($x=0; $x<$w; $x++) {
- if ($frame[$y][$x] == '1') {
- ImageSetPixel($base_image,$x+$outerFrame,$y+$outerFrame,$col[1]);
- }
- }
- }
-
- $target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint);
- ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH);
- ImageDestroy($base_image);
-
- return $target_image;
- }
- }
-
-
-
-//---- qrinput.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Input encoding class
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('STRUCTURE_HEADER_BITS', 20);
- define('MAX_STRUCTURED_SYMBOLS', 16);
-
- class QRinputItem {
-
- public $mode;
- public $size;
- public $data;
- public $bstream;
-
- public function __construct($mode, $size, $data, $bstream = null)
- {
- $setData = array_slice($data, 0, $size);
-
- if (count($setData) < $size) {
- $setData = array_merge($setData, array_fill(0,$size-count($setData),0));
- }
-
- if(!QRinput::check($mode, $size, $setData)) {
- throw new Exception('Error m:'.$mode.',s:'.$size.',d:'.join(',',$setData));
- return null;
- }
-
- $this->mode = $mode;
- $this->size = $size;
- $this->data = $setData;
- $this->bstream = $bstream;
- }
-
- //----------------------------------------------------------------------
- public function encodeModeNum($version)
- {
- try {
-
- $words = (int)($this->size / 3);
- $bs = new QRbitstream();
-
- $val = 0x1;
- $bs->appendNum(4, $val);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_NUM, $version), $this->size);
-
- for($i=0; $i<$words; $i++) {
- $val = (ord($this->data[$i*3 ]) - ord('0')) * 100;
- $val += (ord($this->data[$i*3+1]) - ord('0')) * 10;
- $val += (ord($this->data[$i*3+2]) - ord('0'));
- $bs->appendNum(10, $val);
- }
-
- if($this->size - $words * 3 == 1) {
- $val = ord($this->data[$words*3]) - ord('0');
- $bs->appendNum(4, $val);
- } else if($this->size - $words * 3 == 2) {
- $val = (ord($this->data[$words*3 ]) - ord('0')) * 10;
- $val += (ord($this->data[$words*3+1]) - ord('0'));
- $bs->appendNum(7, $val);
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeModeAn($version)
- {
- try {
- $words = (int)($this->size / 2);
- $bs = new QRbitstream();
-
- $bs->appendNum(4, 0x02);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_AN, $version), $this->size);
-
- for($i=0; $i<$words; $i++) {
- $val = (int)QRinput::lookAnTable(ord($this->data[$i*2 ])) * 45;
- $val += (int)QRinput::lookAnTable(ord($this->data[$i*2+1]));
-
- $bs->appendNum(11, $val);
- }
-
- if($this->size & 1) {
- $val = QRinput::lookAnTable(ord($this->data[$words * 2]));
- $bs->appendNum(6, $val);
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeMode8($version)
- {
- try {
- $bs = new QRbitstream();
-
- $bs->appendNum(4, 0x4);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_8, $version), $this->size);
-
- for($i=0; $i<$this->size; $i++) {
- $bs->appendNum(8, ord($this->data[$i]));
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeModeKanji($version)
- {
- try {
-
- $bs = new QRbitrtream();
-
- $bs->appendNum(4, 0x8);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_KANJI, $version), (int)($this->size / 2));
-
- for($i=0; $i<$this->size; $i+=2) {
- $val = (ord($this->data[$i]) << 8) | ord($this->data[$i+1]);
- if($val <= 0x9ffc) {
- $val -= 0x8140;
- } else {
- $val -= 0xc140;
- }
-
- $h = ($val >> 8) * 0xc0;
- $val = ($val & 0xff) + $h;
-
- $bs->appendNum(13, $val);
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeModeStructure()
- {
- try {
- $bs = new QRbitstream();
-
- $bs->appendNum(4, 0x03);
- $bs->appendNum(4, ord($this->data[1]) - 1);
- $bs->appendNum(4, ord($this->data[0]) - 1);
- $bs->appendNum(8, ord($this->data[2]));
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function estimateBitStreamSizeOfEntry($version)
- {
- $bits = 0;
-
- if($version == 0)
- $version = 1;
-
- switch($this->mode) {
- case QR_MODE_NUM: $bits = QRinput::estimateBitsModeNum($this->size); break;
- case QR_MODE_AN: $bits = QRinput::estimateBitsModeAn($this->size); break;
- case QR_MODE_8: $bits = QRinput::estimateBitsMode8($this->size); break;
- case QR_MODE_KANJI: $bits = QRinput::estimateBitsModeKanji($this->size);break;
- case QR_MODE_STRUCTURE: return STRUCTURE_HEADER_BITS;
- default:
- return 0;
- }
-
- $l = QRspec::lengthIndicator($this->mode, $version);
- $m = 1 << $l;
- $num = (int)(($this->size + $m - 1) / $m);
-
- $bits += $num * (4 + $l);
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public function encodeBitStream($version)
- {
- try {
-
- unset($this->bstream);
- $words = QRspec::maximumWords($this->mode, $version);
-
- if($this->size > $words) {
-
- $st1 = new QRinputItem($this->mode, $words, $this->data);
- $st2 = new QRinputItem($this->mode, $this->size - $words, array_slice($this->data, $words));
-
- $st1->encodeBitStream($version);
- $st2->encodeBitStream($version);
-
- $this->bstream = new QRbitstream();
- $this->bstream->append($st1->bstream);
- $this->bstream->append($st2->bstream);
-
- unset($st1);
- unset($st2);
-
- } else {
-
- $ret = 0;
-
- switch($this->mode) {
- case QR_MODE_NUM: $ret = $this->encodeModeNum($version); break;
- case QR_MODE_AN: $ret = $this->encodeModeAn($version); break;
- case QR_MODE_8: $ret = $this->encodeMode8($version); break;
- case QR_MODE_KANJI: $ret = $this->encodeModeKanji($version);break;
- case QR_MODE_STRUCTURE: $ret = $this->encodeModeStructure(); break;
-
- default:
- break;
- }
-
- if($ret < 0)
- return -1;
- }
-
- return $this->bstream->size();
-
- } catch (Exception $e) {
- return -1;
- }
- }
- };
-
- //##########################################################################
-
- class QRinput {
-
- public $items;
-
- private $version;
- private $level;
-
- //----------------------------------------------------------------------
- public function __construct($version = 0, $level = QR_ECLEVEL_L)
- {
- if ($version < 0 || $version > QRSPEC_VERSION_MAX || $level > QR_ECLEVEL_H) {
- throw new Exception('Invalid version no');
- return NULL;
- }
-
- $this->version = $version;
- $this->level = $level;
- }
-
- //----------------------------------------------------------------------
- public function getVersion()
- {
- return $this->version;
- }
-
- //----------------------------------------------------------------------
- public function setVersion($version)
- {
- if($version < 0 || $version > QRSPEC_VERSION_MAX) {
- throw new Exception('Invalid version no');
- return -1;
- }
-
- $this->version = $version;
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function getErrorCorrectionLevel()
- {
- return $this->level;
- }
-
- //----------------------------------------------------------------------
- public function setErrorCorrectionLevel($level)
- {
- if($level > QR_ECLEVEL_H) {
- throw new Exception('Invalid ECLEVEL');
- return -1;
- }
-
- $this->level = $level;
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function appendEntry(QRinputItem $entry)
- {
- $this->items[] = $entry;
- }
-
- //----------------------------------------------------------------------
- public function append($mode, $size, $data)
- {
- try {
- $entry = new QRinputItem($mode, $size, $data);
- $this->items[] = $entry;
- return 0;
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
-
- public function insertStructuredAppendHeader($size, $index, $parity)
- {
- if( $size > MAX_STRUCTURED_SYMBOLS ) {
- throw new Exception('insertStructuredAppendHeader wrong size');
- }
-
- if( $index <= 0 || $index > MAX_STRUCTURED_SYMBOLS ) {
- throw new Exception('insertStructuredAppendHeader wrong index');
- }
-
- $buf = array($size, $index, $parity);
-
- try {
- $entry = new QRinputItem(QR_MODE_STRUCTURE, 3, buf);
- array_unshift($this->items, $entry);
- return 0;
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function calcParity()
- {
- $parity = 0;
-
- foreach($this->items as $item) {
- if($item->mode != QR_MODE_STRUCTURE) {
- for($i=$item->size-1; $i>=0; $i--) {
- $parity ^= $item->data[$i];
- }
- }
- }
-
- return $parity;
- }
-
- //----------------------------------------------------------------------
- public static function checkModeNum($size, $data)
- {
- for($i=0; $i<$size; $i++) {
- if((ord($data[$i]) < ord('0')) || (ord($data[$i]) > ord('9'))){
- return false;
- }
- }
-
- return true;
- }
-
- //----------------------------------------------------------------------
- public static function estimateBitsModeNum($size)
- {
- $w = (int)$size / 3;
- $bits = $w * 10;
-
- switch($size - $w * 3) {
- case 1:
- $bits += 4;
- break;
- case 2:
- $bits += 7;
- break;
- default:
- break;
- }
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public static $anTable = array(
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43,
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1,
- -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- );
-
- //----------------------------------------------------------------------
- public static function lookAnTable($c)
- {
- return (($c > 127)?-1:self::$anTable[$c]);
- }
-
- //----------------------------------------------------------------------
- public static function checkModeAn($size, $data)
- {
- for($i=0; $i<$size; $i++) {
- if (self::lookAnTable(ord($data[$i])) == -1) {
- return false;
- }
- }
-
- return true;
- }
-
- //----------------------------------------------------------------------
- public static function estimateBitsModeAn($size)
- {
- $w = (int)($size / 2);
- $bits = $w * 11;
-
- if($size & 1) {
- $bits += 6;
- }
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public static function estimateBitsMode8($size)
- {
- return $size * 8;
- }
-
- //----------------------------------------------------------------------
- public function estimateBitsModeKanji($size)
- {
- return (int)(($size / 2) * 13);
- }
-
- //----------------------------------------------------------------------
- public static function checkModeKanji($size, $data)
- {
- if($size & 1)
- return false;
-
- for($i=0; $i<$size; $i+=2) {
- $val = (ord($data[$i]) << 8) | ord($data[$i+1]);
- if( $val < 0x8140
- || ($val > 0x9ffc && $val < 0xe040)
- || $val > 0xebbf) {
- return false;
- }
- }
-
- return true;
- }
-
- /***********************************************************************
- * Validation
- **********************************************************************/
-
- public static function check($mode, $size, $data)
- {
- if($size <= 0)
- return false;
-
- switch($mode) {
- case QR_MODE_NUM: return self::checkModeNum($size, $data); break;
- case QR_MODE_AN: return self::checkModeAn($size, $data); break;
- case QR_MODE_KANJI: return self::checkModeKanji($size, $data); break;
- case QR_MODE_8: return true; break;
- case QR_MODE_STRUCTURE: return true; break;
-
- default:
- break;
- }
-
- return false;
- }
-
-
- //----------------------------------------------------------------------
- public function estimateBitStreamSize($version)
- {
- $bits = 0;
-
- foreach($this->items as $item) {
- $bits += $item->estimateBitStreamSizeOfEntry($version);
- }
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public function estimateVersion()
- {
- $version = 0;
- $prev = 0;
- do {
- $prev = $version;
- $bits = $this->estimateBitStreamSize($prev);
- $version = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level);
- if ($version < 0) {
- return -1;
- }
- } while ($version > $prev);
-
- return $version;
- }
-
- //----------------------------------------------------------------------
- public static function lengthOfCode($mode, $version, $bits)
- {
- $payload = $bits - 4 - QRspec::lengthIndicator($mode, $version);
- switch($mode) {
- case QR_MODE_NUM:
- $chunks = (int)($payload / 10);
- $remain = $payload - $chunks * 10;
- $size = $chunks * 3;
- if($remain >= 7) {
- $size += 2;
- } else if($remain >= 4) {
- $size += 1;
- }
- break;
- case QR_MODE_AN:
- $chunks = (int)($payload / 11);
- $remain = $payload - $chunks * 11;
- $size = $chunks * 2;
- if($remain >= 6)
- $size++;
- break;
- case QR_MODE_8:
- $size = (int)($payload / 8);
- break;
- case QR_MODE_KANJI:
- $size = (int)(($payload / 13) * 2);
- break;
- case QR_MODE_STRUCTURE:
- $size = (int)($payload / 8);
- break;
- default:
- $size = 0;
- break;
- }
-
- $maxsize = QRspec::maximumWords($mode, $version);
- if($size < 0) $size = 0;
- if($size > $maxsize) $size = $maxsize;
-
- return $size;
- }
-
- //----------------------------------------------------------------------
- public function createBitStream()
- {
- $total = 0;
-
- foreach($this->items as $item) {
- $bits = $item->encodeBitStream($this->version);
-
- if($bits < 0)
- return -1;
-
- $total += $bits;
- }
-
- return $total;
- }
-
- //----------------------------------------------------------------------
- public function convertData()
- {
- $ver = $this->estimateVersion();
- if($ver > $this->getVersion()) {
- $this->setVersion($ver);
- }
-
- for(;;) {
- $bits = $this->createBitStream();
-
- if($bits < 0)
- return -1;
-
- $ver = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level);
- if($ver < 0) {
- throw new Exception('WRONG VERSION');
- return -1;
- } else if($ver > $this->getVersion()) {
- $this->setVersion($ver);
- } else {
- break;
- }
- }
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function appendPaddingBit(&$bstream)
- {
- $bits = $bstream->size();
- $maxwords = QRspec::getDataLength($this->version, $this->level);
- $maxbits = $maxwords * 8;
-
- if ($maxbits == $bits) {
- return 0;
- }
-
- if ($maxbits - $bits < 5) {
- return $bstream->appendNum($maxbits - $bits, 0);
- }
-
- $bits += 4;
- $words = (int)(($bits + 7) / 8);
-
- $padding = new QRbitstream();
- $ret = $padding->appendNum($words * 8 - $bits + 4, 0);
-
- if($ret < 0)
- return $ret;
-
- $padlen = $maxwords - $words;
-
- if($padlen > 0) {
-
- $padbuf = array();
- for($i=0; $i<$padlen; $i++) {
- $padbuf[$i] = ($i&1)?0x11:0xec;
- }
-
- $ret = $padding->appendBytes($padlen, $padbuf);
-
- if($ret < 0)
- return $ret;
-
- }
-
- $ret = $bstream->append($padding);
-
- return $ret;
- }
-
- //----------------------------------------------------------------------
- public function mergeBitStream()
- {
- if($this->convertData() < 0) {
- return null;
- }
-
- $bstream = new QRbitstream();
-
- foreach($this->items as $item) {
- $ret = $bstream->append($item->bstream);
- if($ret < 0) {
- return null;
- }
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public function getBitStream()
- {
-
- $bstream = $this->mergeBitStream();
-
- if($bstream == null) {
- return null;
- }
-
- $ret = $this->appendPaddingBit($bstream);
- if($ret < 0) {
- return null;
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public function getByteStream()
- {
- $bstream = $this->getBitStream();
- if($bstream == null) {
- return null;
- }
-
- return $bstream->toByte();
- }
- }
-
-
-
-
-
-
-//---- qrbitstream.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Bitstream class
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRbitstream {
-
- public $data = array();
-
- //----------------------------------------------------------------------
- public function size()
- {
- return count($this->data);
- }
-
- //----------------------------------------------------------------------
- public function allocate($setLength)
- {
- $this->data = array_fill(0, $setLength, 0);
- return 0;
- }
-
- //----------------------------------------------------------------------
- public static function newFromNum($bits, $num)
- {
- $bstream = new QRbitstream();
- $bstream->allocate($bits);
-
- $mask = 1 << ($bits - 1);
- for($i=0; $i<$bits; $i++) {
- if($num & $mask) {
- $bstream->data[$i] = 1;
- } else {
- $bstream->data[$i] = 0;
- }
- $mask = $mask >> 1;
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public static function newFromBytes($size, $data)
- {
- $bstream = new QRbitstream();
- $bstream->allocate($size * 8);
- $p=0;
-
- for($i=0; $i<$size; $i++) {
- $mask = 0x80;
- for($j=0; $j<8; $j++) {
- if($data[$i] & $mask) {
- $bstream->data[$p] = 1;
- } else {
- $bstream->data[$p] = 0;
- }
- $p++;
- $mask = $mask >> 1;
- }
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public function append(QRbitstream $arg)
- {
- if (is_null($arg)) {
- return -1;
- }
-
- if($arg->size() == 0) {
- return 0;
- }
-
- if($this->size() == 0) {
- $this->data = $arg->data;
- return 0;
- }
-
- $this->data = array_values(array_merge($this->data, $arg->data));
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function appendNum($bits, $num)
- {
- if ($bits == 0)
- return 0;
-
- $b = QRbitstream::newFromNum($bits, $num);
-
- if(is_null($b))
- return -1;
-
- $ret = $this->append($b);
- unset($b);
-
- return $ret;
- }
-
- //----------------------------------------------------------------------
- public function appendBytes($size, $data)
- {
- if ($size == 0)
- return 0;
-
- $b = QRbitstream::newFromBytes($size, $data);
-
- if(is_null($b))
- return -1;
-
- $ret = $this->append($b);
- unset($b);
-
- return $ret;
- }
-
- //----------------------------------------------------------------------
- public function toByte()
- {
-
- $size = $this->size();
-
- if($size == 0) {
- return array();
- }
-
- $data = array_fill(0, (int)(($size + 7) / 8), 0);
- $bytes = (int)($size / 8);
-
- $p = 0;
-
- for($i=0; $i<$bytes; $i++) {
- $v = 0;
- for($j=0; $j<8; $j++) {
- $v = $v << 1;
- $v |= $this->data[$p];
- $p++;
- }
- $data[$i] = $v;
- }
-
- if($size & 7) {
- $v = 0;
- for($j=0; $j<($size & 7); $j++) {
- $v = $v << 1;
- $v |= $this->data[$p];
- $p++;
- }
- $data[$bytes] = $v;
- }
-
- return $data;
- }
-
- }
-
-
-
-
-//---- qrsplit.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Input splitting classes
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia
- *
- * The following data / specifications are taken from
- * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004)
- * or
- * "Automatic identification and data capture techniques --
- * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
- class QRsplit {
-
- public $dataStr = '';
- public $input;
- public $modeHint;
-
- //----------------------------------------------------------------------
- public function __construct($dataStr, $input, $modeHint)
- {
- $this->dataStr = $dataStr;
- $this->input = $input;
- $this->modeHint = $modeHint;
- }
-
- //----------------------------------------------------------------------
- public static function isdigitat($str, $pos)
- {
- if ($pos >= strlen($str))
- return false;
-
- return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9')));
- }
-
- //----------------------------------------------------------------------
- public static function isalnumat($str, $pos)
- {
- if ($pos >= strlen($str))
- return false;
-
- return (QRinput::lookAnTable(ord($str[$pos])) >= 0);
- }
-
- //----------------------------------------------------------------------
- public function identifyMode($pos)
- {
- if ($pos >= strlen($this->dataStr))
- return QR_MODE_NUL;
-
- $c = $this->dataStr[$pos];
-
- if(self::isdigitat($this->dataStr, $pos)) {
- return QR_MODE_NUM;
- } else if(self::isalnumat($this->dataStr, $pos)) {
- return QR_MODE_AN;
- } else if($this->modeHint == QR_MODE_KANJI) {
-
- if ($pos+1 < strlen($this->dataStr))
- {
- $d = $this->dataStr[$pos+1];
- $word = (ord($c) << 8) | ord($d);
- if(($word >= 0x8140 && $word <= 0x9ffc) || ($word >= 0xe040 && $word <= 0xebbf)) {
- return QR_MODE_KANJI;
- }
- }
- }
-
- return QR_MODE_8;
- }
-
- //----------------------------------------------------------------------
- public function eatNum()
- {
- $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
-
- $p = 0;
- while(self::isdigitat($this->dataStr, $p)) {
- $p++;
- }
-
- $run = $p;
- $mode = $this->identifyMode($p);
-
- if($mode == QR_MODE_8) {
- $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln
- + QRinput::estimateBitsMode8(1) // + 4 + l8
- - QRinput::estimateBitsMode8($run + 1); // - 4 - l8
- if($dif > 0) {
- return $this->eat8();
- }
- }
- if($mode == QR_MODE_AN) {
- $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln
- + QRinput::estimateBitsModeAn(1) // + 4 + la
- - QRinput::estimateBitsModeAn($run + 1);// - 4 - la
- if($dif > 0) {
- return $this->eatAn();
- }
- }
-
- $ret = $this->input->append(QR_MODE_NUM, $run, str_split($this->dataStr));
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function eatAn()
- {
- $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion());
- $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
-
- $p = 0;
-
- while(self::isalnumat($this->dataStr, $p)) {
- if(self::isdigitat($this->dataStr, $p)) {
- $q = $p;
- while(self::isdigitat($this->dataStr, $q)) {
- $q++;
- }
-
- $dif = QRinput::estimateBitsModeAn($p) // + 4 + la
- + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln
- - QRinput::estimateBitsModeAn($q); // - 4 - la
-
- if($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } else {
- $p++;
- }
- }
-
- $run = $p;
-
- if(!self::isalnumat($this->dataStr, $p)) {
- $dif = QRinput::estimateBitsModeAn($run) + 4 + $la
- + QRinput::estimateBitsMode8(1) // + 4 + l8
- - QRinput::estimateBitsMode8($run + 1); // - 4 - l8
- if($dif > 0) {
- return $this->eat8();
- }
- }
-
- $ret = $this->input->append(QR_MODE_AN, $run, str_split($this->dataStr));
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function eatKanji()
- {
- $p = 0;
-
- while($this->identifyMode($p) == QR_MODE_KANJI) {
- $p += 2;
- }
-
- $ret = $this->input->append(QR_MODE_KANJI, $p, str_split($this->dataStr));
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function eat8()
- {
- $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion());
- $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
-
- $p = 1;
- $dataStrLen = strlen($this->dataStr);
-
- while($p < $dataStrLen) {
-
- $mode = $this->identifyMode($p);
- if($mode == QR_MODE_KANJI) {
- break;
- }
- if($mode == QR_MODE_NUM) {
- $q = $p;
- while(self::isdigitat($this->dataStr, $q)) {
- $q++;
- }
- $dif = QRinput::estimateBitsMode8($p) // + 4 + l8
- + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln
- - QRinput::estimateBitsMode8($q); // - 4 - l8
- if($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } else if($mode == QR_MODE_AN) {
- $q = $p;
- while(self::isalnumat($this->dataStr, $q)) {
- $q++;
- }
- $dif = QRinput::estimateBitsMode8($p) // + 4 + l8
- + QRinput::estimateBitsModeAn($q - $p) + 4 + $la
- - QRinput::estimateBitsMode8($q); // - 4 - l8
- if($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } else {
- $p++;
- }
- }
-
- $run = $p;
- $ret = $this->input->append(QR_MODE_8, $run, str_split($this->dataStr));
-
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function splitString()
- {
- while (strlen($this->dataStr) > 0)
- {
- if($this->dataStr == '')
- return 0;
-
- $mode = $this->identifyMode(0);
-
- switch ($mode) {
- case QR_MODE_NUM: $length = $this->eatNum(); break;
- case QR_MODE_AN: $length = $this->eatAn(); break;
- case QR_MODE_KANJI:
- if ($hint == QR_MODE_KANJI)
- $length = $this->eatKanji();
- else $length = $this->eat8();
- break;
- default: $length = $this->eat8(); break;
-
- }
-
- if($length == 0) return 0;
- if($length < 0) return -1;
-
- $this->dataStr = substr($this->dataStr, $length);
- }
- }
-
- //----------------------------------------------------------------------
- public function toUpper()
- {
- $stringLen = strlen($this->dataStr);
- $p = 0;
-
- while ($p<$stringLen) {
- $mode = self::identifyMode(substr($this->dataStr, $p), $this->modeHint);
- if($mode == QR_MODE_KANJI) {
- $p += 2;
- } else {
- if (ord($this->dataStr[$p]) >= ord('a') && ord($this->dataStr[$p]) <= ord('z')) {
- $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32);
- }
- $p++;
- }
- }
-
- return $this->dataStr;
- }
-
- //----------------------------------------------------------------------
- public static function splitStringToQRinput($string, QRinput $input, $modeHint, $casesensitive = true)
- {
- if(is_null($string) || $string == '\0' || $string == '') {
- throw new Exception('empty string!!!');
- }
-
- $split = new QRsplit($string, $input, $modeHint);
-
- if(!$casesensitive)
- $split->toUpper();
-
- return $split->splitString();
- }
- }
-
-
-
-//---- qrrscode.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Reed-Solomon error correction support
- *
- * Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q
- * (libfec is released under the GNU Lesser General Public License.)
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRrsItem {
-
- public $mm; // Bits per symbol
- public $nn; // Symbols per block (= (1<= $this->nn) {
- $x -= $this->nn;
- $x = ($x >> $this->mm) + ($x & $this->nn);
- }
-
- return $x;
- }
-
- //----------------------------------------------------------------------
- public static function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad)
- {
- // Common code for intializing a Reed-Solomon control block (char or int symbols)
- // Copyright 2004 Phil Karn, KA9Q
- // May be used under the terms of the GNU Lesser General Public License (LGPL)
-
- $rs = null;
-
- // Check parameter ranges
- if($symsize < 0 || $symsize > 8) return $rs;
- if($fcr < 0 || $fcr >= (1<<$symsize)) return $rs;
- if($prim <= 0 || $prim >= (1<<$symsize)) return $rs;
- if($nroots < 0 || $nroots >= (1<<$symsize)) return $rs; // Can't have more roots than symbol values!
- if($pad < 0 || $pad >= ((1<<$symsize) -1 - $nroots)) return $rs; // Too much padding
-
- $rs = new QRrsItem();
- $rs->mm = $symsize;
- $rs->nn = (1<<$symsize)-1;
- $rs->pad = $pad;
-
- $rs->alpha_to = array_fill(0, $rs->nn+1, 0);
- $rs->index_of = array_fill(0, $rs->nn+1, 0);
-
- // PHP style macro replacement ;)
- $NN =& $rs->nn;
- $A0 =& $NN;
-
- // Generate Galois field lookup tables
- $rs->index_of[0] = $A0; // log(zero) = -inf
- $rs->alpha_to[$A0] = 0; // alpha**-inf = 0
- $sr = 1;
-
- for($i=0; $i<$rs->nn; $i++) {
- $rs->index_of[$sr] = $i;
- $rs->alpha_to[$i] = $sr;
- $sr <<= 1;
- if($sr & (1<<$symsize)) {
- $sr ^= $gfpoly;
- }
- $sr &= $rs->nn;
- }
-
- if($sr != 1){
- // field generator polynomial is not primitive!
- $rs = NULL;
- return $rs;
- }
-
- /* Form RS code generator polynomial from its roots */
- $rs->genpoly = array_fill(0, $nroots+1, 0);
-
- $rs->fcr = $fcr;
- $rs->prim = $prim;
- $rs->nroots = $nroots;
- $rs->gfpoly = $gfpoly;
-
- /* Find prim-th root of 1, used in decoding */
- for($iprim=1;($iprim % $prim) != 0;$iprim += $rs->nn)
- ; // intentional empty-body loop!
-
- $rs->iprim = (int)($iprim / $prim);
- $rs->genpoly[0] = 1;
-
- for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) {
- $rs->genpoly[$i+1] = 1;
-
- // Multiply rs->genpoly[] by @**(root + x)
- for ($j = $i; $j > 0; $j--) {
- if ($rs->genpoly[$j] != 0) {
- $rs->genpoly[$j] = $rs->genpoly[$j-1] ^ $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[$j]] + $root)];
- } else {
- $rs->genpoly[$j] = $rs->genpoly[$j-1];
- }
- }
- // rs->genpoly[0] can never be zero
- $rs->genpoly[0] = $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[0]] + $root)];
- }
-
- // convert rs->genpoly[] to index form for quicker encoding
- for ($i = 0; $i <= $nroots; $i++)
- $rs->genpoly[$i] = $rs->index_of[$rs->genpoly[$i]];
-
- return $rs;
- }
-
- //----------------------------------------------------------------------
- public function encode_rs_char($data, &$parity)
- {
- $MM =& $this->mm;
- $NN =& $this->nn;
- $ALPHA_TO =& $this->alpha_to;
- $INDEX_OF =& $this->index_of;
- $GENPOLY =& $this->genpoly;
- $NROOTS =& $this->nroots;
- $FCR =& $this->fcr;
- $PRIM =& $this->prim;
- $IPRIM =& $this->iprim;
- $PAD =& $this->pad;
- $A0 =& $NN;
-
- $parity = array_fill(0, $NROOTS, 0);
-
- for($i=0; $i< ($NN-$NROOTS-$PAD); $i++) {
-
- $feedback = $INDEX_OF[$data[$i] ^ $parity[0]];
- if($feedback != $A0) {
- // feedback term is non-zero
-
- // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must
- // always be for the polynomials constructed by init_rs()
- $feedback = $this->modnn($NN - $GENPOLY[$NROOTS] + $feedback);
-
- for($j=1;$j<$NROOTS;$j++) {
- $parity[$j] ^= $ALPHA_TO[$this->modnn($feedback + $GENPOLY[$NROOTS-$j])];
- }
- }
-
- // Shift
- array_shift($parity);
- if($feedback != $A0) {
- array_push($parity, $ALPHA_TO[$this->modnn($feedback + $GENPOLY[0])]);
- } else {
- array_push($parity, 0);
- }
- }
- }
- }
-
- //##########################################################################
-
- class QRrs {
-
- public static $items = array();
-
- //----------------------------------------------------------------------
- public static function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad)
- {
- foreach(self::$items as $rs) {
- if($rs->pad != $pad) continue;
- if($rs->nroots != $nroots) continue;
- if($rs->mm != $symsize) continue;
- if($rs->gfpoly != $gfpoly) continue;
- if($rs->fcr != $fcr) continue;
- if($rs->prim != $prim) continue;
-
- return $rs;
- }
-
- $rs = QRrsItem::init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad);
- array_unshift(self::$items, $rs);
-
- return $rs;
- }
- }
-
-
-
-//---- qrmask.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Masking
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('N1', 3);
- define('N2', 3);
- define('N3', 40);
- define('N4', 10);
-
- class QRmask {
-
- public $runLength = array();
-
- //----------------------------------------------------------------------
- public function __construct()
- {
- $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0);
- }
-
- //----------------------------------------------------------------------
- public function writeFormatInformation($width, &$frame, $mask, $level)
- {
- $blacks = 0;
- $format = QRspec::getFormatInfo($mask, $level);
-
- for($i=0; $i<8; $i++) {
- if($format & 1) {
- $blacks += 2;
- $v = 0x85;
- } else {
- $v = 0x84;
- }
-
- $frame[8][$width - 1 - $i] = chr($v);
- if($i < 6) {
- $frame[$i][8] = chr($v);
- } else {
- $frame[$i + 1][8] = chr($v);
- }
- $format = $format >> 1;
- }
-
- for($i=0; $i<7; $i++) {
- if($format & 1) {
- $blacks += 2;
- $v = 0x85;
- } else {
- $v = 0x84;
- }
-
- $frame[$width - 7 + $i][8] = chr($v);
- if($i == 0) {
- $frame[8][7] = chr($v);
- } else {
- $frame[8][6 - $i] = chr($v);
- }
-
- $format = $format >> 1;
- }
-
- return $blacks;
- }
-
- //----------------------------------------------------------------------
- public function mask0($x, $y) { return ($x+$y)&1; }
- public function mask1($x, $y) { return ($y&1); }
- public function mask2($x, $y) { return ($x%3); }
- public function mask3($x, $y) { return ($x+$y)%3; }
- public function mask4($x, $y) { return (((int)($y/2))+((int)($x/3)))&1; }
- public function mask5($x, $y) { return (($x*$y)&1)+($x*$y)%3; }
- public function mask6($x, $y) { return ((($x*$y)&1)+($x*$y)%3)&1; }
- public function mask7($x, $y) { return ((($x*$y)%3)+(($x+$y)&1))&1; }
-
- //----------------------------------------------------------------------
- private function generateMaskNo($maskNo, $width, $frame)
- {
- $bitMask = array_fill(0, $width, array_fill(0, $width, 0));
-
- for($y=0; $y<$width; $y++) {
- for($x=0; $x<$width; $x++) {
- if(ord($frame[$y][$x]) & 0x80) {
- $bitMask[$y][$x] = 0;
- } else {
- $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y);
- $bitMask[$y][$x] = ($maskFunc == 0)?1:0;
- }
-
- }
- }
-
- return $bitMask;
- }
-
- //----------------------------------------------------------------------
- public static function serial($bitFrame)
- {
- $codeArr = array();
-
- foreach ($bitFrame as $line)
- $codeArr[] = join('', $line);
-
- return gzcompress(join("\n", $codeArr), 9);
- }
-
- //----------------------------------------------------------------------
- public static function unserial($code)
- {
- $codeArr = array();
-
- $codeLines = explode("\n", gzuncompress($code));
- foreach ($codeLines as $line)
- $codeArr[] = str_split($line);
-
- return $codeArr;
- }
-
- //----------------------------------------------------------------------
- public function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly = false)
- {
- $b = 0;
- $bitMask = array();
-
- $fileName = QR_CACHE_DIR.'mask_'.$maskNo.DIRECTORY_SEPARATOR.'mask_'.$width.'_'.$maskNo.'.dat';
-
- if (QR_CACHEABLE) {
- if (file_exists($fileName)) {
- $bitMask = self::unserial(file_get_contents($fileName));
- } else {
- $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
- if (!file_exists(QR_CACHE_DIR.'mask_'.$maskNo))
- mkdir(QR_CACHE_DIR.'mask_'.$maskNo);
- file_put_contents($fileName, self::serial($bitMask));
- }
- } else {
- $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
- }
-
- if ($maskGenOnly)
- return;
-
- $d = $s;
-
- for($y=0; $y<$width; $y++) {
- for($x=0; $x<$width; $x++) {
- if($bitMask[$y][$x] == 1) {
- $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]);
- }
- $b += (int)(ord($d[$y][$x]) & 1);
- }
- }
-
- return $b;
- }
-
- //----------------------------------------------------------------------
- public function makeMask($width, $frame, $maskNo, $level)
- {
- $masked = array_fill(0, $width, str_repeat("\0", $width));
- $this->makeMaskNo($maskNo, $width, $frame, $masked);
- $this->writeFormatInformation($width, $masked, $maskNo, $level);
-
- return $masked;
- }
-
- //----------------------------------------------------------------------
- public function calcN1N3($length)
- {
- $demerit = 0;
-
- for($i=0; $i<$length; $i++) {
-
- if($this->runLength[$i] >= 5) {
- $demerit += (N1 + ($this->runLength[$i] - 5));
- }
- if($i & 1) {
- if(($i >= 3) && ($i < ($length-2)) && ($this->runLength[$i] % 3 == 0)) {
- $fact = (int)($this->runLength[$i] / 3);
- if(($this->runLength[$i-2] == $fact) &&
- ($this->runLength[$i-1] == $fact) &&
- ($this->runLength[$i+1] == $fact) &&
- ($this->runLength[$i+2] == $fact)) {
- if(($this->runLength[$i-3] < 0) || ($this->runLength[$i-3] >= (4 * $fact))) {
- $demerit += N3;
- } else if((($i+3) >= $length) || ($this->runLength[$i+3] >= (4 * $fact))) {
- $demerit += N3;
- }
- }
- }
- }
- }
- return $demerit;
- }
-
- //----------------------------------------------------------------------
- public function evaluateSymbol($width, $frame)
- {
- $head = 0;
- $demerit = 0;
-
- for($y=0; $y<$width; $y++) {
- $head = 0;
- $this->runLength[0] = 1;
-
- $frameY = $frame[$y];
-
- if ($y>0)
- $frameYM = $frame[$y-1];
-
- for($x=0; $x<$width; $x++) {
- if(($x > 0) && ($y > 0)) {
- $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]);
- $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]);
-
- if(($b22 | ($w22 ^ 1))&1) {
- $demerit += N2;
- }
- }
- if(($x == 0) && (ord($frameY[$x]) & 1)) {
- $this->runLength[0] = -1;
- $head = 1;
- $this->runLength[$head] = 1;
- } else if($x > 0) {
- if((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) {
- $head++;
- $this->runLength[$head] = 1;
- } else {
- $this->runLength[$head]++;
- }
- }
- }
-
- $demerit += $this->calcN1N3($head+1);
- }
-
- for($x=0; $x<$width; $x++) {
- $head = 0;
- $this->runLength[0] = 1;
-
- for($y=0; $y<$width; $y++) {
- if($y == 0 && (ord($frame[$y][$x]) & 1)) {
- $this->runLength[0] = -1;
- $head = 1;
- $this->runLength[$head] = 1;
- } else if($y > 0) {
- if((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) {
- $head++;
- $this->runLength[$head] = 1;
- } else {
- $this->runLength[$head]++;
- }
- }
- }
-
- $demerit += $this->calcN1N3($head+1);
- }
-
- return $demerit;
- }
-
-
- //----------------------------------------------------------------------
- public function mask($width, $frame, $level)
- {
- $minDemerit = PHP_INT_MAX;
- $bestMaskNum = 0;
- $bestMask = array();
-
- $checked_masks = array(0,1,2,3,4,5,6,7);
-
- if (QR_FIND_FROM_RANDOM !== false) {
-
- $howManuOut = 8-(QR_FIND_FROM_RANDOM % 9);
- for ($i = 0; $i < $howManuOut; $i++) {
- $remPos = rand (0, count($checked_masks)-1);
- unset($checked_masks[$remPos]);
- $checked_masks = array_values($checked_masks);
- }
-
- }
-
- $bestMask = $frame;
-
- foreach($checked_masks as $i) {
- $mask = array_fill(0, $width, str_repeat("\0", $width));
-
- $demerit = 0;
- $blacks = 0;
- $blacks = $this->makeMaskNo($i, $width, $frame, $mask);
- $blacks += $this->writeFormatInformation($width, $mask, $i, $level);
- $blacks = (int)(100 * $blacks / ($width * $width));
- $demerit = (int)((int)(abs($blacks - 50) / 5) * N4);
- $demerit += $this->evaluateSymbol($width, $mask);
-
- if($demerit < $minDemerit) {
- $minDemerit = $demerit;
- $bestMask = $mask;
- $bestMaskNum = $i;
- }
- }
-
- return $bestMask;
- }
-
- //----------------------------------------------------------------------
- }
-
-
-
-
-//---- qrencode.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Main encoder classes.
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRrsblock {
- public $dataLength;
- public $data = array();
- public $eccLength;
- public $ecc = array();
-
- public function __construct($dl, $data, $el, &$ecc, QRrsItem $rs)
- {
- $rs->encode_rs_char($data, $ecc);
-
- $this->dataLength = $dl;
- $this->data = $data;
- $this->eccLength = $el;
- $this->ecc = $ecc;
- }
- };
-
- //##########################################################################
-
- class QRrawcode {
- public $version;
- public $datacode = array();
- public $ecccode = array();
- public $blocks;
- public $rsblocks = array(); //of RSblock
- public $count;
- public $dataLength;
- public $eccLength;
- public $b1;
-
- //----------------------------------------------------------------------
- public function __construct(QRinput $input)
- {
- $spec = array(0,0,0,0,0);
-
- $this->datacode = $input->getByteStream();
- if(is_null($this->datacode)) {
- throw new Exception('null imput string');
- }
-
- QRspec::getEccSpec($input->getVersion(), $input->getErrorCorrectionLevel(), $spec);
-
- $this->version = $input->getVersion();
- $this->b1 = QRspec::rsBlockNum1($spec);
- $this->dataLength = QRspec::rsDataLength($spec);
- $this->eccLength = QRspec::rsEccLength($spec);
- $this->ecccode = array_fill(0, $this->eccLength, 0);
- $this->blocks = QRspec::rsBlockNum($spec);
-
- $ret = $this->init($spec);
- if($ret < 0) {
- throw new Exception('block alloc error');
- return null;
- }
-
- $this->count = 0;
- }
-
- //----------------------------------------------------------------------
- public function init(array $spec)
- {
- $dl = QRspec::rsDataCodes1($spec);
- $el = QRspec::rsEccCodes1($spec);
- $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
-
-
- $blockNo = 0;
- $dataPos = 0;
- $eccPos = 0;
- for($i=0; $iecccode,$eccPos);
- $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs);
- $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc);
-
- $dataPos += $dl;
- $eccPos += $el;
- $blockNo++;
- }
-
- if(QRspec::rsBlockNum2($spec) == 0)
- return 0;
-
- $dl = QRspec::rsDataCodes2($spec);
- $el = QRspec::rsEccCodes2($spec);
- $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
-
- if($rs == NULL) return -1;
-
- for($i=0; $iecccode,$eccPos);
- $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs);
- $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc);
-
- $dataPos += $dl;
- $eccPos += $el;
- $blockNo++;
- }
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function getCode()
- {
- $ret;
-
- if($this->count < $this->dataLength) {
- $row = $this->count % $this->blocks;
- $col = $this->count / $this->blocks;
- if($col >= $this->rsblocks[0]->dataLength) {
- $row += $this->b1;
- }
- $ret = $this->rsblocks[$row]->data[$col];
- } else if($this->count < $this->dataLength + $this->eccLength) {
- $row = ($this->count - $this->dataLength) % $this->blocks;
- $col = ($this->count - $this->dataLength) / $this->blocks;
- $ret = $this->rsblocks[$row]->ecc[$col];
- } else {
- return 0;
- }
- $this->count++;
-
- return $ret;
- }
- }
-
- //##########################################################################
-
- class QRcode {
-
- public $version;
- public $width;
- public $data;
-
- //----------------------------------------------------------------------
- public function encodeMask(QRinput $input, $mask)
- {
- if($input->getVersion() < 0 || $input->getVersion() > QRSPEC_VERSION_MAX) {
- throw new Exception('wrong version');
- }
- if($input->getErrorCorrectionLevel() > QR_ECLEVEL_H) {
- throw new Exception('wrong level');
- }
-
- $raw = new QRrawcode($input);
-
- QRtools::markTime('after_raw');
-
- $version = $raw->version;
- $width = QRspec::getWidth($version);
- $frame = QRspec::newFrame($version);
-
- $filler = new FrameFiller($width, $frame);
- if(is_null($filler)) {
- return NULL;
- }
-
- // inteleaved data and ecc codes
- for($i=0; $i<$raw->dataLength + $raw->eccLength; $i++) {
- $code = $raw->getCode();
- $bit = 0x80;
- for($j=0; $j<8; $j++) {
- $addr = $filler->next();
- $filler->setFrameAt($addr, 0x02 | (($bit & $code) != 0));
- $bit = $bit >> 1;
- }
- }
-
- QRtools::markTime('after_filler');
-
- unset($raw);
-
- // remainder bits
- $j = QRspec::getRemainder($version);
- for($i=0; $i<$j; $i++) {
- $addr = $filler->next();
- $filler->setFrameAt($addr, 0x02);
- }
-
- $frame = $filler->frame;
- unset($filler);
-
-
- // masking
- $maskObj = new QRmask();
- if($mask < 0) {
-
- if (QR_FIND_BEST_MASK) {
- $masked = $maskObj->mask($width, $frame, $input->getErrorCorrectionLevel());
- } else {
- $masked = $maskObj->makeMask($width, $frame, (intval(QR_DEFAULT_MASK) % 8), $input->getErrorCorrectionLevel());
- }
- } else {
- $masked = $maskObj->makeMask($width, $frame, $mask, $input->getErrorCorrectionLevel());
- }
-
- if($masked == NULL) {
- return NULL;
- }
-
- QRtools::markTime('after_mask');
-
- $this->version = $version;
- $this->width = $width;
- $this->data = $masked;
-
- return $this;
- }
-
- //----------------------------------------------------------------------
- public function encodeInput(QRinput $input)
- {
- return $this->encodeMask($input, -1);
- }
-
- //----------------------------------------------------------------------
- public function encodeString8bit($string, $version, $level)
- {
- if(string == NULL) {
- throw new Exception('empty string!');
- return NULL;
- }
-
- $input = new QRinput($version, $level);
- if($input == NULL) return NULL;
-
- $ret = $input->append($input, QR_MODE_8, strlen($string), str_split($string));
- if($ret < 0) {
- unset($input);
- return NULL;
- }
- return $this->encodeInput($input);
- }
-
- //----------------------------------------------------------------------
- public function encodeString($string, $version, $level, $hint, $casesensitive)
- {
-
- if($hint != QR_MODE_8 && $hint != QR_MODE_KANJI) {
- throw new Exception('bad hint');
- return NULL;
- }
-
- $input = new QRinput($version, $level);
- if($input == NULL) return NULL;
-
- $ret = QRsplit::splitStringToQRinput($string, $input, $hint, $casesensitive);
- if($ret < 0) {
- return NULL;
- }
-
- return $this->encodeInput($input);
- }
-
- //----------------------------------------------------------------------
- public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false)
- {
- $enc = QRencode::factory($level, $size, $margin);
- return $enc->encodePNG($text, $outfile, $saveandprint=false);
- }
-
- //----------------------------------------------------------------------
- public static function text($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4)
- {
- $enc = QRencode::factory($level, $size, $margin);
- return $enc->encode($text, $outfile);
- }
-
- //----------------------------------------------------------------------
- public static function raw($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4)
- {
- $enc = QRencode::factory($level, $size, $margin);
- return $enc->encodeRAW($text, $outfile);
- }
- }
-
- //##########################################################################
-
- class FrameFiller {
-
- public $width;
- public $frame;
- public $x;
- public $y;
- public $dir;
- public $bit;
-
- //----------------------------------------------------------------------
- public function __construct($width, &$frame)
- {
- $this->width = $width;
- $this->frame = $frame;
- $this->x = $width - 1;
- $this->y = $width - 1;
- $this->dir = -1;
- $this->bit = -1;
- }
-
- //----------------------------------------------------------------------
- public function setFrameAt($at, $val)
- {
- $this->frame[$at['y']][$at['x']] = chr($val);
- }
-
- //----------------------------------------------------------------------
- public function getFrameAt($at)
- {
- return ord($this->frame[$at['y']][$at['x']]);
- }
-
- //----------------------------------------------------------------------
- public function next()
- {
- do {
-
- if($this->bit == -1) {
- $this->bit = 0;
- return array('x'=>$this->x, 'y'=>$this->y);
- }
-
- $x = $this->x;
- $y = $this->y;
- $w = $this->width;
-
- if($this->bit == 0) {
- $x--;
- $this->bit++;
- } else {
- $x++;
- $y += $this->dir;
- $this->bit--;
- }
-
- if($this->dir < 0) {
- if($y < 0) {
- $y = 0;
- $x -= 2;
- $this->dir = 1;
- if($x == 6) {
- $x--;
- $y = 9;
- }
- }
- } else {
- if($y == $w) {
- $y = $w - 1;
- $x -= 2;
- $this->dir = -1;
- if($x == 6) {
- $x--;
- $y -= 8;
- }
- }
- }
- if($x < 0 || $y < 0) return null;
-
- $this->x = $x;
- $this->y = $y;
-
- } while(ord($this->frame[$y][$x]) & 0x80);
-
- return array('x'=>$x, 'y'=>$y);
- }
-
- } ;
-
- //##########################################################################
-
- class QRencode {
-
- public $casesensitive = true;
- public $eightbit = false;
-
- public $version = 0;
- public $size = 3;
- public $margin = 4;
-
- public $structured = 0; // not supported yet
-
- public $level = QR_ECLEVEL_L;
- public $hint = QR_MODE_8;
-
- //----------------------------------------------------------------------
- public static function factory($level = QR_ECLEVEL_L, $size = 3, $margin = 4)
- {
- $enc = new QRencode();
- $enc->size = $size;
- $enc->margin = $margin;
-
- switch ($level.'') {
- case '0':
- case '1':
- case '2':
- case '3':
- $enc->level = $level;
- break;
- case 'l':
- case 'L':
- $enc->level = QR_ECLEVEL_L;
- break;
- case 'm':
- case 'M':
- $enc->level = QR_ECLEVEL_M;
- break;
- case 'q':
- case 'Q':
- $enc->level = QR_ECLEVEL_Q;
- break;
- case 'h':
- case 'H':
- $enc->level = QR_ECLEVEL_H;
- break;
- }
-
- return $enc;
- }
-
- //----------------------------------------------------------------------
- public function encodeRAW($intext, $outfile = false)
- {
- $code = new QRcode();
-
- if($this->eightbit) {
- $code->encodeString8bit($intext, $this->version, $this->level);
- } else {
- $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive);
- }
-
- return $code->data;
- }
-
- //----------------------------------------------------------------------
- public function encode($intext, $outfile = false)
- {
- $code = new QRcode();
-
- if($this->eightbit) {
- $code->encodeString8bit($intext, $this->version, $this->level);
- } else {
- $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive);
- }
-
- QRtools::markTime('after_encode');
-
- if ($outfile!== false) {
- file_put_contents($outfile, join("\n", QRtools::binarize($code->data)));
- } else {
- return QRtools::binarize($code->data);
- }
- }
-
- //----------------------------------------------------------------------
- public function encodePNG($intext, $outfile = false,$saveandprint=false)
- {
- try {
-
- ob_start();
- $tab = $this->encode($intext);
- $err = ob_get_contents();
- ob_end_clean();
-
- if ($err != '')
- QRtools::log($outfile, $err);
-
- $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin));
-
- QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint);
-
- } catch (Exception $e) {
-
- QRtools::log($outfile, $e->getMessage());
-
- }
- }
+
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+ class QRtools {
+
+ //----------------------------------------------------------------------
+ public static function binarize($frame)
+ {
+ $len = count($frame);
+ foreach ($frame as &$frameLine) {
+
+ for($i=0; $i<$len; $i++) {
+ $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0';
+ }
+ }
+
+ return $frame;
+ }
+
+ //----------------------------------------------------------------------
+ public static function tcpdfBarcodeArray($code, $mode = 'QR,L', $tcPdfVersion = '4.5.037')
+ {
+ $barcode_array = array();
+
+ if (!is_array($mode))
+ $mode = explode(',', $mode);
+
+ $eccLevel = 'L';
+
+ if (count($mode) > 1) {
+ $eccLevel = $mode[1];
+ }
+
+ $qrTab = QRcode::text($code, false, $eccLevel);
+ $size = count($qrTab);
+
+ $barcode_array['num_rows'] = $size;
+ $barcode_array['num_cols'] = $size;
+ $barcode_array['bcode'] = array();
+
+ foreach ($qrTab as $line) {
+ $arrAdd = array();
+ foreach(str_split($line) as $char)
+ $arrAdd[] = ($char=='1')?1:0;
+ $barcode_array['bcode'][] = $arrAdd;
+ }
+
+ return $barcode_array;
+ }
+
+ //----------------------------------------------------------------------
+ public static function clearCache()
+ {
+ self::$frames = array();
+ }
+
+ //----------------------------------------------------------------------
+ public static function buildCache()
+ {
+ QRtools::markTime('before_build_cache');
+
+ $mask = new QRmask();
+ for ($a=1; $a <= QRSPEC_VERSION_MAX; $a++) {
+ $frame = QRspec::newFrame($a);
+ if (QR_IMAGE) {
+ $fileName = QR_CACHE_DIR.'frame_'.$a.'.png';
+ QRimage::png(self::binarize($frame), $fileName, 1, 0);
+ }
+
+ $width = count($frame);
+ $bitMask = array_fill(0, $width, array_fill(0, $width, 0));
+ for ($maskNo=0; $maskNo<8; $maskNo++)
+ $mask->makeMaskNo($maskNo, $width, $frame, $bitMask, true);
+ }
+
+ QRtools::markTime('after_build_cache');
+ }
+
+ //----------------------------------------------------------------------
+ public static function log($outfile, $err)
+ {
+ if (QR_LOG_DIR !== false) {
+ if ($err != '') {
+ if ($outfile !== false) {
+ file_put_contents(QR_LOG_DIR.basename($outfile).'-errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
+ } else {
+ file_put_contents(QR_LOG_DIR.'errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
+ }
+ }
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public static function dumpMask($frame)
+ {
+ $width = count($frame);
+ for($y=0;$y<$width;$y++) {
+ for($x=0;$x<$width;$x++) {
+ echo ord($frame[$y][$x]).',';
+ }
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public static function markTime($markerId)
+ {
+ list($usec, $sec) = explode(" ", microtime());
+ $time = ((float)$usec + (float)$sec);
+
+ if (!isset($GLOBALS['qr_time_bench']))
+ $GLOBALS['qr_time_bench'] = array();
+
+ $GLOBALS['qr_time_bench'][$markerId] = $time;
+ }
+
+ //----------------------------------------------------------------------
+ public static function timeBenchmark()
+ {
+ self::markTime('finish');
+
+ $lastTime = 0;
+ $startTime = 0;
+ $p = 0;
+
+ echo '
+ BENCHMARK
+ ';
+
+ foreach($GLOBALS['qr_time_bench'] as $markerId=>$thisTime) {
+ if ($p > 0) {
+ echo 'till '.$markerId.': '.number_format($thisTime-$lastTime, 6).'s ';
+ } else {
+ $startTime = $thisTime;
+ }
+
+ $p++;
+ $lastTime = $thisTime;
+ }
+
+ echo '
+ TOTAL: '.number_format($lastTime-$startTime, 6).'s
+
+
';
+ }
+
+ }
+
+ //##########################################################################
+
+ QRtools::markTime('start');
+
+
+
+
+//---- qrspec.php -----------------------------
+
+
+
+
+/*
+ * PHP QR Code encoder
+ *
+ * QR Code specifications
+ *
+ * Based on libqrencode C library distributed under LGPL 2.1
+ * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
+ *
+ * PHP QR Code is distributed under LGPL 3
+ * Copyright (C) 2010 Dominik Dzienia
+ *
+ * The following data / specifications are taken from
+ * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004)
+ * or
+ * "Automatic identification and data capture techniques --
+ * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+ define('QRSPEC_VERSION_MAX', 40);
+ define('QRSPEC_WIDTH_MAX', 177);
+
+ define('QRCAP_WIDTH', 0);
+ define('QRCAP_WORDS', 1);
+ define('QRCAP_REMINDER', 2);
+ define('QRCAP_EC', 3);
+
+ class QRspec {
+
+ public static $capacity = array(
+ array( 0, 0, 0, array( 0, 0, 0, 0)),
+ array( 21, 26, 0, array( 7, 10, 13, 17)), // 1
+ array( 25, 44, 7, array( 10, 16, 22, 28)),
+ array( 29, 70, 7, array( 15, 26, 36, 44)),
+ array( 33, 100, 7, array( 20, 36, 52, 64)),
+ array( 37, 134, 7, array( 26, 48, 72, 88)), // 5
+ array( 41, 172, 7, array( 36, 64, 96, 112)),
+ array( 45, 196, 0, array( 40, 72, 108, 130)),
+ array( 49, 242, 0, array( 48, 88, 132, 156)),
+ array( 53, 292, 0, array( 60, 110, 160, 192)),
+ array( 57, 346, 0, array( 72, 130, 192, 224)), //10
+ array( 61, 404, 0, array( 80, 150, 224, 264)),
+ array( 65, 466, 0, array( 96, 176, 260, 308)),
+ array( 69, 532, 0, array( 104, 198, 288, 352)),
+ array( 73, 581, 3, array( 120, 216, 320, 384)),
+ array( 77, 655, 3, array( 132, 240, 360, 432)), //15
+ array( 81, 733, 3, array( 144, 280, 408, 480)),
+ array( 85, 815, 3, array( 168, 308, 448, 532)),
+ array( 89, 901, 3, array( 180, 338, 504, 588)),
+ array( 93, 991, 3, array( 196, 364, 546, 650)),
+ array( 97, 1085, 3, array( 224, 416, 600, 700)), //20
+ array(101, 1156, 4, array( 224, 442, 644, 750)),
+ array(105, 1258, 4, array( 252, 476, 690, 816)),
+ array(109, 1364, 4, array( 270, 504, 750, 900)),
+ array(113, 1474, 4, array( 300, 560, 810, 960)),
+ array(117, 1588, 4, array( 312, 588, 870, 1050)), //25
+ array(121, 1706, 4, array( 336, 644, 952, 1110)),
+ array(125, 1828, 4, array( 360, 700, 1020, 1200)),
+ array(129, 1921, 3, array( 390, 728, 1050, 1260)),
+ array(133, 2051, 3, array( 420, 784, 1140, 1350)),
+ array(137, 2185, 3, array( 450, 812, 1200, 1440)), //30
+ array(141, 2323, 3, array( 480, 868, 1290, 1530)),
+ array(145, 2465, 3, array( 510, 924, 1350, 1620)),
+ array(149, 2611, 3, array( 540, 980, 1440, 1710)),
+ array(153, 2761, 3, array( 570, 1036, 1530, 1800)),
+ array(157, 2876, 0, array( 570, 1064, 1590, 1890)), //35
+ array(161, 3034, 0, array( 600, 1120, 1680, 1980)),
+ array(165, 3196, 0, array( 630, 1204, 1770, 2100)),
+ array(169, 3362, 0, array( 660, 1260, 1860, 2220)),
+ array(173, 3532, 0, array( 720, 1316, 1950, 2310)),
+ array(177, 3706, 0, array( 750, 1372, 2040, 2430)) //40
+ );
+
+ //----------------------------------------------------------------------
+ public static function getDataLength($version, $level)
+ {
+ return self::$capacity[$version][QRCAP_WORDS] - self::$capacity[$version][QRCAP_EC][$level];
+ }
+
+ //----------------------------------------------------------------------
+ public static function getECCLength($version, $level)
+ {
+ return self::$capacity[$version][QRCAP_EC][$level];
+ }
+
+ //----------------------------------------------------------------------
+ public static function getWidth($version)
+ {
+ return self::$capacity[$version][QRCAP_WIDTH];
+ }
+
+ //----------------------------------------------------------------------
+ public static function getRemainder($version)
+ {
+ return self::$capacity[$version][QRCAP_REMINDER];
+ }
+
+ //----------------------------------------------------------------------
+ public static function getMinimumVersion($size, $level)
+ {
+
+ for($i=1; $i<= QRSPEC_VERSION_MAX; $i++) {
+ $words = self::$capacity[$i][QRCAP_WORDS] - self::$capacity[$i][QRCAP_EC][$level];
+ if($words >= $size)
+ return $i;
+ }
+
+ return -1;
+ }
+
+ //######################################################################
+
+ public static $lengthTableBits = array(
+ array(10, 12, 14),
+ array( 9, 11, 13),
+ array( 8, 16, 16),
+ array( 8, 10, 12)
+ );
+
+ //----------------------------------------------------------------------
+ public static function lengthIndicator($mode, $version)
+ {
+ if ($mode == QR_MODE_STRUCTURE)
+ return 0;
+
+ if ($version <= 9) {
+ $l = 0;
+ } else if ($version <= 26) {
+ $l = 1;
+ } else {
+ $l = 2;
+ }
+
+ return self::$lengthTableBits[$mode][$l];
+ }
+
+ //----------------------------------------------------------------------
+ public static function maximumWords($mode, $version)
+ {
+ if($mode == QR_MODE_STRUCTURE)
+ return 3;
+
+ if($version <= 9) {
+ $l = 0;
+ } else if($version <= 26) {
+ $l = 1;
+ } else {
+ $l = 2;
+ }
+
+ $bits = self::$lengthTableBits[$mode][$l];
+ $words = (1 << $bits) - 1;
+
+ if($mode == QR_MODE_KANJI) {
+ $words *= 2; // the number of bytes is required
+ }
+
+ return $words;
+ }
+
+ // Error correction code -----------------------------------------------
+ // Table of the error correction code (Reed-Solomon block)
+ // See Table 12-16 (pp.30-36), JIS X0510:2004.
+
+ public static $eccTable = array(
+ array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)),
+ array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1
+ array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)),
+ array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)),
+ array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)),
+ array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5
+ array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)),
+ array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)),
+ array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)),
+ array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)),
+ array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), //10
+ array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)),
+ array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)),
+ array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)),
+ array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)),
+ array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), //15
+ array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)),
+ array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)),
+ array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)),
+ array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)),
+ array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), //20
+ array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)),
+ array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)),
+ array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)),
+ array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)),
+ array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), //25
+ array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)),
+ array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)),
+ array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)),
+ array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)),
+ array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), //30
+ array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)),
+ array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)),
+ array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)),
+ array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)),
+ array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), //35
+ array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)),
+ array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)),
+ array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)),
+ array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)),
+ array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)),//40
+ );
+
+ //----------------------------------------------------------------------
+ // CACHEABLE!!!
+
+ public static function getEccSpec($version, $level, array &$spec)
+ {
+ if (count($spec) < 5) {
+ $spec = array(0,0,0,0,0);
+ }
+
+ $b1 = self::$eccTable[$version][$level][0];
+ $b2 = self::$eccTable[$version][$level][1];
+ $data = self::getDataLength($version, $level);
+ $ecc = self::getECCLength($version, $level);
+
+ if($b2 == 0) {
+ $spec[0] = $b1;
+ $spec[1] = (int)($data / $b1);
+ $spec[2] = (int)($ecc / $b1);
+ $spec[3] = 0;
+ $spec[4] = 0;
+ } else {
+ $spec[0] = $b1;
+ $spec[1] = (int)($data / ($b1 + $b2));
+ $spec[2] = (int)($ecc / ($b1 + $b2));
+ $spec[3] = $b2;
+ $spec[4] = $spec[1] + 1;
+ }
+ }
+
+ // Alignment pattern ---------------------------------------------------
+
+ // Positions of alignment patterns.
+ // This array includes only the second and the third position of the
+ // alignment patterns. Rest of them can be calculated from the distance
+ // between them.
+
+ // See Table 1 in Appendix E (pp.71) of JIS X0510:2004.
+
+ public static $alignmentPattern = array(
+ array( 0, 0),
+ array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5
+ array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10
+ array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), //11-15
+ array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), //16-20
+ array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), //21-25
+ array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), //26-30
+ array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), //31-35
+ array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58), //35-40
+ );
+
+
+ /** --------------------------------------------------------------------
+ * Put an alignment marker.
+ * @param frame
+ * @param width
+ * @param ox,oy center coordinate of the pattern
+ */
+ public static function putAlignmentMarker(array &$frame, $ox, $oy)
+ {
+ $finder = array(
+ "\xa1\xa1\xa1\xa1\xa1",
+ "\xa1\xa0\xa0\xa0\xa1",
+ "\xa1\xa0\xa1\xa0\xa1",
+ "\xa1\xa0\xa0\xa0\xa1",
+ "\xa1\xa1\xa1\xa1\xa1"
+ );
+
+ $yStart = $oy-2;
+ $xStart = $ox-2;
+
+ for($y=0; $y<5; $y++) {
+ QRstr::set($frame, $xStart, $yStart+$y, $finder[$y]);
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public static function putAlignmentPattern($version, &$frame, $width)
+ {
+ if($version < 2)
+ return;
+
+ $d = self::$alignmentPattern[$version][1] - self::$alignmentPattern[$version][0];
+ if($d < 0) {
+ $w = 2;
+ } else {
+ $w = (int)(($width - self::$alignmentPattern[$version][0]) / $d + 2);
+ }
+
+ if($w * $w - 3 == 1) {
+ $x = self::$alignmentPattern[$version][0];
+ $y = self::$alignmentPattern[$version][0];
+ self::putAlignmentMarker($frame, $x, $y);
+ return;
+ }
+
+ $cx = self::$alignmentPattern[$version][0];
+ for($x=1; $x<$w - 1; $x++) {
+ self::putAlignmentMarker($frame, 6, $cx);
+ self::putAlignmentMarker($frame, $cx, 6);
+ $cx += $d;
+ }
+
+ $cy = self::$alignmentPattern[$version][0];
+ for($y=0; $y<$w-1; $y++) {
+ $cx = self::$alignmentPattern[$version][0];
+ for($x=0; $x<$w-1; $x++) {
+ self::putAlignmentMarker($frame, $cx, $cy);
+ $cx += $d;
+ }
+ $cy += $d;
+ }
+ }
+
+ // Version information pattern -----------------------------------------
+
+ // Version information pattern (BCH coded).
+ // See Table 1 in Appendix D (pp.68) of JIS X0510:2004.
+
+ // size: [QRSPEC_VERSION_MAX - 6]
+
+ public static $versionPattern = array(
+ 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d,
+ 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9,
+ 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75,
+ 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64,
+ 0x27541, 0x28c69
+ );
+
+ //----------------------------------------------------------------------
+ public static function getVersionPattern($version)
+ {
+ if($version < 7 || $version > QRSPEC_VERSION_MAX)
+ return 0;
+
+ return self::$versionPattern[$version -7];
+ }
+
+ // Format information --------------------------------------------------
+ // See calcFormatInfo in tests/test_qrspec.c (orginal qrencode c lib)
+
+ public static $formatInfo = array(
+ array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976),
+ array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0),
+ array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed),
+ array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b)
+ );
+
+ public static function getFormatInfo($mask, $level)
+ {
+ if($mask < 0 || $mask > 7)
+ return 0;
+
+ if($level < 0 || $level > 3)
+ return 0;
+
+ return self::$formatInfo[$level][$mask];
+ }
+
+ // Frame ---------------------------------------------------------------
+ // Cache of initial frames.
+
+ public static $frames = array();
+
+ /** --------------------------------------------------------------------
+ * Put a finder pattern.
+ * @param frame
+ * @param width
+ * @param ox,oy upper-left coordinate of the pattern
+ */
+ public static function putFinderPattern(&$frame, $ox, $oy)
+ {
+ $finder = array(
+ "\xc1\xc1\xc1\xc1\xc1\xc1\xc1",
+ "\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
+ "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
+ "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
+ "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
+ "\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
+ "\xc1\xc1\xc1\xc1\xc1\xc1\xc1"
+ );
+
+ for($y=0; $y<7; $y++) {
+ QRstr::set($frame, $ox, $oy+$y, $finder[$y]);
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public static function createFrame($version)
+ {
+ $width = self::$capacity[$version][QRCAP_WIDTH];
+ $frameLine = str_repeat ("\0", $width);
+ $frame = array_fill(0, $width, $frameLine);
+
+ // Finder pattern
+ self::putFinderPattern($frame, 0, 0);
+ self::putFinderPattern($frame, $width - 7, 0);
+ self::putFinderPattern($frame, 0, $width - 7);
+
+ // Separator
+ $yOffset = $width - 7;
+
+ for($y=0; $y<7; $y++) {
+ $frame[$y][7] = "\xc0";
+ $frame[$y][$width - 8] = "\xc0";
+ $frame[$yOffset][7] = "\xc0";
+ $yOffset++;
+ }
+
+ $setPattern = str_repeat("\xc0", 8);
+
+ QRstr::set($frame, 0, 7, $setPattern);
+ QRstr::set($frame, $width-8, 7, $setPattern);
+ QRstr::set($frame, 0, $width - 8, $setPattern);
+
+ // Format info
+ $setPattern = str_repeat("\x84", 9);
+ QRstr::set($frame, 0, 8, $setPattern);
+ QRstr::set($frame, $width - 8, 8, $setPattern, 8);
+
+ $yOffset = $width - 8;
+
+ for($y=0; $y<8; $y++,$yOffset++) {
+ $frame[$y][8] = "\x84";
+ $frame[$yOffset][8] = "\x84";
+ }
+
+ // Timing pattern
+
+ for($i=1; $i<$width-15; $i++) {
+ $frame[6][7+$i] = chr(0x90 | ($i & 1));
+ $frame[7+$i][6] = chr(0x90 | ($i & 1));
+ }
+
+ // Alignment pattern
+ self::putAlignmentPattern($version, $frame, $width);
+
+ // Version information
+ if($version >= 7) {
+ $vinf = self::getVersionPattern($version);
+
+ $v = $vinf;
+
+ for($x=0; $x<6; $x++) {
+ for($y=0; $y<3; $y++) {
+ $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1));
+ $v = $v >> 1;
+ }
+ }
+
+ $v = $vinf;
+ for($y=0; $y<6; $y++) {
+ for($x=0; $x<3; $x++) {
+ $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1));
+ $v = $v >> 1;
+ }
+ }
+ }
+
+ // and a little bit...
+ $frame[$width - 8][8] = "\x81";
+
+ return $frame;
+ }
+
+ //----------------------------------------------------------------------
+ public static function debug($frame, $binary_mode = false)
+ {
+ if ($binary_mode) {
+
+ foreach ($frame as &$frameLine) {
+ $frameLine = join(' ', explode('0', $frameLine));
+ $frameLine = join('██', explode('1', $frameLine));
+ }
+
+ ?>
+
+ ';
+ echo join(" ", $frame);
+ echo ' ';
+
+ } else {
+
+ foreach ($frame as &$frameLine) {
+ $frameLine = join(' ', explode("\xc0", $frameLine));
+ $frameLine = join('▒ ', explode("\xc1", $frameLine));
+ $frameLine = join(' ', explode("\xa0", $frameLine));
+ $frameLine = join('▒ ', explode("\xa1", $frameLine));
+ $frameLine = join('◇ ', explode("\x84", $frameLine)); //format 0
+ $frameLine = join('◆ ', explode("\x85", $frameLine)); //format 1
+ $frameLine = join('☢ ', explode("\x81", $frameLine)); //special bit
+ $frameLine = join(' ', explode("\x90", $frameLine)); //clock 0
+ $frameLine = join('◷ ', explode("\x91", $frameLine)); //clock 1
+ $frameLine = join(' ', explode("\x88", $frameLine)); //version
+ $frameLine = join('▒ ', explode("\x89", $frameLine)); //version
+ $frameLine = join('♦', explode("\x01", $frameLine));
+ $frameLine = join('⋅', explode("\0", $frameLine));
+ }
+
+ ?>
+
+ ";
+ echo join(" ", $frame);
+ echo " ";
+
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public static function serial($frame)
+ {
+ return gzcompress(join("\n", $frame), 9);
+ }
+
+ //----------------------------------------------------------------------
+ public static function unserial($code)
+ {
+ return explode("\n", gzuncompress($code));
+ }
+
+ //----------------------------------------------------------------------
+ public static function newFrame($version)
+ {
+ if($version < 1 || $version > QRSPEC_VERSION_MAX)
+ return null;
+
+ if(!isset(self::$frames[$version])) {
+
+ $fileName = QR_CACHE_DIR.'frame_'.$version.'.dat';
+
+ if (QR_CACHEABLE) {
+ if (file_exists($fileName)) {
+ self::$frames[$version] = self::unserial(file_get_contents($fileName));
+ } else {
+ self::$frames[$version] = self::createFrame($version);
+ file_put_contents($fileName, self::serial(self::$frames[$version]));
+ }
+ } else {
+ self::$frames[$version] = self::createFrame($version);
+ }
+ }
+
+ if(is_null(self::$frames[$version]))
+ return null;
+
+ return self::$frames[$version];
+ }
+
+ //----------------------------------------------------------------------
+ public static function rsBlockNum($spec) { return $spec[0] + $spec[3]; }
+ public static function rsBlockNum1($spec) { return $spec[0]; }
+ public static function rsDataCodes1($spec) { return $spec[1]; }
+ public static function rsEccCodes1($spec) { return $spec[2]; }
+ public static function rsBlockNum2($spec) { return $spec[3]; }
+ public static function rsDataCodes2($spec) { return $spec[4]; }
+ public static function rsEccCodes2($spec) { return $spec[2]; }
+ public static function rsDataLength($spec) { return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); }
+ public static function rsEccLength($spec) { return ($spec[0] + $spec[3]) * $spec[2]; }
+
+ }
+
+
+
+//---- qrimage.php -----------------------------
+
+
+
+
+/*
+ * PHP QR Code encoder
+ *
+ * Image output of code using GD2
+ *
+ * PHP QR Code is distributed under LGPL 3
+ * Copyright (C) 2010 Dominik Dzienia
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+ define('QR_IMAGE', true);
+
+ class QRimage {
+
+ //----------------------------------------------------------------------
+ public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE)
+ {
+ $image = self::image($frame, $pixelPerPoint, $outerFrame);
+
+ if ($filename === false) {
+ Header("Content-type: image/png");
+ ImagePng($image);
+ } else {
+ if($saveandprint===TRUE){
+ ImagePng($image, $filename);
+ header("Content-type: image/png");
+ ImagePng($image);
+ }else{
+ ImagePng($image, $filename);
+ }
+ }
+
+ ImageDestroy($image);
+ }
+
+ //----------------------------------------------------------------------
+ public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85)
+ {
+ $image = self::image($frame, $pixelPerPoint, $outerFrame);
+
+ if ($filename === false) {
+ Header("Content-type: image/jpeg");
+ ImageJpeg($image, null, $q);
+ } else {
+ ImageJpeg($image, $filename, $q);
+ }
+
+ ImageDestroy($image);
+ }
+
+ //----------------------------------------------------------------------
+ private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4)
+ {
+ $h = count($frame);
+ $w = strlen($frame[0]);
+
+ $imgW = $w + 2*$outerFrame;
+ $imgH = $h + 2*$outerFrame;
+
+ $base_image =ImageCreate($imgW, $imgH);
+
+ $col[0] = ImageColorAllocate($base_image,255,255,255);
+ $col[1] = ImageColorAllocate($base_image,0,0,0);
+
+ imagefill($base_image, 0, 0, $col[0]);
+
+ for($y=0; $y<$h; $y++) {
+ for($x=0; $x<$w; $x++) {
+ if ($frame[$y][$x] == '1') {
+ ImageSetPixel($base_image,$x+$outerFrame,$y+$outerFrame,$col[1]);
+ }
+ }
+ }
+
+ $target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint);
+ ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH);
+ ImageDestroy($base_image);
+
+ return $target_image;
+ }
+ }
+
+
+
+//---- qrinput.php -----------------------------
+
+
+
+
+/*
+ * PHP QR Code encoder
+ *
+ * Input encoding class
+ *
+ * Based on libqrencode C library distributed under LGPL 2.1
+ * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
+ *
+ * PHP QR Code is distributed under LGPL 3
+ * Copyright (C) 2010 Dominik Dzienia
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+ define('STRUCTURE_HEADER_BITS', 20);
+ define('MAX_STRUCTURED_SYMBOLS', 16);
+
+ class QRinputItem {
+
+ public $mode;
+ public $size;
+ public $data;
+ public $bstream;
+
+ public function __construct($mode, $size, $data, $bstream = null)
+ {
+ $setData = array_slice($data, 0, $size);
+
+ if (count($setData) < $size) {
+ $setData = array_merge($setData, array_fill(0,$size-count($setData),0));
+ }
+
+ if(!QRinput::check($mode, $size, $setData)) {
+ throw new Exception('Error m:'.$mode.',s:'.$size.',d:'.join(',',$setData));
+ return null;
+ }
+
+ $this->mode = $mode;
+ $this->size = $size;
+ $this->data = $setData;
+ $this->bstream = $bstream;
+ }
+
+ //----------------------------------------------------------------------
+ public function encodeModeNum($version)
+ {
+ try {
+
+ $words = (int)($this->size / 3);
+ $bs = new QRbitstream();
+
+ $val = 0x1;
+ $bs->appendNum(4, $val);
+ $bs->appendNum(QRspec::lengthIndicator(QR_MODE_NUM, $version), $this->size);
+
+ for($i=0; $i<$words; $i++) {
+ $val = (ord($this->data[$i*3 ]) - ord('0')) * 100;
+ $val += (ord($this->data[$i*3+1]) - ord('0')) * 10;
+ $val += (ord($this->data[$i*3+2]) - ord('0'));
+ $bs->appendNum(10, $val);
+ }
+
+ if($this->size - $words * 3 == 1) {
+ $val = ord($this->data[$words*3]) - ord('0');
+ $bs->appendNum(4, $val);
+ } else if($this->size - $words * 3 == 2) {
+ $val = (ord($this->data[$words*3 ]) - ord('0')) * 10;
+ $val += (ord($this->data[$words*3+1]) - ord('0'));
+ $bs->appendNum(7, $val);
+ }
+
+ $this->bstream = $bs;
+ return 0;
+
+ } catch (Exception $e) {
+ return -1;
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public function encodeModeAn($version)
+ {
+ try {
+ $words = (int)($this->size / 2);
+ $bs = new QRbitstream();
+
+ $bs->appendNum(4, 0x02);
+ $bs->appendNum(QRspec::lengthIndicator(QR_MODE_AN, $version), $this->size);
+
+ for($i=0; $i<$words; $i++) {
+ $val = (int)QRinput::lookAnTable(ord($this->data[$i*2 ])) * 45;
+ $val += (int)QRinput::lookAnTable(ord($this->data[$i*2+1]));
+
+ $bs->appendNum(11, $val);
+ }
+
+ if($this->size & 1) {
+ $val = QRinput::lookAnTable(ord($this->data[$words * 2]));
+ $bs->appendNum(6, $val);
+ }
+
+ $this->bstream = $bs;
+ return 0;
+
+ } catch (Exception $e) {
+ return -1;
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public function encodeMode8($version)
+ {
+ try {
+ $bs = new QRbitstream();
+
+ $bs->appendNum(4, 0x4);
+ $bs->appendNum(QRspec::lengthIndicator(QR_MODE_8, $version), $this->size);
+
+ for($i=0; $i<$this->size; $i++) {
+ $bs->appendNum(8, ord($this->data[$i]));
+ }
+
+ $this->bstream = $bs;
+ return 0;
+
+ } catch (Exception $e) {
+ return -1;
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public function encodeModeKanji($version)
+ {
+ try {
+
+ $bs = new QRbitrtream();
+
+ $bs->appendNum(4, 0x8);
+ $bs->appendNum(QRspec::lengthIndicator(QR_MODE_KANJI, $version), (int)($this->size / 2));
+
+ for($i=0; $i<$this->size; $i+=2) {
+ $val = (ord($this->data[$i]) << 8) | ord($this->data[$i+1]);
+ if($val <= 0x9ffc) {
+ $val -= 0x8140;
+ } else {
+ $val -= 0xc140;
+ }
+
+ $h = ($val >> 8) * 0xc0;
+ $val = ($val & 0xff) + $h;
+
+ $bs->appendNum(13, $val);
+ }
+
+ $this->bstream = $bs;
+ return 0;
+
+ } catch (Exception $e) {
+ return -1;
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public function encodeModeStructure()
+ {
+ try {
+ $bs = new QRbitstream();
+
+ $bs->appendNum(4, 0x03);
+ $bs->appendNum(4, ord($this->data[1]) - 1);
+ $bs->appendNum(4, ord($this->data[0]) - 1);
+ $bs->appendNum(8, ord($this->data[2]));
+
+ $this->bstream = $bs;
+ return 0;
+
+ } catch (Exception $e) {
+ return -1;
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public function estimateBitStreamSizeOfEntry($version)
+ {
+ $bits = 0;
+
+ if($version == 0)
+ $version = 1;
+
+ switch($this->mode) {
+ case QR_MODE_NUM: $bits = QRinput::estimateBitsModeNum($this->size); break;
+ case QR_MODE_AN: $bits = QRinput::estimateBitsModeAn($this->size); break;
+ case QR_MODE_8: $bits = QRinput::estimateBitsMode8($this->size); break;
+ case QR_MODE_KANJI: $bits = QRinput::estimateBitsModeKanji($this->size);break;
+ case QR_MODE_STRUCTURE: return STRUCTURE_HEADER_BITS;
+ default:
+ return 0;
+ }
+
+ $l = QRspec::lengthIndicator($this->mode, $version);
+ $m = 1 << $l;
+ $num = (int)(($this->size + $m - 1) / $m);
+
+ $bits += $num * (4 + $l);
+
+ return $bits;
+ }
+
+ //----------------------------------------------------------------------
+ public function encodeBitStream($version)
+ {
+ try {
+
+ unset($this->bstream);
+ $words = QRspec::maximumWords($this->mode, $version);
+
+ if($this->size > $words) {
+
+ $st1 = new QRinputItem($this->mode, $words, $this->data);
+ $st2 = new QRinputItem($this->mode, $this->size - $words, array_slice($this->data, $words));
+
+ $st1->encodeBitStream($version);
+ $st2->encodeBitStream($version);
+
+ $this->bstream = new QRbitstream();
+ $this->bstream->append($st1->bstream);
+ $this->bstream->append($st2->bstream);
+
+ unset($st1);
+ unset($st2);
+
+ } else {
+
+ $ret = 0;
+
+ switch($this->mode) {
+ case QR_MODE_NUM: $ret = $this->encodeModeNum($version); break;
+ case QR_MODE_AN: $ret = $this->encodeModeAn($version); break;
+ case QR_MODE_8: $ret = $this->encodeMode8($version); break;
+ case QR_MODE_KANJI: $ret = $this->encodeModeKanji($version);break;
+ case QR_MODE_STRUCTURE: $ret = $this->encodeModeStructure(); break;
+
+ default:
+ break;
+ }
+
+ if($ret < 0)
+ return -1;
+ }
+
+ return $this->bstream->size();
+
+ } catch (Exception $e) {
+ return -1;
+ }
+ }
+ };
+
+ //##########################################################################
+
+ class QRinput {
+
+ public $items;
+
+ private $version;
+ private $level;
+
+ //----------------------------------------------------------------------
+ public function __construct($version = 0, $level = QR_ECLEVEL_L)
+ {
+ if ($version < 0 || $version > QRSPEC_VERSION_MAX || $level > QR_ECLEVEL_H) {
+ throw new Exception('Invalid version no');
+ return NULL;
+ }
+
+ $this->version = $version;
+ $this->level = $level;
+ }
+
+ //----------------------------------------------------------------------
+ public function getVersion()
+ {
+ return $this->version;
+ }
+
+ //----------------------------------------------------------------------
+ public function setVersion($version)
+ {
+ if($version < 0 || $version > QRSPEC_VERSION_MAX) {
+ throw new Exception('Invalid version no');
+ return -1;
+ }
+
+ $this->version = $version;
+
+ return 0;
+ }
+
+ //----------------------------------------------------------------------
+ public function getErrorCorrectionLevel()
+ {
+ return $this->level;
+ }
+
+ //----------------------------------------------------------------------
+ public function setErrorCorrectionLevel($level)
+ {
+ if($level > QR_ECLEVEL_H) {
+ throw new Exception('Invalid ECLEVEL');
+ return -1;
+ }
+
+ $this->level = $level;
+
+ return 0;
+ }
+
+ //----------------------------------------------------------------------
+ public function appendEntry(QRinputItem $entry)
+ {
+ $this->items[] = $entry;
+ }
+
+ //----------------------------------------------------------------------
+ public function append($mode, $size, $data)
+ {
+ try {
+ $entry = new QRinputItem($mode, $size, $data);
+ $this->items[] = $entry;
+ return 0;
+ } catch (Exception $e) {
+ return -1;
+ }
+ }
+
+ //----------------------------------------------------------------------
+
+ public function insertStructuredAppendHeader($size, $index, $parity)
+ {
+ if( $size > MAX_STRUCTURED_SYMBOLS ) {
+ throw new Exception('insertStructuredAppendHeader wrong size');
+ }
+
+ if( $index <= 0 || $index > MAX_STRUCTURED_SYMBOLS ) {
+ throw new Exception('insertStructuredAppendHeader wrong index');
+ }
+
+ $buf = array($size, $index, $parity);
+
+ try {
+ $entry = new QRinputItem(QR_MODE_STRUCTURE, 3, buf);
+ array_unshift($this->items, $entry);
+ return 0;
+ } catch (Exception $e) {
+ return -1;
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public function calcParity()
+ {
+ $parity = 0;
+
+ foreach($this->items as $item) {
+ if($item->mode != QR_MODE_STRUCTURE) {
+ for($i=$item->size-1; $i>=0; $i--) {
+ $parity ^= $item->data[$i];
+ }
+ }
+ }
+
+ return $parity;
+ }
+
+ //----------------------------------------------------------------------
+ public static function checkModeNum($size, $data)
+ {
+ for($i=0; $i<$size; $i++) {
+ if((ord($data[$i]) < ord('0')) || (ord($data[$i]) > ord('9'))){
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ //----------------------------------------------------------------------
+ public static function estimateBitsModeNum($size)
+ {
+ $w = (int)$size / 3;
+ $bits = $w * 10;
+
+ switch($size - $w * 3) {
+ case 1:
+ $bits += 4;
+ break;
+ case 2:
+ $bits += 7;
+ break;
+ default:
+ break;
+ }
+
+ return $bits;
+ }
+
+ //----------------------------------------------------------------------
+ public static $anTable = array(
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1,
+ -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
+ );
+
+ //----------------------------------------------------------------------
+ public static function lookAnTable($c)
+ {
+ return (($c > 127)?-1:self::$anTable[$c]);
+ }
+
+ //----------------------------------------------------------------------
+ public static function checkModeAn($size, $data)
+ {
+ for($i=0; $i<$size; $i++) {
+ if (self::lookAnTable(ord($data[$i])) == -1) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ //----------------------------------------------------------------------
+ public static function estimateBitsModeAn($size)
+ {
+ $w = (int)($size / 2);
+ $bits = $w * 11;
+
+ if($size & 1) {
+ $bits += 6;
+ }
+
+ return $bits;
+ }
+
+ //----------------------------------------------------------------------
+ public static function estimateBitsMode8($size)
+ {
+ return $size * 8;
+ }
+
+ //----------------------------------------------------------------------
+ public function estimateBitsModeKanji($size)
+ {
+ return (int)(($size / 2) * 13);
+ }
+
+ //----------------------------------------------------------------------
+ public static function checkModeKanji($size, $data)
+ {
+ if($size & 1)
+ return false;
+
+ for($i=0; $i<$size; $i+=2) {
+ $val = (ord($data[$i]) << 8) | ord($data[$i+1]);
+ if( $val < 0x8140
+ || ($val > 0x9ffc && $val < 0xe040)
+ || $val > 0xebbf) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /***********************************************************************
+ * Validation
+ **********************************************************************/
+
+ public static function check($mode, $size, $data)
+ {
+ if($size <= 0)
+ return false;
+
+ switch($mode) {
+ case QR_MODE_NUM: return self::checkModeNum($size, $data); break;
+ case QR_MODE_AN: return self::checkModeAn($size, $data); break;
+ case QR_MODE_KANJI: return self::checkModeKanji($size, $data); break;
+ case QR_MODE_8: return true; break;
+ case QR_MODE_STRUCTURE: return true; break;
+
+ default:
+ break;
+ }
+
+ return false;
+ }
+
+
+ //----------------------------------------------------------------------
+ public function estimateBitStreamSize($version)
+ {
+ $bits = 0;
+
+ foreach($this->items as $item) {
+ $bits += $item->estimateBitStreamSizeOfEntry($version);
+ }
+
+ return $bits;
+ }
+
+ //----------------------------------------------------------------------
+ public function estimateVersion()
+ {
+ $version = 0;
+ $prev = 0;
+ do {
+ $prev = $version;
+ $bits = $this->estimateBitStreamSize($prev);
+ $version = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level);
+ if ($version < 0) {
+ return -1;
+ }
+ } while ($version > $prev);
+
+ return $version;
+ }
+
+ //----------------------------------------------------------------------
+ public static function lengthOfCode($mode, $version, $bits)
+ {
+ $payload = $bits - 4 - QRspec::lengthIndicator($mode, $version);
+ switch($mode) {
+ case QR_MODE_NUM:
+ $chunks = (int)($payload / 10);
+ $remain = $payload - $chunks * 10;
+ $size = $chunks * 3;
+ if($remain >= 7) {
+ $size += 2;
+ } else if($remain >= 4) {
+ $size += 1;
+ }
+ break;
+ case QR_MODE_AN:
+ $chunks = (int)($payload / 11);
+ $remain = $payload - $chunks * 11;
+ $size = $chunks * 2;
+ if($remain >= 6)
+ $size++;
+ break;
+ case QR_MODE_8:
+ $size = (int)($payload / 8);
+ break;
+ case QR_MODE_KANJI:
+ $size = (int)(($payload / 13) * 2);
+ break;
+ case QR_MODE_STRUCTURE:
+ $size = (int)($payload / 8);
+ break;
+ default:
+ $size = 0;
+ break;
+ }
+
+ $maxsize = QRspec::maximumWords($mode, $version);
+ if($size < 0) $size = 0;
+ if($size > $maxsize) $size = $maxsize;
+
+ return $size;
+ }
+
+ //----------------------------------------------------------------------
+ public function createBitStream()
+ {
+ $total = 0;
+
+ foreach($this->items as $item) {
+ $bits = $item->encodeBitStream($this->version);
+
+ if($bits < 0)
+ return -1;
+
+ $total += $bits;
+ }
+
+ return $total;
+ }
+
+ //----------------------------------------------------------------------
+ public function convertData()
+ {
+ $ver = $this->estimateVersion();
+ if($ver > $this->getVersion()) {
+ $this->setVersion($ver);
+ }
+
+ for(;;) {
+ $bits = $this->createBitStream();
+
+ if($bits < 0)
+ return -1;
+
+ $ver = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level);
+ if($ver < 0) {
+ throw new Exception('WRONG VERSION');
+ return -1;
+ } else if($ver > $this->getVersion()) {
+ $this->setVersion($ver);
+ } else {
+ break;
+ }
+ }
+
+ return 0;
+ }
+
+ //----------------------------------------------------------------------
+ public function appendPaddingBit(&$bstream)
+ {
+ $bits = $bstream->size();
+ $maxwords = QRspec::getDataLength($this->version, $this->level);
+ $maxbits = $maxwords * 8;
+
+ if ($maxbits == $bits) {
+ return 0;
+ }
+
+ if ($maxbits - $bits < 5) {
+ return $bstream->appendNum($maxbits - $bits, 0);
+ }
+
+ $bits += 4;
+ $words = (int)(($bits + 7) / 8);
+
+ $padding = new QRbitstream();
+ $ret = $padding->appendNum($words * 8 - $bits + 4, 0);
+
+ if($ret < 0)
+ return $ret;
+
+ $padlen = $maxwords - $words;
+
+ if($padlen > 0) {
+
+ $padbuf = array();
+ for($i=0; $i<$padlen; $i++) {
+ $padbuf[$i] = ($i&1)?0x11:0xec;
+ }
+
+ $ret = $padding->appendBytes($padlen, $padbuf);
+
+ if($ret < 0)
+ return $ret;
+
+ }
+
+ $ret = $bstream->append($padding);
+
+ return $ret;
+ }
+
+ //----------------------------------------------------------------------
+ public function mergeBitStream()
+ {
+ if($this->convertData() < 0) {
+ return null;
+ }
+
+ $bstream = new QRbitstream();
+
+ foreach($this->items as $item) {
+ $ret = $bstream->append($item->bstream);
+ if($ret < 0) {
+ return null;
+ }
+ }
+
+ return $bstream;
+ }
+
+ //----------------------------------------------------------------------
+ public function getBitStream()
+ {
+
+ $bstream = $this->mergeBitStream();
+
+ if($bstream == null) {
+ return null;
+ }
+
+ $ret = $this->appendPaddingBit($bstream);
+ if($ret < 0) {
+ return null;
+ }
+
+ return $bstream;
+ }
+
+ //----------------------------------------------------------------------
+ public function getByteStream()
+ {
+ $bstream = $this->getBitStream();
+ if($bstream == null) {
+ return null;
+ }
+
+ return $bstream->toByte();
+ }
+ }
+
+
+
+
+
+
+//---- qrbitstream.php -----------------------------
+
+
+
+
+/*
+ * PHP QR Code encoder
+ *
+ * Bitstream class
+ *
+ * Based on libqrencode C library distributed under LGPL 2.1
+ * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
+ *
+ * PHP QR Code is distributed under LGPL 3
+ * Copyright (C) 2010 Dominik Dzienia
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+ class QRbitstream {
+
+ public $data = array();
+
+ //----------------------------------------------------------------------
+ public function size()
+ {
+ return count($this->data);
+ }
+
+ //----------------------------------------------------------------------
+ public function allocate($setLength)
+ {
+ $this->data = array_fill(0, $setLength, 0);
+ return 0;
+ }
+
+ //----------------------------------------------------------------------
+ public static function newFromNum($bits, $num)
+ {
+ $bstream = new QRbitstream();
+ $bstream->allocate($bits);
+
+ $mask = 1 << ($bits - 1);
+ for($i=0; $i<$bits; $i++) {
+ if($num & $mask) {
+ $bstream->data[$i] = 1;
+ } else {
+ $bstream->data[$i] = 0;
+ }
+ $mask = $mask >> 1;
+ }
+
+ return $bstream;
+ }
+
+ //----------------------------------------------------------------------
+ public static function newFromBytes($size, $data)
+ {
+ $bstream = new QRbitstream();
+ $bstream->allocate($size * 8);
+ $p=0;
+
+ for($i=0; $i<$size; $i++) {
+ $mask = 0x80;
+ for($j=0; $j<8; $j++) {
+ if($data[$i] & $mask) {
+ $bstream->data[$p] = 1;
+ } else {
+ $bstream->data[$p] = 0;
+ }
+ $p++;
+ $mask = $mask >> 1;
+ }
+ }
+
+ return $bstream;
+ }
+
+ //----------------------------------------------------------------------
+ public function append(QRbitstream $arg)
+ {
+ if (is_null($arg)) {
+ return -1;
+ }
+
+ if($arg->size() == 0) {
+ return 0;
+ }
+
+ if($this->size() == 0) {
+ $this->data = $arg->data;
+ return 0;
+ }
+
+ $this->data = array_values(array_merge($this->data, $arg->data));
+
+ return 0;
+ }
+
+ //----------------------------------------------------------------------
+ public function appendNum($bits, $num)
+ {
+ if ($bits == 0)
+ return 0;
+
+ $b = QRbitstream::newFromNum($bits, $num);
+
+ if(is_null($b))
+ return -1;
+
+ $ret = $this->append($b);
+ unset($b);
+
+ return $ret;
+ }
+
+ //----------------------------------------------------------------------
+ public function appendBytes($size, $data)
+ {
+ if ($size == 0)
+ return 0;
+
+ $b = QRbitstream::newFromBytes($size, $data);
+
+ if(is_null($b))
+ return -1;
+
+ $ret = $this->append($b);
+ unset($b);
+
+ return $ret;
+ }
+
+ //----------------------------------------------------------------------
+ public function toByte()
+ {
+
+ $size = $this->size();
+
+ if($size == 0) {
+ return array();
+ }
+
+ $data = array_fill(0, (int)(($size + 7) / 8), 0);
+ $bytes = (int)($size / 8);
+
+ $p = 0;
+
+ for($i=0; $i<$bytes; $i++) {
+ $v = 0;
+ for($j=0; $j<8; $j++) {
+ $v = $v << 1;
+ $v |= $this->data[$p];
+ $p++;
+ }
+ $data[$i] = $v;
+ }
+
+ if($size & 7) {
+ $v = 0;
+ for($j=0; $j<($size & 7); $j++) {
+ $v = $v << 1;
+ $v |= $this->data[$p];
+ $p++;
+ }
+ $data[$bytes] = $v;
+ }
+
+ return $data;
+ }
+
+ }
+
+
+
+
+//---- qrsplit.php -----------------------------
+
+
+
+
+/*
+ * PHP QR Code encoder
+ *
+ * Input splitting classes
+ *
+ * Based on libqrencode C library distributed under LGPL 2.1
+ * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
+ *
+ * PHP QR Code is distributed under LGPL 3
+ * Copyright (C) 2010 Dominik Dzienia
+ *
+ * The following data / specifications are taken from
+ * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004)
+ * or
+ * "Automatic identification and data capture techniques --
+ * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+ class QRsplit {
+
+ public $dataStr = '';
+ public $input;
+ public $modeHint;
+
+ //----------------------------------------------------------------------
+ public function __construct($dataStr, $input, $modeHint)
+ {
+ $this->dataStr = $dataStr;
+ $this->input = $input;
+ $this->modeHint = $modeHint;
+ }
+
+ //----------------------------------------------------------------------
+ public static function isdigitat($str, $pos)
+ {
+ if ($pos >= strlen($str))
+ return false;
+
+ return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9')));
+ }
+
+ //----------------------------------------------------------------------
+ public static function isalnumat($str, $pos)
+ {
+ if ($pos >= strlen($str))
+ return false;
+
+ return (QRinput::lookAnTable(ord($str[$pos])) >= 0);
+ }
+
+ //----------------------------------------------------------------------
+ public function identifyMode($pos)
+ {
+ if ($pos >= strlen($this->dataStr))
+ return QR_MODE_NUL;
+
+ $c = $this->dataStr[$pos];
+
+ if(self::isdigitat($this->dataStr, $pos)) {
+ return QR_MODE_NUM;
+ } else if(self::isalnumat($this->dataStr, $pos)) {
+ return QR_MODE_AN;
+ } else if($this->modeHint == QR_MODE_KANJI) {
+
+ if ($pos+1 < strlen($this->dataStr))
+ {
+ $d = $this->dataStr[$pos+1];
+ $word = (ord($c) << 8) | ord($d);
+ if(($word >= 0x8140 && $word <= 0x9ffc) || ($word >= 0xe040 && $word <= 0xebbf)) {
+ return QR_MODE_KANJI;
+ }
+ }
+ }
+
+ return QR_MODE_8;
+ }
+
+ //----------------------------------------------------------------------
+ public function eatNum()
+ {
+ $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
+
+ $p = 0;
+ while(self::isdigitat($this->dataStr, $p)) {
+ $p++;
+ }
+
+ $run = $p;
+ $mode = $this->identifyMode($p);
+
+ if($mode == QR_MODE_8) {
+ $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln
+ + QRinput::estimateBitsMode8(1) // + 4 + l8
+ - QRinput::estimateBitsMode8($run + 1); // - 4 - l8
+ if($dif > 0) {
+ return $this->eat8();
+ }
+ }
+ if($mode == QR_MODE_AN) {
+ $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln
+ + QRinput::estimateBitsModeAn(1) // + 4 + la
+ - QRinput::estimateBitsModeAn($run + 1);// - 4 - la
+ if($dif > 0) {
+ return $this->eatAn();
+ }
+ }
+
+ $ret = $this->input->append(QR_MODE_NUM, $run, str_split($this->dataStr));
+ if($ret < 0)
+ return -1;
+
+ return $run;
+ }
+
+ //----------------------------------------------------------------------
+ public function eatAn()
+ {
+ $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion());
+ $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
+
+ $p = 0;
+
+ while(self::isalnumat($this->dataStr, $p)) {
+ if(self::isdigitat($this->dataStr, $p)) {
+ $q = $p;
+ while(self::isdigitat($this->dataStr, $q)) {
+ $q++;
+ }
+
+ $dif = QRinput::estimateBitsModeAn($p) // + 4 + la
+ + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln
+ - QRinput::estimateBitsModeAn($q); // - 4 - la
+
+ if($dif < 0) {
+ break;
+ } else {
+ $p = $q;
+ }
+ } else {
+ $p++;
+ }
+ }
+
+ $run = $p;
+
+ if(!self::isalnumat($this->dataStr, $p)) {
+ $dif = QRinput::estimateBitsModeAn($run) + 4 + $la
+ + QRinput::estimateBitsMode8(1) // + 4 + l8
+ - QRinput::estimateBitsMode8($run + 1); // - 4 - l8
+ if($dif > 0) {
+ return $this->eat8();
+ }
+ }
+
+ $ret = $this->input->append(QR_MODE_AN, $run, str_split($this->dataStr));
+ if($ret < 0)
+ return -1;
+
+ return $run;
+ }
+
+ //----------------------------------------------------------------------
+ public function eatKanji()
+ {
+ $p = 0;
+
+ while($this->identifyMode($p) == QR_MODE_KANJI) {
+ $p += 2;
+ }
+
+ $ret = $this->input->append(QR_MODE_KANJI, $p, str_split($this->dataStr));
+ if($ret < 0)
+ return -1;
+
+ return $run;
+ }
+
+ //----------------------------------------------------------------------
+ public function eat8()
+ {
+ $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion());
+ $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
+
+ $p = 1;
+ $dataStrLen = strlen($this->dataStr);
+
+ while($p < $dataStrLen) {
+
+ $mode = $this->identifyMode($p);
+ if($mode == QR_MODE_KANJI) {
+ break;
+ }
+ if($mode == QR_MODE_NUM) {
+ $q = $p;
+ while(self::isdigitat($this->dataStr, $q)) {
+ $q++;
+ }
+ $dif = QRinput::estimateBitsMode8($p) // + 4 + l8
+ + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln
+ - QRinput::estimateBitsMode8($q); // - 4 - l8
+ if($dif < 0) {
+ break;
+ } else {
+ $p = $q;
+ }
+ } else if($mode == QR_MODE_AN) {
+ $q = $p;
+ while(self::isalnumat($this->dataStr, $q)) {
+ $q++;
+ }
+ $dif = QRinput::estimateBitsMode8($p) // + 4 + l8
+ + QRinput::estimateBitsModeAn($q - $p) + 4 + $la
+ - QRinput::estimateBitsMode8($q); // - 4 - l8
+ if($dif < 0) {
+ break;
+ } else {
+ $p = $q;
+ }
+ } else {
+ $p++;
+ }
+ }
+
+ $run = $p;
+ $ret = $this->input->append(QR_MODE_8, $run, str_split($this->dataStr));
+
+ if($ret < 0)
+ return -1;
+
+ return $run;
+ }
+
+ //----------------------------------------------------------------------
+ public function splitString()
+ {
+ while (strlen($this->dataStr) > 0)
+ {
+ if($this->dataStr == '')
+ return 0;
+
+ $mode = $this->identifyMode(0);
+
+ switch ($mode) {
+ case QR_MODE_NUM: $length = $this->eatNum(); break;
+ case QR_MODE_AN: $length = $this->eatAn(); break;
+ case QR_MODE_KANJI:
+ if ($hint == QR_MODE_KANJI)
+ $length = $this->eatKanji();
+ else $length = $this->eat8();
+ break;
+ default: $length = $this->eat8(); break;
+
+ }
+
+ if($length == 0) return 0;
+ if($length < 0) return -1;
+
+ $this->dataStr = substr($this->dataStr, $length);
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public function toUpper()
+ {
+ $stringLen = strlen($this->dataStr);
+ $p = 0;
+
+ while ($p<$stringLen) {
+ $mode = self::identifyMode(substr($this->dataStr, $p), $this->modeHint);
+ if($mode == QR_MODE_KANJI) {
+ $p += 2;
+ } else {
+ if (ord($this->dataStr[$p]) >= ord('a') && ord($this->dataStr[$p]) <= ord('z')) {
+ $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32);
+ }
+ $p++;
+ }
+ }
+
+ return $this->dataStr;
+ }
+
+ //----------------------------------------------------------------------
+ public static function splitStringToQRinput($string, QRinput $input, $modeHint, $casesensitive = true)
+ {
+ if(is_null($string) || $string == '\0' || $string == '') {
+ throw new Exception('empty string!!!');
+ }
+
+ $split = new QRsplit($string, $input, $modeHint);
+
+ if(!$casesensitive)
+ $split->toUpper();
+
+ return $split->splitString();
+ }
+ }
+
+
+
+//---- qrrscode.php -----------------------------
+
+
+
+
+/*
+ * PHP QR Code encoder
+ *
+ * Reed-Solomon error correction support
+ *
+ * Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q
+ * (libfec is released under the GNU Lesser General Public License.)
+ *
+ * Based on libqrencode C library distributed under LGPL 2.1
+ * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
+ *
+ * PHP QR Code is distributed under LGPL 3
+ * Copyright (C) 2010 Dominik Dzienia
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+ class QRrsItem {
+
+ public $mm; // Bits per symbol
+ public $nn; // Symbols per block (= (1<= $this->nn) {
+ $x -= $this->nn;
+ $x = ($x >> $this->mm) + ($x & $this->nn);
+ }
+
+ return $x;
+ }
+
+ //----------------------------------------------------------------------
+ public static function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad)
+ {
+ // Common code for intializing a Reed-Solomon control block (char or int symbols)
+ // Copyright 2004 Phil Karn, KA9Q
+ // May be used under the terms of the GNU Lesser General Public License (LGPL)
+
+ $rs = null;
+
+ // Check parameter ranges
+ if($symsize < 0 || $symsize > 8) return $rs;
+ if($fcr < 0 || $fcr >= (1<<$symsize)) return $rs;
+ if($prim <= 0 || $prim >= (1<<$symsize)) return $rs;
+ if($nroots < 0 || $nroots >= (1<<$symsize)) return $rs; // Can't have more roots than symbol values!
+ if($pad < 0 || $pad >= ((1<<$symsize) -1 - $nroots)) return $rs; // Too much padding
+
+ $rs = new QRrsItem();
+ $rs->mm = $symsize;
+ $rs->nn = (1<<$symsize)-1;
+ $rs->pad = $pad;
+
+ $rs->alpha_to = array_fill(0, $rs->nn+1, 0);
+ $rs->index_of = array_fill(0, $rs->nn+1, 0);
+
+ // PHP style macro replacement ;)
+ $NN =& $rs->nn;
+ $A0 =& $NN;
+
+ // Generate Galois field lookup tables
+ $rs->index_of[0] = $A0; // log(zero) = -inf
+ $rs->alpha_to[$A0] = 0; // alpha**-inf = 0
+ $sr = 1;
+
+ for($i=0; $i<$rs->nn; $i++) {
+ $rs->index_of[$sr] = $i;
+ $rs->alpha_to[$i] = $sr;
+ $sr <<= 1;
+ if($sr & (1<<$symsize)) {
+ $sr ^= $gfpoly;
+ }
+ $sr &= $rs->nn;
+ }
+
+ if($sr != 1){
+ // field generator polynomial is not primitive!
+ $rs = NULL;
+ return $rs;
+ }
+
+ /* Form RS code generator polynomial from its roots */
+ $rs->genpoly = array_fill(0, $nroots+1, 0);
+
+ $rs->fcr = $fcr;
+ $rs->prim = $prim;
+ $rs->nroots = $nroots;
+ $rs->gfpoly = $gfpoly;
+
+ /* Find prim-th root of 1, used in decoding */
+ for($iprim=1;($iprim % $prim) != 0;$iprim += $rs->nn)
+ ; // intentional empty-body loop!
+
+ $rs->iprim = (int)($iprim / $prim);
+ $rs->genpoly[0] = 1;
+
+ for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) {
+ $rs->genpoly[$i+1] = 1;
+
+ // Multiply rs->genpoly[] by @**(root + x)
+ for ($j = $i; $j > 0; $j--) {
+ if ($rs->genpoly[$j] != 0) {
+ $rs->genpoly[$j] = $rs->genpoly[$j-1] ^ $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[$j]] + $root)];
+ } else {
+ $rs->genpoly[$j] = $rs->genpoly[$j-1];
+ }
+ }
+ // rs->genpoly[0] can never be zero
+ $rs->genpoly[0] = $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[0]] + $root)];
+ }
+
+ // convert rs->genpoly[] to index form for quicker encoding
+ for ($i = 0; $i <= $nroots; $i++)
+ $rs->genpoly[$i] = $rs->index_of[$rs->genpoly[$i]];
+
+ return $rs;
+ }
+
+ //----------------------------------------------------------------------
+ public function encode_rs_char($data, &$parity)
+ {
+ $MM =& $this->mm;
+ $NN =& $this->nn;
+ $ALPHA_TO =& $this->alpha_to;
+ $INDEX_OF =& $this->index_of;
+ $GENPOLY =& $this->genpoly;
+ $NROOTS =& $this->nroots;
+ $FCR =& $this->fcr;
+ $PRIM =& $this->prim;
+ $IPRIM =& $this->iprim;
+ $PAD =& $this->pad;
+ $A0 =& $NN;
+
+ $parity = array_fill(0, $NROOTS, 0);
+
+ for($i=0; $i< ($NN-$NROOTS-$PAD); $i++) {
+
+ $feedback = $INDEX_OF[$data[$i] ^ $parity[0]];
+ if($feedback != $A0) {
+ // feedback term is non-zero
+
+ // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must
+ // always be for the polynomials constructed by init_rs()
+ $feedback = $this->modnn($NN - $GENPOLY[$NROOTS] + $feedback);
+
+ for($j=1;$j<$NROOTS;$j++) {
+ $parity[$j] ^= $ALPHA_TO[$this->modnn($feedback + $GENPOLY[$NROOTS-$j])];
+ }
+ }
+
+ // Shift
+ array_shift($parity);
+ if($feedback != $A0) {
+ array_push($parity, $ALPHA_TO[$this->modnn($feedback + $GENPOLY[0])]);
+ } else {
+ array_push($parity, 0);
+ }
+ }
+ }
+ }
+
+ //##########################################################################
+
+ class QRrs {
+
+ public static $items = array();
+
+ //----------------------------------------------------------------------
+ public static function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad)
+ {
+ foreach(self::$items as $rs) {
+ if($rs->pad != $pad) continue;
+ if($rs->nroots != $nroots) continue;
+ if($rs->mm != $symsize) continue;
+ if($rs->gfpoly != $gfpoly) continue;
+ if($rs->fcr != $fcr) continue;
+ if($rs->prim != $prim) continue;
+
+ return $rs;
+ }
+
+ $rs = QRrsItem::init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad);
+ array_unshift(self::$items, $rs);
+
+ return $rs;
+ }
+ }
+
+
+
+//---- qrmask.php -----------------------------
+
+
+
+
+/*
+ * PHP QR Code encoder
+ *
+ * Masking
+ *
+ * Based on libqrencode C library distributed under LGPL 2.1
+ * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
+ *
+ * PHP QR Code is distributed under LGPL 3
+ * Copyright (C) 2010 Dominik Dzienia
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+ define('N1', 3);
+ define('N2', 3);
+ define('N3', 40);
+ define('N4', 10);
+
+ class QRmask {
+
+ public $runLength = array();
+
+ //----------------------------------------------------------------------
+ public function __construct()
+ {
+ $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0);
+ }
+
+ //----------------------------------------------------------------------
+ public function writeFormatInformation($width, &$frame, $mask, $level)
+ {
+ $blacks = 0;
+ $format = QRspec::getFormatInfo($mask, $level);
+
+ for($i=0; $i<8; $i++) {
+ if($format & 1) {
+ $blacks += 2;
+ $v = 0x85;
+ } else {
+ $v = 0x84;
+ }
+
+ $frame[8][$width - 1 - $i] = chr($v);
+ if($i < 6) {
+ $frame[$i][8] = chr($v);
+ } else {
+ $frame[$i + 1][8] = chr($v);
+ }
+ $format = $format >> 1;
+ }
+
+ for($i=0; $i<7; $i++) {
+ if($format & 1) {
+ $blacks += 2;
+ $v = 0x85;
+ } else {
+ $v = 0x84;
+ }
+
+ $frame[$width - 7 + $i][8] = chr($v);
+ if($i == 0) {
+ $frame[8][7] = chr($v);
+ } else {
+ $frame[8][6 - $i] = chr($v);
+ }
+
+ $format = $format >> 1;
+ }
+
+ return $blacks;
+ }
+
+ //----------------------------------------------------------------------
+ public function mask0($x, $y) { return ($x+$y)&1; }
+ public function mask1($x, $y) { return ($y&1); }
+ public function mask2($x, $y) { return ($x%3); }
+ public function mask3($x, $y) { return ($x+$y)%3; }
+ public function mask4($x, $y) { return (((int)($y/2))+((int)($x/3)))&1; }
+ public function mask5($x, $y) { return (($x*$y)&1)+($x*$y)%3; }
+ public function mask6($x, $y) { return ((($x*$y)&1)+($x*$y)%3)&1; }
+ public function mask7($x, $y) { return ((($x*$y)%3)+(($x+$y)&1))&1; }
+
+ //----------------------------------------------------------------------
+ private function generateMaskNo($maskNo, $width, $frame)
+ {
+ $bitMask = array_fill(0, $width, array_fill(0, $width, 0));
+
+ for($y=0; $y<$width; $y++) {
+ for($x=0; $x<$width; $x++) {
+ if(ord($frame[$y][$x]) & 0x80) {
+ $bitMask[$y][$x] = 0;
+ } else {
+ $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y);
+ $bitMask[$y][$x] = ($maskFunc == 0)?1:0;
+ }
+
+ }
+ }
+
+ return $bitMask;
+ }
+
+ //----------------------------------------------------------------------
+ public static function serial($bitFrame)
+ {
+ $codeArr = array();
+
+ foreach ($bitFrame as $line)
+ $codeArr[] = join('', $line);
+
+ return gzcompress(join("\n", $codeArr), 9);
+ }
+
+ //----------------------------------------------------------------------
+ public static function unserial($code)
+ {
+ $codeArr = array();
+
+ $codeLines = explode("\n", gzuncompress($code));
+ foreach ($codeLines as $line)
+ $codeArr[] = str_split($line);
+
+ return $codeArr;
+ }
+
+ //----------------------------------------------------------------------
+ public function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly = false)
+ {
+ $b = 0;
+ $bitMask = array();
+
+ $fileName = QR_CACHE_DIR.'mask_'.$maskNo.DIRECTORY_SEPARATOR.'mask_'.$width.'_'.$maskNo.'.dat';
+
+ if (QR_CACHEABLE) {
+ if (file_exists($fileName)) {
+ $bitMask = self::unserial(file_get_contents($fileName));
+ } else {
+ $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
+ if (!file_exists(QR_CACHE_DIR.'mask_'.$maskNo))
+ mkdir(QR_CACHE_DIR.'mask_'.$maskNo);
+ file_put_contents($fileName, self::serial($bitMask));
+ }
+ } else {
+ $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
+ }
+
+ if ($maskGenOnly)
+ return;
+
+ $d = $s;
+
+ for($y=0; $y<$width; $y++) {
+ for($x=0; $x<$width; $x++) {
+ if($bitMask[$y][$x] == 1) {
+ $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]);
+ }
+ $b += (int)(ord($d[$y][$x]) & 1);
+ }
+ }
+
+ return $b;
+ }
+
+ //----------------------------------------------------------------------
+ public function makeMask($width, $frame, $maskNo, $level)
+ {
+ $masked = array_fill(0, $width, str_repeat("\0", $width));
+ $this->makeMaskNo($maskNo, $width, $frame, $masked);
+ $this->writeFormatInformation($width, $masked, $maskNo, $level);
+
+ return $masked;
+ }
+
+ //----------------------------------------------------------------------
+ public function calcN1N3($length)
+ {
+ $demerit = 0;
+
+ for($i=0; $i<$length; $i++) {
+
+ if($this->runLength[$i] >= 5) {
+ $demerit += (N1 + ($this->runLength[$i] - 5));
+ }
+ if($i & 1) {
+ if(($i >= 3) && ($i < ($length-2)) && ($this->runLength[$i] % 3 == 0)) {
+ $fact = (int)($this->runLength[$i] / 3);
+ if(($this->runLength[$i-2] == $fact) &&
+ ($this->runLength[$i-1] == $fact) &&
+ ($this->runLength[$i+1] == $fact) &&
+ ($this->runLength[$i+2] == $fact)) {
+ if(($this->runLength[$i-3] < 0) || ($this->runLength[$i-3] >= (4 * $fact))) {
+ $demerit += N3;
+ } else if((($i+3) >= $length) || ($this->runLength[$i+3] >= (4 * $fact))) {
+ $demerit += N3;
+ }
+ }
+ }
+ }
+ }
+ return $demerit;
+ }
+
+ //----------------------------------------------------------------------
+ public function evaluateSymbol($width, $frame)
+ {
+ $head = 0;
+ $demerit = 0;
+
+ for($y=0; $y<$width; $y++) {
+ $head = 0;
+ $this->runLength[0] = 1;
+
+ $frameY = $frame[$y];
+
+ if ($y>0)
+ $frameYM = $frame[$y-1];
+
+ for($x=0; $x<$width; $x++) {
+ if(($x > 0) && ($y > 0)) {
+ $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]);
+ $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]);
+
+ if(($b22 | ($w22 ^ 1))&1) {
+ $demerit += N2;
+ }
+ }
+ if(($x == 0) && (ord($frameY[$x]) & 1)) {
+ $this->runLength[0] = -1;
+ $head = 1;
+ $this->runLength[$head] = 1;
+ } else if($x > 0) {
+ if((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) {
+ $head++;
+ $this->runLength[$head] = 1;
+ } else {
+ $this->runLength[$head]++;
+ }
+ }
+ }
+
+ $demerit += $this->calcN1N3($head+1);
+ }
+
+ for($x=0; $x<$width; $x++) {
+ $head = 0;
+ $this->runLength[0] = 1;
+
+ for($y=0; $y<$width; $y++) {
+ if($y == 0 && (ord($frame[$y][$x]) & 1)) {
+ $this->runLength[0] = -1;
+ $head = 1;
+ $this->runLength[$head] = 1;
+ } else if($y > 0) {
+ if((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) {
+ $head++;
+ $this->runLength[$head] = 1;
+ } else {
+ $this->runLength[$head]++;
+ }
+ }
+ }
+
+ $demerit += $this->calcN1N3($head+1);
+ }
+
+ return $demerit;
+ }
+
+
+ //----------------------------------------------------------------------
+ public function mask($width, $frame, $level)
+ {
+ $minDemerit = PHP_INT_MAX;
+ $bestMaskNum = 0;
+ $bestMask = array();
+
+ $checked_masks = array(0,1,2,3,4,5,6,7);
+
+ if (QR_FIND_FROM_RANDOM !== false) {
+
+ $howManuOut = 8-(QR_FIND_FROM_RANDOM % 9);
+ for ($i = 0; $i < $howManuOut; $i++) {
+ $remPos = rand (0, count($checked_masks)-1);
+ unset($checked_masks[$remPos]);
+ $checked_masks = array_values($checked_masks);
+ }
+
+ }
+
+ $bestMask = $frame;
+
+ foreach($checked_masks as $i) {
+ $mask = array_fill(0, $width, str_repeat("\0", $width));
+
+ $demerit = 0;
+ $blacks = 0;
+ $blacks = $this->makeMaskNo($i, $width, $frame, $mask);
+ $blacks += $this->writeFormatInformation($width, $mask, $i, $level);
+ $blacks = (int)(100 * $blacks / ($width * $width));
+ $demerit = (int)((int)(abs($blacks - 50) / 5) * N4);
+ $demerit += $this->evaluateSymbol($width, $mask);
+
+ if($demerit < $minDemerit) {
+ $minDemerit = $demerit;
+ $bestMask = $mask;
+ $bestMaskNum = $i;
+ }
+ }
+
+ return $bestMask;
+ }
+
+ //----------------------------------------------------------------------
+ }
+
+
+
+
+//---- qrencode.php -----------------------------
+
+
+
+
+/*
+ * PHP QR Code encoder
+ *
+ * Main encoder classes.
+ *
+ * Based on libqrencode C library distributed under LGPL 2.1
+ * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi
+ *
+ * PHP QR Code is distributed under LGPL 3
+ * Copyright (C) 2010 Dominik Dzienia
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+ class QRrsblock {
+ public $dataLength;
+ public $data = array();
+ public $eccLength;
+ public $ecc = array();
+
+ public function __construct($dl, $data, $el, &$ecc, QRrsItem $rs)
+ {
+ $rs->encode_rs_char($data, $ecc);
+
+ $this->dataLength = $dl;
+ $this->data = $data;
+ $this->eccLength = $el;
+ $this->ecc = $ecc;
+ }
+ };
+
+ //##########################################################################
+
+ class QRrawcode {
+ public $version;
+ public $datacode = array();
+ public $ecccode = array();
+ public $blocks;
+ public $rsblocks = array(); //of RSblock
+ public $count;
+ public $dataLength;
+ public $eccLength;
+ public $b1;
+
+ //----------------------------------------------------------------------
+ public function __construct(QRinput $input)
+ {
+ $spec = array(0,0,0,0,0);
+
+ $this->datacode = $input->getByteStream();
+ if(is_null($this->datacode)) {
+ throw new Exception('null imput string');
+ }
+
+ QRspec::getEccSpec($input->getVersion(), $input->getErrorCorrectionLevel(), $spec);
+
+ $this->version = $input->getVersion();
+ $this->b1 = QRspec::rsBlockNum1($spec);
+ $this->dataLength = QRspec::rsDataLength($spec);
+ $this->eccLength = QRspec::rsEccLength($spec);
+ $this->ecccode = array_fill(0, $this->eccLength, 0);
+ $this->blocks = QRspec::rsBlockNum($spec);
+
+ $ret = $this->init($spec);
+ if($ret < 0) {
+ throw new Exception('block alloc error');
+ return null;
+ }
+
+ $this->count = 0;
+ }
+
+ //----------------------------------------------------------------------
+ public function init(array $spec)
+ {
+ $dl = QRspec::rsDataCodes1($spec);
+ $el = QRspec::rsEccCodes1($spec);
+ $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
+
+
+ $blockNo = 0;
+ $dataPos = 0;
+ $eccPos = 0;
+ for($i=0; $iecccode,$eccPos);
+ $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs);
+ $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc);
+
+ $dataPos += $dl;
+ $eccPos += $el;
+ $blockNo++;
+ }
+
+ if(QRspec::rsBlockNum2($spec) == 0)
+ return 0;
+
+ $dl = QRspec::rsDataCodes2($spec);
+ $el = QRspec::rsEccCodes2($spec);
+ $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
+
+ if($rs == NULL) return -1;
+
+ for($i=0; $iecccode,$eccPos);
+ $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs);
+ $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc);
+
+ $dataPos += $dl;
+ $eccPos += $el;
+ $blockNo++;
+ }
+
+ return 0;
+ }
+
+ //----------------------------------------------------------------------
+ public function getCode()
+ {
+ $ret;
+
+ if($this->count < $this->dataLength) {
+ $row = $this->count % $this->blocks;
+ $col = $this->count / $this->blocks;
+ if($col >= $this->rsblocks[0]->dataLength) {
+ $row += $this->b1;
+ }
+ $ret = $this->rsblocks[$row]->data[$col];
+ } else if($this->count < $this->dataLength + $this->eccLength) {
+ $row = ($this->count - $this->dataLength) % $this->blocks;
+ $col = ($this->count - $this->dataLength) / $this->blocks;
+ $ret = $this->rsblocks[$row]->ecc[$col];
+ } else {
+ return 0;
+ }
+ $this->count++;
+
+ return $ret;
+ }
+ }
+
+ //##########################################################################
+
+ class QRcode {
+
+ public $version;
+ public $width;
+ public $data;
+
+ //----------------------------------------------------------------------
+ public function encodeMask(QRinput $input, $mask)
+ {
+ if($input->getVersion() < 0 || $input->getVersion() > QRSPEC_VERSION_MAX) {
+ throw new Exception('wrong version');
+ }
+ if($input->getErrorCorrectionLevel() > QR_ECLEVEL_H) {
+ throw new Exception('wrong level');
+ }
+
+ $raw = new QRrawcode($input);
+
+ QRtools::markTime('after_raw');
+
+ $version = $raw->version;
+ $width = QRspec::getWidth($version);
+ $frame = QRspec::newFrame($version);
+
+ $filler = new FrameFiller($width, $frame);
+ if(is_null($filler)) {
+ return NULL;
+ }
+
+ // inteleaved data and ecc codes
+ for($i=0; $i<$raw->dataLength + $raw->eccLength; $i++) {
+ $code = $raw->getCode();
+ $bit = 0x80;
+ for($j=0; $j<8; $j++) {
+ $addr = $filler->next();
+ $filler->setFrameAt($addr, 0x02 | (($bit & $code) != 0));
+ $bit = $bit >> 1;
+ }
+ }
+
+ QRtools::markTime('after_filler');
+
+ unset($raw);
+
+ // remainder bits
+ $j = QRspec::getRemainder($version);
+ for($i=0; $i<$j; $i++) {
+ $addr = $filler->next();
+ $filler->setFrameAt($addr, 0x02);
+ }
+
+ $frame = $filler->frame;
+ unset($filler);
+
+
+ // masking
+ $maskObj = new QRmask();
+ if($mask < 0) {
+
+ if (QR_FIND_BEST_MASK) {
+ $masked = $maskObj->mask($width, $frame, $input->getErrorCorrectionLevel());
+ } else {
+ $masked = $maskObj->makeMask($width, $frame, (intval(QR_DEFAULT_MASK) % 8), $input->getErrorCorrectionLevel());
+ }
+ } else {
+ $masked = $maskObj->makeMask($width, $frame, $mask, $input->getErrorCorrectionLevel());
+ }
+
+ if($masked == NULL) {
+ return NULL;
+ }
+
+ QRtools::markTime('after_mask');
+
+ $this->version = $version;
+ $this->width = $width;
+ $this->data = $masked;
+
+ return $this;
+ }
+
+ //----------------------------------------------------------------------
+ public function encodeInput(QRinput $input)
+ {
+ return $this->encodeMask($input, -1);
+ }
+
+ //----------------------------------------------------------------------
+ public function encodeString8bit($string, $version, $level)
+ {
+ if(string == NULL) {
+ throw new Exception('empty string!');
+ return NULL;
+ }
+
+ $input = new QRinput($version, $level);
+ if($input == NULL) return NULL;
+
+ $ret = $input->append($input, QR_MODE_8, strlen($string), str_split($string));
+ if($ret < 0) {
+ unset($input);
+ return NULL;
+ }
+ return $this->encodeInput($input);
+ }
+
+ //----------------------------------------------------------------------
+ public function encodeString($string, $version, $level, $hint, $casesensitive)
+ {
+
+ if($hint != QR_MODE_8 && $hint != QR_MODE_KANJI) {
+ throw new Exception('bad hint');
+ return NULL;
+ }
+
+ $input = new QRinput($version, $level);
+ if($input == NULL) return NULL;
+
+ $ret = QRsplit::splitStringToQRinput($string, $input, $hint, $casesensitive);
+ if($ret < 0) {
+ return NULL;
+ }
+
+ return $this->encodeInput($input);
+ }
+
+ //----------------------------------------------------------------------
+ public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false)
+ {
+ $enc = QRencode::factory($level, $size, $margin);
+ return $enc->encodePNG($text, $outfile, $saveandprint=false);
+ }
+
+ //----------------------------------------------------------------------
+ public static function text($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4)
+ {
+ $enc = QRencode::factory($level, $size, $margin);
+ return $enc->encode($text, $outfile);
+ }
+
+ //----------------------------------------------------------------------
+ public static function raw($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4)
+ {
+ $enc = QRencode::factory($level, $size, $margin);
+ return $enc->encodeRAW($text, $outfile);
+ }
+ }
+
+ //##########################################################################
+
+ class FrameFiller {
+
+ public $width;
+ public $frame;
+ public $x;
+ public $y;
+ public $dir;
+ public $bit;
+
+ //----------------------------------------------------------------------
+ public function __construct($width, &$frame)
+ {
+ $this->width = $width;
+ $this->frame = $frame;
+ $this->x = $width - 1;
+ $this->y = $width - 1;
+ $this->dir = -1;
+ $this->bit = -1;
+ }
+
+ //----------------------------------------------------------------------
+ public function setFrameAt($at, $val)
+ {
+ $this->frame[$at['y']][$at['x']] = chr($val);
+ }
+
+ //----------------------------------------------------------------------
+ public function getFrameAt($at)
+ {
+ return ord($this->frame[$at['y']][$at['x']]);
+ }
+
+ //----------------------------------------------------------------------
+ public function next()
+ {
+ do {
+
+ if($this->bit == -1) {
+ $this->bit = 0;
+ return array('x'=>$this->x, 'y'=>$this->y);
+ }
+
+ $x = $this->x;
+ $y = $this->y;
+ $w = $this->width;
+
+ if($this->bit == 0) {
+ $x--;
+ $this->bit++;
+ } else {
+ $x++;
+ $y += $this->dir;
+ $this->bit--;
+ }
+
+ if($this->dir < 0) {
+ if($y < 0) {
+ $y = 0;
+ $x -= 2;
+ $this->dir = 1;
+ if($x == 6) {
+ $x--;
+ $y = 9;
+ }
+ }
+ } else {
+ if($y == $w) {
+ $y = $w - 1;
+ $x -= 2;
+ $this->dir = -1;
+ if($x == 6) {
+ $x--;
+ $y -= 8;
+ }
+ }
+ }
+ if($x < 0 || $y < 0) return null;
+
+ $this->x = $x;
+ $this->y = $y;
+
+ } while(ord($this->frame[$y][$x]) & 0x80);
+
+ return array('x'=>$x, 'y'=>$y);
+ }
+
+ } ;
+
+ //##########################################################################
+
+ class QRencode {
+
+ public $casesensitive = true;
+ public $eightbit = false;
+
+ public $version = 0;
+ public $size = 3;
+ public $margin = 4;
+
+ public $structured = 0; // not supported yet
+
+ public $level = QR_ECLEVEL_L;
+ public $hint = QR_MODE_8;
+
+ //----------------------------------------------------------------------
+ public static function factory($level = QR_ECLEVEL_L, $size = 3, $margin = 4)
+ {
+ $enc = new QRencode();
+ $enc->size = $size;
+ $enc->margin = $margin;
+
+ switch ($level.'') {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ $enc->level = $level;
+ break;
+ case 'l':
+ case 'L':
+ $enc->level = QR_ECLEVEL_L;
+ break;
+ case 'm':
+ case 'M':
+ $enc->level = QR_ECLEVEL_M;
+ break;
+ case 'q':
+ case 'Q':
+ $enc->level = QR_ECLEVEL_Q;
+ break;
+ case 'h':
+ case 'H':
+ $enc->level = QR_ECLEVEL_H;
+ break;
+ }
+
+ return $enc;
+ }
+
+ //----------------------------------------------------------------------
+ public function encodeRAW($intext, $outfile = false)
+ {
+ $code = new QRcode();
+
+ if($this->eightbit) {
+ $code->encodeString8bit($intext, $this->version, $this->level);
+ } else {
+ $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive);
+ }
+
+ return $code->data;
+ }
+
+ //----------------------------------------------------------------------
+ public function encode($intext, $outfile = false)
+ {
+ $code = new QRcode();
+
+ if($this->eightbit) {
+ $code->encodeString8bit($intext, $this->version, $this->level);
+ } else {
+ $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive);
+ }
+
+ QRtools::markTime('after_encode');
+
+ if ($outfile!== false) {
+ file_put_contents($outfile, join("\n", QRtools::binarize($code->data)));
+ } else {
+ return QRtools::binarize($code->data);
+ }
+ }
+
+ //----------------------------------------------------------------------
+ public function encodePNG($intext, $outfile = false,$saveandprint=false)
+ {
+ try {
+
+ ob_start();
+ $tab = $this->encode($intext);
+ $err = ob_get_contents();
+ ob_end_clean();
+
+ if ($err != '')
+ QRtools::log($outfile, $err);
+
+ $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin));
+
+ QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint);
+
+ } catch (Exception $e) {
+
+ QRtools::log($outfile, $e->getMessage());
+
+ }
+ }
}
\ No newline at end of file
diff --git a/spzac/style.css b/spzac/style.css
index 47900c0..678e476 100644
--- a/spzac/style.css
+++ b/spzac/style.css
@@ -1,12 +1,12 @@
-/*
-Theme Name: 小灯泡设计
-Theme URI: https://www.dpaoz.com/
-Author: Vv team
-Author URI: https://www.dpaoz.com/
-Description: Our 2019 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen's simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer.
-Version: 2.0
-Tags: blog, two-columns, left-sidebar, accessibility-ready, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
-Text Domain: twentyfifteen
-Use it to make something cool, have fun, and share what you've learned with others.
-*/
-
+/*
+Theme Name: 小灯泡设计
+Theme URI: https://www.dpaoz.com/
+Author: Vv team
+Author URI: https://www.dpaoz.com/
+Description: Our 2019 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen's simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer.
+Version: 2.0
+Tags: blog, two-columns, left-sidebar, accessibility-ready, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
+Text Domain: twentyfifteen
+Use it to make something cool, have fun, and share what you've learned with others.
+*/
+
diff --git a/spzac/user - sider.php b/spzac/user - sider.php
index 0296d94..bee4035 100644
--- a/spzac/user - sider.php
+++ b/spzac/user - sider.php
@@ -10,22 +10,49 @@
options->title() ?>
options->description() ?>
-
-
主题推荐
-
QQ联系
+
widget('Widget_Contents_Post_Recent','pageSize=3')->to($recent);
+$this->widget('Widget_Contents_Post_Recent','pageSize=5')->to($recent);
if($recent->have()):
while($recent->next()):
?>
-
+
-
网站简介
+ need('assets/user - social.php'); ?>
+
+
+
小说物语
+
+
+
+
漫漫人生路,来去也匆匆。
+
——《书名 》
+
+
+
+
@@ -33,4 +60,4 @@
-
\ No newline at end of file
+
author(); ?> mail);?>
+dateWord(); ?>
+