<!DOCTYPE html>
<html class="insetting">
<head>
<meta charset="UTF-8">
<title>Clippy — CSS clip-path maker</title>
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="shortcut icon" href="https://farm1.staticflickr.com/544/19871023550_0dab6fff25_t.jpg" />
<link rel="apple-touch-icon" sizes="120x120" href="https://farm1.staticflickr.com/351/20051146642_6f62f3677e_m.jpg" >
<link rel="apple-touch-icon" sizes="152x152" href="https://farm1.staticflickr.com/371/20051146832_c929154631_m.jpg">
<link rel="icon" sizes="196x196" href="https://farm1.staticflickr.com/456/20032727026_de844befeb_m.jpg">
<meta name="viewport" content="width=device-width">
</head>
<div class="main">
<div class="grid panel cite fade-content">
<h3>Image Clipper</h3>
</div>
<div class="demo-container fade-content">
<section class="demo">
<div id="box" class="box">
<div class="shadowboard"></div>
<div class="clipboard"></div>
<div class="handles"></div>
</div>
<div class="custom-notice">
<div><span class="touchy"></span> to add points <br>to custom polygon.</div>
</div>
</section>
</div>
<section class="dark-panel custom">
<h2>Custom shape</h2>
<button class="finish"></button>
</section>
<section class="dark-panel inset">
<div class="flex">
<h2>Round edges</h2>
<input value="5% 20% 0 10%" class="inset-round" type="text">
</div>
<p>The <code>inset()</code> shape optionally allows values similar to <code>border-radius</code> for rounded edges. This new feature may be buggy in <span class="your-browser">your browser</span>.</p>
</section>
<section id="flickity" class="shapes horizontal gallery">
<ul></ul>
</section>
<section class="clip-path" tabindex="-1">
<div class="css-code code fade-content">
<code class="webkit block show">-webkit-clip-path: <span class="functions"></span>;</code>
<code class="unprefixed block show">clip-path: <span class="functions"></span>;</code>
</div>
<button class="edit-in-codepen code"></button>
</section>
</div>
<div class="side">
<span class="no-support-message">
<div class="warning browser-support grid panel fade-content">
<h1>No support</h1>
<p>Sorry but the CSS clip-path property does not support basic shapes in <span class="your-browser">your browser</span>. Please try opening this page in another browser.</p>
</div>
<a href="http://caniuse.com/#search=clip-path" class="grid panel browser-support fade-content">
<h2 class="block">Browser Support <small>caniuse.com</small></h2>
<div class="table">
<span class="icon chrome" data-version="24+"></span>
<span class="icon safari" data-version="8+"></span>
<span class="icon opera" data-version="15+"></span>
<span class="icon ie unsupported"></span>
<span class="icon firefox unsupported"></span>
</div>
</a>
</span>
<section class="dark-panel inset">
<div class="flex">
<h2>Round edges</h2>
<input value="5% 20% 0 10%" class="inset-round" type="text">
</div>
<p>The <code>inset()</code> shape optionally allows values similar to <code>border-radius</code> for rounded edges. This new feature may be buggy in <span class="your-browser">your browser</span>.</p>
</section>
<section class="dark-panel custom">
<h2>Custom shape</h2>
<button class="finish"></button>
</section>
<section class="shapes vertical" tabindex="-1">
<ul></ul>
</section>
<section class="options">
<div class="grid panel flex fade-content">
<h2>Prefix</h2>
<input name="prefix" value="5" type="checkbox" id="webkit" checked>
<label for="webkit">webkit</label>
</div>
<div class="grid panel flex fade-content">
<h2>Demo Size</h2>
<input id="demo_width" value="280" type="number">
<h2>×</h2>
<input id="demo_height" value="280" type="number">
</div>
<div class="grid panel fade-content">
<h2>Demo Background</h2>
<div class="backgrounds">
<img src="https://farm4.staticflickr.com/3790/20059040535_85b559c6d5_t.jpg">
<img src="https://farm1.staticflickr.com/369/19872363539_fc48f57cb3_t.jpg">
<img src="https://farm1.staticflickr.com/476/19871045530_26530794a9_t.jpg">
<img src="https://farm4.staticflickr.com/3724/19438050493_1f52222bbc_t.jpg">
</div>
<input placeholder="Custom URL..." id="custom_url" type="url" name="background">
<style id="custom_background"></style>
<div class="flex shadowboard-toggle">
<h2>Show outside clip-path</h2>
<input name="prefix" type="checkbox" id="shadowboard-toggle">
<label class="joined" for="shadowboard-toggle"></label>
</div>
</div>
<div class="grid panel fade-content">
<h2>About Clip Paths</h2>
<p>The <code>clip-path</code> property allows you to make complex shapes in CSS by clipping an element to a basic shape (circle, ellipse, polygon, or inset), or to an SVG source. </p>
<p>CSS Animations and transitions are possible with two or more clip-path shapes with the same number of points.</p>
</div>
<a href="http://caniuse.com/#search=clip-path" class="grid panel browser-support permanent fade-content">
<h2>Browser Support <small>caniuse.com</small></h2>
<div class="table">
<span class="icon chrome" data-version="24+"></span>
<span class="icon safari" data-version="8+"></span>
<span class="icon opera" data-version="15+"></span>
<span class="icon ie unsupported"></span>
<span class="icon firefox unsupported"></span>
</div>
</a>
</section>
</div>
<script src="jquery.min.js"></script>
<script src="draggabilly.js"></script>
<script src="flickity.pkgd.min.js"></script>
<script src="jquery.browser.min.js"></script>
<script src="clip.js"></script>
</body>
</html>
* {
-moz-box-sizing: border-box;
box-sizing: border-box;
line-height: 1;
vertical-align: middle;
margin: 0;
padding: 0;
border: 0;
}
header,
section,
main,
figure {
display: block;
}
html,
body {
position: relative;
height: 100%;
}
body {
font: 100%/1.5 "Alegreya Sans", sans-serif;
background: #d3d0c9;
color: #100a09;
}
@media (min-width: 800px) {
body {
padding: 0 .5rem 0;
padding-left: -webkit-calc(100% - 23.625rem);
padding-left: calc(100% - 23.625rem);
}
}
.main {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
@media (min-width: 800px) {
.main {
position: fixed;
top: 0;
left: 0;
height: 100%;
right: 23.625rem;
padding: .25rem .25rem .25rem .75rem;
-ms-touch-action: none;
touch-action: none;
}
}
header {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
background: rgba(251, 252, 247, 0.75);
box-shadow: inset 0 -1px rgba(211, 208, 201, 0.25);
padding: .75rem 1rem .75rem;
}
@media (min-width: 800px) {
header {
font-size: larger;
margin-top: .5rem;
padding: .75rem 1rem;
border-radius: 2px 2px 0 0;
}
}
header a {
display: inline-block;
text-decoration: none;
color: inherit;
padding: .25rem;
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
header a:hover {
text-decoration: underline;
}
header iframe {
max-width: 95px;
-webkit-animation: load 1s both;
animation: load 1s both;
}
@-webkit-keyframes load {
from {
opacity: 0;
}
}
@keyframes load {
from {
opacity: 0;
}
}
.demo-container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
background: #fbfcf7;
box-shadow: 0 1px 2px rgba(16, 10, 9, 0.15);
position: relative;
z-index: 100;
padding-top: .5rem;
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none;
tap-highlight-color: transparent;
touch-callout: none;
}
@media (min-width: 800px) {
.demo-container {
border-radius: 0 0 2px 2px;
}
}
.demo {
position: relative;
padding: 0 0 1rem;
}
.customizing .demo {
cursor: crosshair;
}
.box {
position: relative;
box-shadow: inset 0 0 0 10px #fbfcf7, inset 0 0 0 11px #d3d0c9;
-ms-touch-action: none;
touch-action: none;
}
.shadowboard,
.clipboard {
position: absolute;
top: 10px;
left: 10px;
right: 10px;
bottom: 10px;
background-color: #d3d0c9;
background-image: url(https://farm1.staticflickr.com/476/19871045530_26530794a9_t.jpg);
background-size: cover;
background-position: center center;
}
.shadowboard {
pointer-events: none;
opacity: 0;
-webkit-transition: opacity 0.375s;
transition: opacity 0.375s;
}
.handles {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.handle,
.delete-point {
position: absolute;
width: 20px;
height: 20px;
}
.handle {
border-radius: 50%;
box-shadow: inset 0 0 0 10px;
opacity: .8;
-webkit-transition: opacity 0.25s;
transition: opacity 0.25s;
cursor: -webkit-grab;
cursor: -moz-grab;
cursor: grab;
}
.customizing .handle {
cursor: crosshair;
}
.customizing:not(.customizing-no-poly) .handle[data-handle="1"] {
cursor: pointer;
}
.customizing:not(.customizing-no-poly) .handle[data-handle="1"]:hover {
border-radius: 2px;
color: black;
}
.customizing:not(.customizing-no-poly) .handle[data-handle="1"]:hover:before {
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
content: "";
-webkit-clip-path: polygon(67% 30%, 43% 54%, 33% 42%, 24% 51%, 44% 72%, 76% 39%);
clip-path: polygon(67% 30%, 43% 54%, 33% 42%, 24% 51%, 44% 72%, 76% 39%);
background: #d3d0c9;
}
.customizing:not(.customizing-no-poly) .handle[data-handle="1"]:active {
color: #555;
}
.customizing:not(.customizing-no-poly) .handle[data-handle="1"]:active:before {
background: white;
}
.handle:after {
display: block;
content: "";
position: absolute;
top: -8px;
left: -8px;
right: -8px;
bottom: -8px;
}
.demo:hover .handle {
opacity: 1;
}
.handle.is-dragging {
z-index: 100;
box-shadow: inset 0 0 0 3px;
cursor: none;
-webkit-transition: box-shadow 0;
transition: box-shadow 0;
}
.handle.bar {
border-radius: 20px;
}
.handle.bar:after {
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
}
.delete-point {
position: absolute;
left: 22px;
top: 0;
width: 25px;
padding-left: 5px;
border-radius: 3px;
background: #d3d0c9;
-webkit-transform: scale3d(0, 0, 0);
-ms-transform: scale3d(0, 0, 0);
transform: scale3d(0, 0, 0);
-webkit-transform-origin: left center;
-ms-transform-origin: left center;
transform-origin: left center;
cursor: pointer;
opacity: .75;
-webkit-clip-path: polygon(25% 0%, 100% 1%, 100% 100%, 25% 100%, 0% 50%);
clip-path: polygon(25% 0%, 100% 1%, 100% 100%, 25% 100%, 0% 50%);
-webkit-transition: -webkit-transform 0.25s, opacity 0.25s;
transition: transform 0.25s, opacity 0.25s;
}
.show-delete .delete-point {
-webkit-transform: scale3d(0.9, 0.9, 0.9);
-ms-transform: scale3d(0.9, 0.9, 0.9);
transform: scale3d(0.9, 0.9, 0.9);
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0.15, 1, 0.3, 1.1), opacity 0.25s;
transition: transform 0.25s cubic-bezier(0.15, 1, 0.3, 1.1), opacity 0.25s;
opacity: 1;
}
.delete-point:hover {
-webkit-transform: scale3d(1, 1, 1);
-ms-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0.15, 1, 0.3, 1.1);
transition: transform 0.25s cubic-bezier(0.15, 1, 0.3, 1.1);
opacity: 1;
}
.delete-point:active {
background: #100a09;
}
.delete-point:active:after {
background: #d3d0c9;
}
.delete-point:after {
display: block;
content: "";
position: absolute;
top: 4px;
left: 9px;
right: 4px;
bottom: 4px;
background: #100a09;
-webkit-clip-path: polygon(20% 10%, 10% 20%, 40% 50%, 10% 80%, 20% 90%, 50% 60%, 80% 90%, 90% 80%, 60% 50%, 90% 20%, 80% 10%, 50% 40%);
clip-path: polygon(20% 10%, 10% 20%, 40% 50%, 10% 80%, 20% 90%, 50% 60%, 80% 90%, 90% 80%, 60% 50%, 90% 20%, 80% 10%, 50% 40%);
}
.custom-notice {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 1rem;
pointer-events: none;
opacity: 0;
-webkit-transition: background 0.25s;
transition: background 0.25s;
background: rgba(255, 255, 255, 0);
}
.customizing .custom-notice {
opacity: 1;
}
.custom-notice div {
width: 100%;
text-align: center;
background: rgba(255, 255, 255, 0.9);
padding: 1rem;
margin: 0 2rem;
-webkit-transition: opacity 0.25s;
transition: opacity 0.25s;
border-radius: 2px;
box-shadow: 0 1px 2px rgba(16, 10, 9, 0.15);
opacity: 0;
}
.start-customizing .custom-notice div {
opacity: 1;
-webkit-animation: pulse 1.5s ease-in-out infinite;
animation: pulse 1.5s ease-in-out infinite;
}
.touchy:after {
content: "Tap";
}
@media (min-width: 800px) {
.touchy:after {
content: "Click";
}
}
.dark-panel {
display: none;
background: #100a09;
padding: .75rem;
color: white;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.dark-panel p {
color: #d3d0c9;
margin: .5rem 0;
}
.dark-panel h2:first-child {
color: #d3d0c9;
}
@media (max-width: 800px) {
.insetting .main .inset {
display: block;
}
}
@media (min-width: 800px) {
.insetting .side .inset {
display: block;
box-shadow: 0 1px 2px rgba(16, 10, 9, 0.15);
border-radius: 2px;
margin: .25rem;
}
}
@media (max-width: 800px) {
.customizing .main .custom {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
}
@media (min-width: 800px) {
.customizing .side .custom {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
box-shadow: 0 1px 2px rgba(16, 10, 9, 0.15);
border-radius: 2px;
margin: .25rem;
}
}
.finish,
.inset-round {
font: inherit;
padding: .5rem;
border-radius: 5rem;
cursor: pointer;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
background: rgba(255, 255, 255, 0.35);
color: rgba(255, 255, 255, 0.9);
}
.finish:hover,
.inset-round:hover {
color: white;
background: rgba(255, 255, 255, 0.4);
}
.finish:active,
.inset-round:active {
-webkit-animation: none;
animation: none;
background: rgba(255, 255, 255, 0.2);
color: rgba(255, 255, 255, 0.4);
}
.finish:after,
.inset-round:after {
content: "Finish " attr(data-shape);
}
.customizing-no-poly .finish,
.customizing-no-poly .inset-round {
-webkit-animation: none;
animation: none;
}
.customizing-no-poly .finish:after,
.customizing-no-poly .inset-round:after {
content: "Close editor";
}
.finish:focus,
.inset-round:focus {
outline: 0;
}
.inset-round {
font-family: monospace;
text-align: center;
cursor: text;
color: #d3d0c9;
background: black;
box-shadow: inset 0 0 0 0.125rem rgba(211, 208, 201, 0.5);
-webkit-animation: glow 1.5s ease-in-out infinite;
animation: glow 1.5s ease-in-out infinite;
opacity: .5;
}
.inset-round:hover {
background: transparent;
color: #d3d0c9;
-webkit-animation: none;
animation: none;
opacity: .75;
}
.inset-round:focus {
color: #d3d0c9;
box-shadow: inset 0 0 0 0.125rem rgba(211, 208, 201, 0.5);
-webkit-animation: none;
animation: none;
opacity: 1;
}
@-webkit-keyframes glow {
50% {
opacity: .75;
}
}
@keyframes glow {
50% {
opacity: .75;
}
}
.shapes {
position: relative;
max-width: 100%;
background: #d3d0c9;
white-space: nowrap;
overflow-x: hidden;
}
.shapes:focus {
outline: 0;
}
.shapes.horizontal {
display: block;
}
.shapes.vertical {
display: none;
}
@media (min-width: 800px) {
.shapes.horizontal {
display: none;
}
.shapes.vertical {
display: block;
white-space: normal;
}
}
@media (max-width: 800px) {
.shapes:after {
display: block;
position: absolute;
content: "";
pointer-events: none;
bottom: 0;
right: 0;
top: 0;
background: -webkit-linear-gradient(0deg, rgba(211, 208, 201, 0), #d3d0c9);
background: linear-gradient(90deg, rgba(211, 208, 201, 0), #d3d0c9);
width: 1.5rem;
}
}
ul {
width: 100%;
padding: .25rem;
}
@media (max-width: 800px) {
ul {
white-space: nowrap;
}
}
@media (min-width: 800px) {
ul {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding: 0;
-webkit-perspective: 400px;
-ms-perspective: 400px;
perspective: 400px;
overflow-x: hidden;
}
}
.flickity-viewport {
overflow: hidden;
position: relative;
}
figure {
display: inline-block;
text-align: center;
padding: .625rem .25rem;
margin: .25rem;
background: white;
width: 4.125rem;
box-shadow: 0 1px 2px rgba(16, 10, 9, 0.15);
border-radius: 2px;
-webkit-transition: background 0.25s, -webkit-transform 0.5s;
transition: background 0.25s, transform 0.5s;
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none;
tap-highlight-color: transparent;
touch-callout: none;
}
@media (min-width: 800px) {
figure {
-webkit-box-flex: 4.625rem;
-webkit-flex: 4.625rem;
-ms-flex: 4.625rem;
flex: 4.625rem;
-webkit-transform-origin: top center;
-ms-transform-origin: top center;
transform-origin: top center;
}
figure:nth-child(n+9) {
-webkit-transform: translateZ(0) rotateX(-18deg);
-ms-transform: translateZ(0) rotateX(-18deg);
transform: translateZ(0) rotateX(-18deg);
}
figure:nth-child(n+13) {
-webkit-transform: translateZ(-1.85rem) rotateX(-36deg);
-ms-transform: translateZ(-1.85rem) rotateX(-36deg);
transform: translateZ(-1.85rem) rotateX(-36deg);
}
figure:nth-child(n+17) {
-webkit-transform: translateZ(-6.0125rem) rotateX(-54deg);
-ms-transform: translateZ(-6.0125rem) rotateX(-54deg);
transform: translateZ(-6.0125rem) rotateX(-54deg);
}
figure:nth-child(n+21) {
-webkit-transform: translateZ(-9.25rem) rotateX(-72deg);
-ms-transform: translateZ(-9.25rem) rotateX(-72deg);
transform: translateZ(-9.25rem) rotateX(-72deg);
}
figure:nth-child(n+25) {
-webkit-transform: translateZ(-11.5625rem) rotateX(-85deg);
-ms-transform: translateZ(-11.5625rem) rotateX(-85deg);
transform: translateZ(-11.5625rem) rotateX(-85deg);
}
.shapes:hover figure,
.shapes:focus figure {
-webkit-transform: translateZ(0) rotateX(0);
-ms-transform: translateZ(0) rotateX(0);
transform: translateZ(0) rotateX(0);
-webkit-transition: background 0.25s, -webkit-transform 0.375s cubic-bezier(0.15, 1, 0.3, 1.1);
transition: background 0.25s, transform 0.375s cubic-bezier(0.15, 1, 0.3, 1.1);
}
.shapes:hover figure:nth-child(n+9),
.shapes:focus figure:nth-child(n+9) {
-webkit-transition-delay: 0.025s;
transition-delay: 0.025s;
}
.shapes:hover figure:nth-child(n+13),
.shapes:focus figure:nth-child(n+13) {
-webkit-transition-delay: 0.05s;
transition-delay: 0.05s;
}
.shapes:hover figure:nth-child(n+17),
.shapes:focus figure:nth-child(n+17) {
-webkit-transition-delay: 0.075s;
transition-delay: 0.075s;
}
.shapes:hover figure:nth-child(n+21),
.shapes:focus figure:nth-child(n+21) {
-webkit-transition-delay: 0.1s;
transition-delay: 0.1s;
}
.shapes:hover figure:nth-child(n+25),
.shapes:focus figure:nth-child(n+25) {
-webkit-transition-delay: 0.125s;
transition-delay: 0.125s;
}
}
figure:hover {
cursor: pointer;
border-color: transparent;
box-shadow: 0 2px 3px rgba(16, 10, 9, 0.3);
}
figure.on,
figure:active {
background: #100a09;
}
figure.on figcaption,
figure:active figcaption {
color: #d3d0c9;
}
@media (max-width: 800px) {
figure[data-type="custom"] {
width: 5.78125rem;
}
}
figure.disabled {
pointer-events: none;
opacity: .35;
}
figure:nth-last-of-type(-n+2) {
-webkit-box-flex: .75;
-webkit-flex: .75;
-ms-flex: .75;
flex: .75;
}
figure .shape {
display: inline-block;
width: 1.5rem;
height: 1.5rem;
background: currentColor;
}
figure figcaption {
display: block;
font-size: .75rem;
color: #100a09;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-top: .5rem;
padding: 0 .25rem;
}
.clip-path {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
position: relative;
font-size: 1.1em;
overflow-x: hidden;
font-family: monospace;
overflow-y: hidden;
}
@media (min-width: 800px) {
.clip-path {
margin: .5rem 0 .25rem;
border-radius: 2px;
}
.clip-path:focus {
outline: 0;
box-shadow: 0 0 .5rem gold;
background: rgba(255, 215, 0, 0.3);
}
}
.code {
background: #100a09;
color: #9a8297;
padding: .75rem;
box-shadow: 0 1px 2px rgba(16, 10, 9, 0.15);
}
@media (min-width: 800px) {
.code {
border-radius: 2px;
}
}
.css-code {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
@media (min-width: 800px) {
.css-code {
margin-right: .5vw;
max-height: 160px;
overflow-y: auto;
}
}
.edit-in-codepen {
width: 4rem;
background-image: url(http://blog.codepen.io/wp-content/uploads/2012/06/Button-White-Large.png);
background-size: 60%;
background-position: center center;
background-repeat: no-repeat;
-webkit-transition: opacity 0.25s, -webkit-transform 0.25s, background-size 0.25s;
transition: opacity 0.25s, transform 0.25s, background-size 0.25s;
cursor: pointer;
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.edit-in-codepen:hover {
opacity: .8;
-webkit-transition-duration: 0.125s;
transition-duration: 0.125s;
}
.edit-in-codepen:active {
-webkit-transform: scale(0.95);
-ms-transform: scale(0.95);
transform: scale(0.95);
opacity: .5;
-webkit-transition-duration: 0;
transition-duration: 0;
}
.edit-in-codepen:focus {
outline: 0;
}
.block {
display: none;
padding: .25rem;
line-height: 1.3;
}
.show {
display: block;
}
.show:nth-last-of-type(1) .point.changing {
-webkit-animation-delay: 0.125s;
animation-delay: 0.125s;
}
.show:nth-last-of-type(2) .point.changing {
-webkit-animation-delay: 0.25s;
animation-delay: 0.25s;
}
.show:nth-last-of-type(3) .point.changing {
-webkit-animation-delay: 0.375s;
animation-delay: 0.375s;
}
.show:nth-last-of-type(4) .point.changing {
-webkit-animation-delay: 0.5s;
animation-delay: 0.5s;
}
.point {
display: inline-block;
position: relative;
vertical-align: baseline;
}
.customizing-no-poly .point {
opacity: .5;
}
.point:after {
display: block;
position: absolute;
content: "";
width: 80px;
height: 80px;
border-radius: 50%;
background: currentColor;
top: -webkit-calc(50% - 40px);
top: calc(50% - 40px);
left: -webkit-calc(50% - 40px);
left: calc(50% - 40px);
-webkit-transform: scale(0);
-ms-transform: scale(0);
transform: scale(0);
will-change: transform, opacity;
opacity: 0;
}
.point.changing {
font-weight: bold;
}
.point.changing:after {
-webkit-animation: emph 1.25s;
animation: emph 1.25s;
-webkit-animation-delay: inherit;
animation-delay: inherit;
}
@-webkit-keyframes emph {
20% {
-webkit-transform: none;
transform: none;
opacity: .5;
}
to {
opacity: 0;
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
}
@keyframes emph {
20% {
-webkit-transform: none;
-ms-transform: none;
transform: none;
opacity: .5;
}
to {
opacity: 0;
-webkit-transform: scale(1.2);
-ms-transform: scale(1.2);
transform: scale(1.2);
}
}
.handle:nth-of-type(1),
.point:nth-of-type(1),
figure:nth-of-type(1) {
color: tomato;
}
.handle:nth-of-type(2),
.point:nth-of-type(2),
figure:nth-of-type(2) {
color: mediumseagreen;
}
.handle:nth-of-type(3),
.point:nth-of-type(3),
figure:nth-of-type(3) {
color: orange;
}
.handle:nth-of-type(4),
.point:nth-of-type(4),
figure:nth-of-type(4) {
color: dodgerblue;
}
.handle:nth-of-type(5),
.point:nth-of-type(5),
figure:nth-of-type(5) {
color: orchid;
}
.handle:nth-of-type(6),
.point:nth-of-type(6),
figure:nth-of-type(6) {
color: lightgray;
}
.handle:nth-of-type(7),
.point:nth-of-type(7),
figure:nth-of-type(7) {
color: darkturquoise;
}
.handle:nth-of-type(8),
.point:nth-of-type(8),
figure:nth-of-type(8) {
color: palevioletred;
}
.handle:nth-of-type(9),
.point:nth-of-type(9),
figure:nth-of-type(9) {
color: khaki;
}
.handle:nth-of-type(10),
.point:nth-of-type(10),
figure:nth-of-type(10) {
color: limegreen;
}
.handle:nth-of-type(11),
.point:nth-of-type(11),
figure:nth-of-type(11) {
color: coral;
}
.handle:nth-of-type(12),
.point:nth-of-type(12),
figure:nth-of-type(12) {
color: slateblue;
}
.handle:nth-of-type(13),
.point:nth-of-type(13),
figure:nth-of-type(13) {
color: indianred;
}
.handle:nth-of-type(14),
.point:nth-of-type(14),
figure:nth-of-type(14) {
color: gray;
}
.handle:nth-of-type(15),
.point:nth-of-type(15),
figure:nth-of-type(15) {
color: plum;
}
.handle:nth-of-type(16),
.point:nth-of-type(16),
figure:nth-of-type(16) {
color: olivedrab;
}
.handle:nth-of-type(17),
.point:nth-of-type(17),
figure:nth-of-type(17) {
color: lightgreen;
}
.handle:nth-of-type(18),
.point:nth-of-type(18),
figure:nth-of-type(18) {
color: lightsalmon;
}
.handle:nth-of-type(19),
.point:nth-of-type(19),
figure:nth-of-type(19) {
color: gold;
}
.handle:nth-of-type(20),
.point:nth-of-type(20),
figure:nth-of-type(20) {
color: peru;
}
.handle:nth-of-type(21),
.point:nth-of-type(21),
figure:nth-of-type(21) {
color: royalblue;
}
.handle:nth-of-type(22),
.point:nth-of-type(22),
figure:nth-of-type(22) {
color: sandybrown;
}
.handle:nth-of-type(23),
.point:nth-of-type(23),
figure:nth-of-type(23) {
color: lightseagreen;
}
.handle:nth-of-type(24),
.point:nth-of-type(24),
figure:nth-of-type(24) {
color: blueviolet;
}
.handle:nth-of-type(25),
.point:nth-of-type(25),
figure:nth-of-type(25) {
color: tomato;
}
.handle:nth-of-type(26),
.point:nth-of-type(26),
figure:nth-of-type(26) {
color: goldenrod;
}
.handle:nth-of-type(27),
.point:nth-of-type(27),
figure:nth-of-type(27) {
color: limegreen;
}
.side {
padding: .25rem .25rem 1.25rem;
}
@media (min-width: 800px) {
.side {
max-height: 100%;
padding: .5rem 0 0 .125rem;
}
}
.panel {
-webkit-box-flex: auto;
-webkit-flex: auto;
-ms-flex: auto;
flex: auto;
display: block;
padding: 1rem 1rem 1rem .5rem;
background: white;
border-radius: 2px;
box-shadow: 0 1px 2px rgba(16, 10, 9, 0.15);
margin: .5rem .25rem;
}
.panel[href]:hover {
box-shadow: 0 2px 3px rgba(16, 10, 9, 0.3);
}
.panel:first-of-type {
margin-top: .25rem;
}
.flex {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
@media (min-width: 800px) {
.options {
position: relative;
background: #d3d0c9;
-webkit-transform: translate3d(0, -18.375rem, 0);
-ms-transform: translate3d(0, -18.375rem, 0);
transform: translate3d(0, -18.375rem, 0);
-webkit-transition: -webkit-transform 0.25s 0.125s cubic-bezier(0.15, 1, 0.3, 1.1);
transition: transform 0.25s 0.125s cubic-bezier(0.15, 1, 0.3, 1.1);
}
.options:before {
display: block;
position: absolute;
content: "";
pointer-events: none;
left: 0;
right: 0;
bottom: 100%;
height: 4rem;
background: -webkit-linear-gradient(rgba(211, 208, 201, 0), #d3d0c9 90%);
background: linear-gradient(rgba(211, 208, 201, 0), #d3d0c9 90%);
-webkit-transition: inherit;
transition: inherit;
-webkit-transition-timing-function: ease;
transition-timing-function: ease;
-webkit-transform-origin: center bottom;
-ms-transform-origin: center bottom;
transform-origin: center bottom;
}
.shapes:hover + .options,
.shapes:focus + .options {
-webkit-transform: none;
-ms-transform: none;
transform: none;
}
.shapes:hover + .options:before,
.shapes:focus + .options:before {
-webkit-transform: scale3d(1, 0, 1);
-ms-transform: scale3d(1, 0, 1);
transform: scale3d(1, 0, 1);
}
}
h2 {
display: inline-block;
-webkit-box-flex: 4rem;
-webkit-flex: 4rem auto;
-ms-flex: 4rem auto;
flex: 4rem auto;
font-size: 1.2rem;
font-weight: 500;
pointer-events: none;
min-width: 1em;
text-align: center;
color: #bcb8ad;
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
h2.block {
display: block;
}
h2:first-child {
text-align: left;
color: #100a09;
font-weight: 300;
padding: 0 1.25rem 0 .5rem;
}
.side > h2 {
padding: .75rem 1rem .25rem 1rem;
}
input[type="radio"],
input[type="checkbox"] {
display: none;
}
label,
input[type="number"],
input[type="url"] {
display: inline-block;
font: inherit;
position: relative;
text-align: center;
background: white;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
min-width: 2rem;
padding: .5rem .25rem;
border-radius: 2rem;
box-shadow: inset 0 0.125rem #d3d0c9, inset -0.125rem 0 #d3d0c9, inset 0 -0.125rem #d3d0c9;
cursor: pointer;
-webkit-transition: background 0.25s;
transition: background 0.25s;
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none;
tap-highlight-color: transparent;
touch-callout: none;
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
label:hover,
input[type="number"]:hover,
input[type="url"]:hover {
background: #d3d0c9;
-webkit-transition: background 0;
transition: background 0;
}
label[for="shadowboard-toggle"]:before,
input[type="number"][for="shadowboard-toggle"]:before,
input[type="url"][for="shadowboard-toggle"]:before {
content: "Off";
}
input:checked + label[for="shadowboard-toggle"]:before,
input:checked + input[type="number"][for="shadowboard-toggle"]:before,
input:checked + input[type="url"][for="shadowboard-toggle"]:before {
content: "On";
}
label[for="webkit"]:before,
input[type="number"][for="webkit"]:before,
input[type="url"][for="webkit"]:before {
content: "-";
font-family: monospace;
vertical-align: top;
}
label:first-of-type,
input[type="number"]:first-of-type,
input[type="url"]:first-of-type {
box-shadow: inset 0 0.125rem #d3d0c9, inset 0.125rem 0 #d3d0c9, inset -0.125rem 0 #d3d0c9, inset 0 -0.125rem #d3d0c9;
}
label.joined,
input[type="number"].joined,
input[type="url"].joined {
border-radius: 0;
}
label.joined:first-of-type,
input[type="number"].joined:first-of-type,
input[type="url"].joined:first-of-type {
border-top-left-radius: 2rem;
border-bottom-left-radius: 2rem;
}
label.joined:last-of-type,
input[type="number"].joined:last-of-type,
input[type="url"].joined:last-of-type {
border-top-right-radius: 2rem;
border-bottom-right-radius: 2rem;
}
input:checked + label,
label[type="number"]:focus,
label[type="url"]:focus,
input:checked + input[type="number"],
input[type="number"][type="number"]:focus,
input[type="number"][type="url"]:focus,
input:checked + input[type="url"],
input[type="url"][type="number"]:focus,
input[type="url"][type="url"]:focus {
background: #100a09;
z-index: 100;
color: #d3d0c9;
outline: 0;
box-shadow: inset 0 0 0 0.125rem #100a09, 0 0 0 0.125rem #100a09;
}
input:checked + label:hover,
label[type="number"]:focus:hover,
label[type="url"]:focus:hover,
input:checked + input[type="number"]:hover,
input[type="number"][type="number"]:focus:hover,
input[type="number"][type="url"]:focus:hover,
input:checked + input[type="url"]:hover,
input[type="url"][type="number"]:focus:hover,
input[type="url"][type="url"]:focus:hover {
opacity: .8;
}
input:checked + label:active,
label[type="number"]:focus:active,
label[type="url"]:focus:active,
input:checked + input[type="number"]:active,
input[type="number"][type="number"]:focus:active,
input[type="number"][type="url"]:focus:active,
input:checked + input[type="url"]:active,
input[type="url"][type="number"]:focus:active,
input[type="url"][type="url"]:focus:active {
opacity: 1;
}
input[type="url"] {
display: block;
line-height: 40px;
height: 40px;
box-shadow: inset 0 0.125rem #d3d0c9, inset 0.125rem 0 #d3d0c9, inset -0.125rem 0 #d3d0c9, inset 0 -0.125rem #d3d0c9;
}
input[type="number"] {
font-family: inherit;
font-size: 1.1rem;
border-radius: 2rem;
box-shadow: inset 0 0 0 0.125rem #d3d0c9;
appearance: textfield;
-moz-appearance: textfield;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
appearance: none;
margin: 0;
}
.shadowboard-toggle {
margin-top: 1rem;
}
.backgrounds {
overflow: hidden;
position: relative;
padding: .5rem 0 .75rem .375rem;
}
.backgrounds img {
cursor: pointer;
border-radius: .25rem;
float: left;
width: -webkit-calc(25% - .25rem);
width: calc(25% - .25rem);
height: auto;
outline: .25rem solid white;
margin: .125rem;
-webkit-transition: 0.5s;
transition: 0.5s;
-ms-interpolation-mode: bicubic;
-webkit-user-drag: none;
-moz-user-drag: none;
-ms-user-drag: none;
user-drag: none;
}
.backgrounds img:hover {
opacity: .9;
}
.backgrounds img:active {
opacity: .5;
-webkit-transition: 0;
transition: 0;
}
.backgrounds + input {
font: inherit;
font-size: 1rem;
line-height: 2;
width: -webkit-calc(100% - .375rem);
width: calc(100% - .375rem);
margin-left: .375rem;
text-align: left;
padding: .25rem 1rem;
}
@-webkit-keyframes selected {
10% {
opacity: .5;
}
}
@keyframes selected {
10% {
opacity: .5;
}
}
.no-support-message {
display: none;
}
.no-support .no-support-message {
display: block;
}
.cite.panel {
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.cite.panel .twitter {
margin: .75rem 0 .5rem .5rem;
}
.cite.panel p {
font-size: .95rem;
}
.cite.panel a {
text-decoration: none;
font-weight: 500;
color: inherit;
-webkit-transition: 0.25s;
transition: 0.25s;
}
.cite.panel:hover a {
color: #0b7fda;
}
.cite.panel:hover a:hover {
text-decoration: underline;
}
.warning.panel {
background: tomato;
}
.warning.panel:active {
background: tomato;
}
.warning.panel h1 {
font-weight: 300;
font-size: 2.5rem;
padding: 0 .5rem;
}
.warning.panel h1:before {
font: .7em Browsers;
content: "\e609";
padding-right: .5em;
}
.browser-support {
color: inherit;
text-decoration: none;
}
.no-support .browser-support.permanent {
display: none;
}
.browser-support h2 {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-right: 0;
}
.browser-support small {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
text-align: right;
padding-left: 1em;
}
.browser-support small:before {
content: "(";
}
.browser-support small:after {
content: ")";
}
.browser-support:hover small {
color: #0b7fda;
text-decoration: underline;
}
.browser-support:hover small:before {
content: "www.";
}
.browser-support:hover small:after {
content: "";
}
.browser-support:active {
background: rgba(255, 255, 255, 0.5);
}
.browser-support .table {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-top: .5rem;
padding: .25rem;
}
.icon {
display: inline-block;
text-align: center;
padding: .25rem;
color: #100a09;
-webkit-transition: color 0.25s, -webkit-transform 0.25s, text-shadow 0.25s;
transition: color 0.25s, transform 0.25s, text-shadow 0.25s;
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.panel:hover .icon.unsupported {
-webkit-transform: scale(0.9);
-ms-transform: scale(0.9);
transform: scale(0.9);
opacity: .15;
}
.icon:before {
display: block;
font-family: Browsers;
font-size: 2.5em;
}
.icon.chrome:before {
content: "\e603";
}
.icon.safari:before {
content: "\e607";
}
.icon.opera:before {
content: "\e606";
}
.icon.firefox:before {
content: "\e604";
}
.icon.ie:before {
content: "\e605";
}
.icon:after {
display: block;
font-size: 1.25em;
content: attr(data-version);
padding-top: .25rem;
}
.icon.unsupported {
opacity: .3;
}
.icon.unsupported:after {
content: "\00D7";
}
p {
font-size: 1.1rem;
line-height: 1.2;
padding: .5rem 0 0 .5rem;
}
@font-face {
font-family: "Alegreya Sans";
font-style: normal;
font-weight: 300;
src: local("Alegreya Sans Light"), local("AlegreyaSans-Light"), url(http://fonts.gstatic.com/s/alegreyasans/v2/11EDm-lum6tskJMBbdy9aanUXp5W4FLE8OnWB9t-aHo.woff) format("woff");
}
@font-face {
font-family: 'Alegreya Sans';
font-style: italic;
font-weight: 300;
src: local("Alegreya Sans Light Italic"), local("AlegreyaSans-LightItalic"), url(http://fonts.gstatic.com/s/alegreyasans/v3/WfiXipsmjqRqsDBQ1bA9CjlgAWjU5_zqYf1mnuZ7Lrf3rGVtsTkPsbDajuO5ueQw.woff2) format("woff2");
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: "Alegreya Sans";
font-style: normal;
font-weight: 400;
src: local("Alegreya Sans"), local("AlegreyaSans-Regular"), url(http://fonts.gstatic.com/s/alegreyasans/v2/KYNzioYhDai7mTMnx_gDgnt9r5m2YmP5sw3cUAQwL0E.woff) format("woff");
}
@font-face {
font-family: "Browsers";
src: url(browsers.eot);
src: url(browsers.eot) format("embedded-opentype"), url(browsers.woff) format("woff"), url(browsers.ttf) format("truetype"), url(browsers.svg) format("svg");
font-weight: normal;
font-style: normal;
}
shape_array = {
"polygon" : [
{
name : "Triangle",
coords : [[50,0],[0,100],[100,100]]
},
{
name : "Trapezoid",
coords : [[20,0],[80,0],[100,100],[0,100]]
},
{
name : "Parallelogram",
coords : [[25,0],[100,0],[75,100],[0,100]]
},
{
name : "Rhombus",
coords : [[50,0],[100,50],[50,100],[0,50]]
},
{
name : "Pentagon",
coords : [[50,0],[100,38],[82,100],[18,100],[0,38]]
},
{
name : "Hexagon",
coords : [[50,0],[100,25],[100,75],[50,100],[0,75],[0,25]]
},
{
name : "Heptagon",
coords : [[50,0],[90,20],[100,60],[75,100],[25,100],[0,60],[10,20]]
},
{
name : "Octagon",
coords : [[30, 0],[70,0],[100,30],[100,70],[70,100],[30,100],[0,70],[0,30]]
},
{
name : "Nonagon",
coords : [[50,0],[83,12],[100,43],[94,78],[68,100],[32,100],[6,78],[0,43],[17,12]]
},
{
name : "Decagon",
coords : [[50,0],[80,10],[100,35],[100,70],[80,90],[50,100],[20,90],[0,70],[0,35],[20,10]]
},
{
name : "Bevel",
coords : [[20,0],[80,0],[100,20],[100,80],[80,100],[20,100],[0,80],[0,20]]
},
{
name : "Rabbet",
coords : [[0,15],[15,15],[15,0],[85,0],[85,15],[100,15],[100,85],[85,85],[85,100],[15,100],[15,85],[0,85]]
},
{
name : "Left arrow",
coords : [[40,0],[40,20],[100,20],[100,80],[40,80],[40,100],[0,50]]
},
{
name : "Right arrow",
coords : [[0,20],[60,20],[60,0],[100,50],[60,100],[60,80],[0,80]]
},
{
name : "Left Point",
coords : [[25,0],[100,1],[100,100],[25,100],[0,50]]
},
{
name : "Right Point",
coords : [[0,0],[75,0],[100,50],[75,100],[0,100]]
},
{
name : "Left Chevron",
coords : [[100,0],[75,50],[100,100],[25,100],[0,50],[25,0]]
},
{
name : "Right Chevron",
coords : [[75,0],[100,50],[75,100],[0,100],[25,50],[0,0]]
},
{
name : "Star",
coords : [[50,0],[63,38],[100,38],[69,59],[82,100],[50,75],[18,100],[31,59],[0,38],[37,38]]
},
{
name : "Cross",
coords : [[10,25],[35,25],[35,0],[65,0],[65,25],[90,25],[90,50],[65,50],[65,100],[35,100],[35,50],[10,50]]
},
{
name : "Message",
coords : [[0,0],[100,0],[100,75],[75,75],[75,100],[50,75],[0,75]]
},
{
name : "Close",
coords : [[20,0],[0,20],[30,50],[0,80],[20,100],[50,70],[80,100],[100,80],[70,50],[100,20],[80,0],[50,30]]
},
{
name : "Frame",
coords : [[0,0],[0,100],[25,100],[25,25],[75,25],[75,75],[25,75],[25,100],[100,100],[100,0]]
}
],
"circle" : [{
name : "Circle",
radius : 50,
position : [50,50],
coords : [[100,50],[50,50]],
disabled : true
}],
"ellipse" : [{
name : "Ellipse",
radius : [25,40],
position : [50,50],
coords : [[50,50],[0,50],[0,50]],
disabled : false
}],
"inset" : [
{
name : "Inset",
coords : [5,20,15,10],
disabled : false
}
],
"custom" : [
{
name : "Custom Polygon",
coords : [[10,75],[10,25],[35,0],[100,10],[90,30],[50,30],[40,40],[40,60],[50,70],[90,70],[100,90],[35,100]],
disabled : false
}
]
};
$html = $("html");
$body = $("body");
$box = $("#box");
$side = $(".side");
$clipboard = $(".clipboard");
$handles = $(".handles");
$shapes = $(".shapes ul");
$functions = $(".functions");
$clip_path = $(".clip-path");
$unprefixed = $(".unprefixed");
$demo = $(".demo");
$codepen = $(".edit-in-codepen");
$inset_round = $("#inset_round");
$demo_width = $("#demo_width");
$demo_height = $("#demo_height");
var start = shape_array.polygon[0];
start_type = "polygon",
start_coords = start.coords,
start_name = start.name,
mobile_px_breakpoint = 800,
width = 280,
height = 280,
flickity = false,
grid = [0,0];
$(function() {
detectSupport();
sizes();
init();
// Reevaluates max width/height on window resize
$(window).resize(function() {
var old_width = width;
var old_height = height;
handleReposition(old_width, old_height);
sizes();
});
// Add/remove prefixes
// Classes determine if code block is displayed
$("#webkit").change(function() {
if($(this).is(":checked")) {
$(".webkit").addClass("show");
} else {
$(".webkit").removeClass("show");
}
finishCustomizing();
clipIt();
scrollTop();
});
// Toggle showing background outside clip-path
$('#shadowboard-toggle').change(function() {
if($(this).is(":checked")) {
$(".shadowboard").css("opacity", ".25");
} else {
$(".shadowboard").css("opacity", "0");
}
scrollTop();
});
// Resize width/height of the demo
$('input[type="number"]').change(function(){
var old_width = width;
var old_height = height;
width = $demo_width.val();
if($(window).width() < 800) {
var max_width = $(window).width() - 42;
} else {
var max_width = $(".demo-container").width() - 42;
}
var min_width = 100;
if(width > max_width) { width = max_width; }
if(width < min_width) { width = min_width; }
height = $demo_height.val();
if($(window).width() < 800) {
var max_height = $(window).height() - $("header").outerHeight() - 42;
} else {
var max_height = $(".demo-container").height() - 42;
}
var min_height = 100;
if(height > max_height) { height = max_height; }
if(height < min_height) { height = min_height; }
// Calculate new position for each handle
handleReposition(old_width, old_height);
// Resize the demo
$demo_width.val(width);
$demo_height.val(height);
sizes();
scrollTop();
});
// Change of radius value of inset shape
$(".inset-round").focus(function() {
var val = $(this).val();
if(val == "5% 20% 0 10%") { $(this).val(""); }
$(this).blur(function() {
var val = $(this).val();
if(val !== "") {
$(".round-value").text(' round ' + val);
} else {
$(".round-value").text("");
$(this).val("5% 20% 0 10%");
}
clipIt();
});
});
// Change clipboard background image
$(".backgrounds img").mousedown(function() {
var url = $(this).attr("src");
setCustomBackground(url);
});
// Change clipboard background to custom url
$("#custom_url").blur(function() {
var url = $(this).val();
if(url !== '') { setCustomBackground(url); }
});
// Edit in Codepen
$codepen.click(codePen);
});
// Detect browser support the sinful way...
function detectSupport() {
var browser = $.browser.name;
var version = $.browser.versionNumber;
if(browser == "chrome") {
var browser = "Chrome";
if(version < 24) {
$html.addClass("no-support");
}
}
if(browser == "safari") {
var browser = "Safari";
if(version < 7) {
$html.addClass("no-support");
}
}
if(browser == "opera") {
var browser = "Opera";
if(version < 15) {
$html.addClass("no-support");
}
}
if(browser == "mozilla") {
var browser = "Firefox";
$html.addClass("no-support");
}
if(browser == "msie") {
var browser = "Internet Explorer";
$html.addClass("no-support");
}
$(".your-browser").text(browser + ' ' + version);
}
function setCustomBackground(url) {
var style = '.shadowboard, .clipboard { background-image: url(' + url + '); }';
$("#custom_background").html(style);
// Scroll to top of page
scrollTop();
}
function scrollTop() {
// Only if we are on the small screen
if($(window).width() < mobile_px_breakpoint) {
$(window).scrollTop(0);
}
}
function init() {
console.log("init();");
type = start_type;
// Setup polygons
$.each(shape_array.polygon, function(i, shape){
paths = '';
$.each(shape.coords, function(i, coord){
type = "polygon";
var x = coord[0] + "%";
var y = coord[1] + "%";
var path = 'clip-path: polygon()';
var coord = '';
if(i == shape.coords.length - 1) {
// last coordinate to add, omits a comma at the end
paths += x + ' ' + y;
var clip_path = 'polygon(' + paths + ')';
appendFigure(clip_path, shape);
} else {
// loops through each coordinate and adds it to a list to add
paths += x + ' ' + y + ', ';
}
});
});
// Setup insets
$.each(shape_array.inset, function(i, shape){
type = "inset";
var top = shape.coords[0] + "%";
var right = shape.coords[1] + "%";
var bottom = shape.coords[2] + "%";
var left = shape.coords[3] + "%";
var clip_path = 'inset(' + top + ' ' + right + ' ' + bottom + ' ' + left + ')';
appendFigure(clip_path, shape);
});
// Setup custom
$.each(shape_array.custom, function(i, shape){
paths = '';
$.each(shape.coords, function(i, coord){
type = "custom";
var x = coord[0] + "%";
var y = coord[1] + "%";
var path = 'clip-path: polygon()';
var coord = '';
if(i == shape.coords.length - 1) {
// last coordinate to add, omits a comma at the end
paths += x + ' ' + y;
var clip_path = 'polygon(' + paths + ')';
appendFigure(clip_path, shape);
} else {
// loops through each coordinate and adds it to a list to add
paths += x + ' ' + y + ', ';
}
});
});
// Setup circles
$.each(shape_array.circle, function(i, shape){
type = "circle";
var radius = shape.radius + "%";
var x_pos = shape.position[0] + "%";
var y_pos = shape.position[1] + "%";
var clip_path = 'circle(' + radius + ' at ' + x_pos + ' ' + y_pos + ')';
appendFigure(clip_path, shape);
});
// Setup ellipses
$.each(shape_array.ellipse, function(i, shape){
type = "ellipse";
var radius_x = shape.radius[0] + "%";
var radius_y = shape.radius[1] + "%";
var x_pos = shape.position[0] + "%";
var y_pos = shape.position[1] + "%";
var clip_path = 'ellipse(' + radius_x + ' ' + radius_y + ' at ' + x_pos + ' ' + y_pos + ')';
appendFigure(clip_path, shape);
});
type = start_type;
setupDemo(start_coords);
}
function appendFigure(clip_path, shape) {
// Add all the buttons to the .shapes container
// considering using some other element other than figure for buttons to be more semantic...
var webkit = '';
var unprefixed = 'clip-path: ' + clip_path;
// Disable the element if we are not ready for it to be enabled
if(shape.disabled == true) {
var disabled = 'class="disabled" ';
} else { var disabled = ""; }
if($(".webkit.block").hasClass("show")) {
var webkit = '-webkit-clip-path: ' + clip_path + ';';
}
if(type == "polygon") {
var fig = '<figure class="gallery-cell" ' + disabled + 'data-name="' + shape.name + '" data-type="polygon" data-coords="' + shape.coords.join(" ") + '">'
+ '<div style="' + webkit + ' ' + ' ' + unprefixed + '" class="shape ' + shape.name + '"></div>'
+ '<figcaption>' + shape.name + '</figcaption>'
+ '</figure>';
}
if(type == "custom") {
var fig = '<figure class="gallery-cell" ' + disabled + 'data-name="' + shape.name + '" data-type="custom" data-coords="' + shape.coords.join(" ") + '">'
+ '<div style="' + webkit + ' ' + ' ' + unprefixed + '" class="shape ' + shape.name + '"></div>'
+ '<figcaption>' + shape.name + '</figcaption>'
+ '</figure>';
}
if(type == "inset") {
var fig = '<figure class="gallery-cell" ' + disabled + 'data-name="' + shape.name + '" data-type="inset" data-coords="' + shape.coords.join(" ") + '">'
+ '<div style="' + webkit + ' ' + ' ' + unprefixed + '" class="shape ' + shape.name + '"></div>'
+ '<figcaption>' + shape.name + '</figcaption>'
+ '</figure>';
}
if(type == "circle") {
var fig = '<figure class="gallery-cell" ' + disabled + 'data-name="Circle" data-type="circle">'
+ '<div style="' + webkit + ' ' + ' ' + unprefixed + '" class="shape ' + shape.name + '"></div>'
+ '<figcaption>' + shape.name + '</figcaption>'
+ '</figure>';
}
if(type == "ellipse") {
var fig = '<figure class="gallery-cell" ' + disabled + 'data-name="Ellipse" data-type="ellipse">'
+ '<div style="' + webkit + ' ' + ' ' + unprefixed + '" class="shape ' + shape.name + '"></div>'
+ '<figcaption>' + shape.name + '</figcaption>'
+ '</figure>';
}
console.log("appendFigure();");
$shapes.append(fig);
// Add .on class to the figure we are starting with
$('[data-name="' + start.name + '"]').addClass("on");
// listen for clicks on the figure buttons
$("figure:not(.disabled)").unbind().click(function() {
$("figure").removeClass("on");
$(this).addClass("on");
type = $(this).attr("data-type");
if(type == "inset") {
var shape = shape_array.inset[0];
start_coords = shape.coords;
setupDemo(shape.coords);
}
if(type == "custom") {
setupDemo();
}
if(type == "circle") {
var shape = shape_array.circle[0];
setupDemo(shape.coords);
}
if(type == "ellipse") {
var shape = shape_array.ellipse[0];
setupDemo(shape.coords);
}
if(type == "polygon") {
new_shape = [];
// Coords at stored with data-coords attribute and turned into array
var coords = $(this).attr("data-coords").split(" ");
var coords = $.each(coords, function(i, coordinate){
var coordinate = coordinate.split(",");
new_shape.push(coordinate);
if(i == coords.length - 1) {
start_coords = new_shape;
setupDemo(start_coords);
}
});
}
});
}
function setupDemo(coords) {
console.log("setupDemo();");
clearDemo();
start_flickity();
if(type == "custom") {
// Prepare for customizing
$html.addClass("customizing start-customizing customizing-no-poly");
$handles.empty();
$functions.html('polygon(<span class="function"></span>)');
// Close customization if finish button is clicked
$('.finish').click(function() {
finishCustomizing();
readyDrag();
});
clipIt();
var i = 0;
$demo.click(function(e) {
i++;
// Get where on demo the click is
var offset = $(this).offset();
var x_px = e.pageX - offset.left - 10;
var y_px = e.pageY - offset.top - 10;
// Keep clicks in bounds
if(x_px < 0) { var x_px = 0; }
if(x_px > width) { var x_px = width; }
if(y_px < 0) { var y_px = 0; }
if(y_px > height) { var y_px = height; }
// Convert px to % coordinates
var code_x = Math.round((x_px/width) * 100) + "%";
var code_y = Math.round((y_px/height) * 100) + "%";
// Add the handle
$handles.append('<div class="handle" data-handle="' + i + '" style="top: ' + y_px + 'px; left: ' + x_px + 'px;"></div>')
// Add css point and detect if comma is necessary
var $functions = $(".function", $functions);
if(i > 1) {
// comma
$functions.append(', <code class="point" data-point="' + i + '">' + code_x + ' ' + code_y + '</code>');
} else {
// no comma
$functions.append('<code class="point" data-point="' + i + '">' + code_x + ' ' + code_y + '</code>');
$html.removeClass("start-customizing");
}
if(i > 2) {
// We have at least 3 points and a polygon
// Tell the person the name of the shape they made for fun
var shapes = ["triangle","quadrilateral","pentagon","hexagon","heptagon","octagon","nonagon","decagon","hendecagon","dodecagon","tridecagon","tetradecagon","pentadecagon","hexadecagon","heptadecagon","octadecagon","nonadecagon","icosagon","icosagon","icosikaihenagon","icosikaidigon","icosikaitrigon","icosikaitetragon","icosikaipentagon","icosikaihexagon","icosikaiheptagon","icosikaioctagon","icosikaienneagon","triacontagon","triacontakaihenagon","triacontakaidigon","triacontakaitrigon","triacontakaitetragon","triacontakaipentagon",
"triacontakaihexagon","triacontakaiheptagon","triacontakaioctagon","triacontakaienneagon","tetracontagon","tetracontakaihenagon","tetracontakaidigon","tetracontakaitrigon","tetracontakaitetragon","tetracontakaipentagon","tetracontakaihexagon","tetracontakaiheptagon","tetracontakaioctagon","tetracontakaienneagon","pentacontagon","pentacontakaihenagon","pentacontakaidigon","pentacontakaitrigon","pentacontakaitetragon","pentacontakaipentagon","pentacontakaihexagon","pentacontakaiheptagon","pentacontakaioctagon",
"pentacontakaienneagon","hexacontagon","hexacontakaihenagon","hexacontakaidigon","hexacontakaitrigon","hexacontakaitetragon","hexacontakaipentagon","hexacontakaihexagon","hexacontakaiheptagon","hexacontakaioctagon","hexacontakaienneagon","heptacontagon","heptacontakaihenagon","heptacontakaidigon","heptacontakaitrigon","heptacontakaitetragon","heptacontakaipentagon","heptacontakaihexagon","heptacontakaiheptagon","heptacontakaioctagon","heptacontakaienneagon","octacontagon","octacontakaihenagon","octacontakaidigon",
"octacontakaitrigon","octacontakaitetragon","octacontakaipentagon","octacontakaihexagon","octacontakaiheptagon","octacontakaioctagon","octacontakaienneagon","enneacontagon","enneacontakaihenagon","enneacontakaidigon","enneacontakaitrigon","enneacontakaitetragon","enneacontakaipentagon","enneacontakaihexagon","enneacontakaiheptagon","enneacontakaioctagon","enneacontakaienneagon","hectogon"];
$(".finish").attr("data-shape", shapes[i - 3]);
$html.removeClass("customizing-no-poly");
clipIt();
// End adding new points if first handle is clicked
$('[data-handle="1"]').click(function() {
finishCustomizing();
readyDrag();
});
}
});
} else {
finishCustomizing();
// Run through each coordinate for polygons, circles, ellipses, and inset
$.each(coords, function(i, coord){
var x = coord[0];
var y = coord[1];
// Add unit to % coordinates
var code_x = x + "%";
var code_y = y + "%";
// Convert % to px coordinates
var x_px = Math.round((x/100) * width);
var y_px = Math.round((y/100) * height);
console.log("type: " + type);
// Setup Circle demo
if(type == "circle") {
// Grab preset values
var shape = shape_array.circle[0];
var radius = shape.radius; // For 1:1 ratio
// Adjust radius handle to edge of circle if ratio is not 1:1
if(width !== height) {
var radius_x_px = width * getRadiusModifier();
} else {
var radius_x_px = width;
}
// Setup radius handle
if(i == 0) { $handles.append('<div class="radius handle" data-handle="' + i + '" style="top: ' + y_px + 'px; left: ' + radius_x_px + 'px;"></div>') }
// Setup center position handle
if(i == 1) { $handles.append('<div class="position handle" data-handle="' + i + '" style="top: ' + y_px + 'px; left: ' + x_px + 'px;"></div>') }
var position_x = shape.position[0];
var position_y = shape.position[1];
// Add % units to preset values
var radius = radius + "%";
var position_x = position_x + "%";
var position_y = position_y + "%";
if(i == coords.length - 1) {
var radius = '<code class="point radius" data-point="0">' + radius + '</code>';
var position = '<code class="point position" data-point="1">' + position_x + ' ' + position_y + '</code>';
var clip_path_function = 'circle(' + radius + ' at ' + position + ')';
$functions.append(clip_path_function);
clipIt();
readyDrag();
}
}
// Setup ellipse demo
if(type == "ellipse") {
// Grab preset values
var shape = shape_array.ellipse[0];
var position = shape.position;
var position_x_px = (position[0]/100) * width;
var position_y_px = (position[1]/100) * height;
var radius = shape.radius;
var radius_x_px = (1 - radius[0]/100) * width;
var radius_y_px = (radius[1]/2/100) * height/2;
// Setup ellipse radius handles
if(i == 0) { $handles.append('<div class="radius_x handle" data-handle="' + i + '" style="top: ' + y_px + 'px; left: ' + radius_x_px + 'px;"></div>') }
if(i == 1) { $handles.append('<div class="radius_y handle" data-handle="' + i + '" style="top: ' + radius_y_px + 'px; left: ' + position_x_px + 'px;"></div>') }
// Setup center position handle
if(i == 2) { $handles.append('<div class="position handle" data-handle="' + i + '" style="top: ' + position_y_px + 'px; left: ' + position_x_px + 'px;"></div>') }
// Add % units to preset values
var radius_x = radius[0] + "%";
var radius_y = radius[1] + "%";
var position_x = shape.position[0] + "%";
var position_y = shape.position[1] + "%";
if(i == coords.length - 1) {
var radius_x = '<code class="point radius" data-point="0">' + radius_x + '</code>';
var radius_y = '<code class="point radius" data-point="1">' + radius_y + '</code>';
var position = '<code class="point position" data-point="2">' + position_x + ' ' + position_y + '</code>';
var clip_path_function = 'ellipse(' + radius_x + ' ' + radius_y + ' at ' + position + ')';
$functions.append(clip_path_function);
clipIt();
readyDrag();
}
}
if(type == "polygon") {
$handles.append('<div class="handle" data-handle="' + i + '" style="top: ' + y_px + 'px; left: ' + x_px + 'px;"></div>')
if(i == coords.length - 1) {
$functions.append('<code class="point" data-point="' + i + '">' + code_x + ' ' + code_y + '</code>')
$functions.prepend("polygon(").append(")");
clipIt();
readyDrag();
} else {
$functions.append('<code class="point" data-point="' + i + '">' + code_x + ' ' + code_y + '</code>, ');
}
}
if(type == "inset") {
$html.addClass("insetting");
if(i == coords.length - 1) {
$handles.append('<div class="handle top horizontal bar" data-handle="0"></div>');
$handles.append('<div class="handle right vertical bar" data-handle="1"></div>');
$handles.append('<div class="handle bottom horizontal bar" data-handle="2"></div>');
$handles.append('<div class="handle left vertical bar" data-handle="3"></div>');
$unprefixed.attr("data-coords", coords[0] + ' ' + coords[1] + ' ' + coords[2] + ' ' + coords[3]);
setHandleBars();
var top_point = '<code class="point" data-point="0">' + coords[0] + '%</code> ';
var right_point = '<code class="point" data-point="1">' + coords[1] + '%</code> ';
var bottom_point = '<code class="point" data-point="2">' + coords[2] + '%</code> ';
var left_point = '<code class="point" data-point="3">' + coords[3] + '%</code>';
var clip_path_function = 'inset(' + top_point + right_point + bottom_point + left_point + '<span class="round-value"></span>)';
$functions.append(clip_path_function);
clipIt();
readyDrag();
}
}
});
}
}
function start_flickity() {
if(flickity == false){
console.log("start_flickity();");
// Enable nice dragging on mobile
$(".shapes.horizontal").flickity({
cellAlign: 'left',
freeScroll: true,
prevNextButtons: false,
percentPosition: false,
pageDots: false,
contain: true
});
}
}
function finishCustomizing() {
// Reset from customizing option
$html.removeClass("customizing start-customizing customizing-no-poly");
$(".finish").removeAttr("data-shape");
$demo.unbind("click");
}
function getRadiusModifier() {
// For putting radius handler on edge of circle
// Formula for percentage radius is sqrt(width^2 + height^2) / sqrt(2);
// Returns a decimal value from 0 to 1
var radius_modifier = (width/2 + (Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)) / Math.sqrt(2))/2) / width;
return radius_modifier;
}
// Set side handles for inset shape
function setHandleBars(bar) {
var coords = $unprefixed.attr("data-coords").split(" ");
var top = coords[0];
var right = coords[1];
var bottom = coords[2];
var left = coords[3];
var top_px = Math.round((top/100) * height);
var right_px = Math.round((1 - (right/100)) * width);
var bottom_px = Math.round((1 - (bottom/100)) * height);
var left_px = Math.round((left/100) * width);
var padding = 20;
var bar_width = right_px - left_px - padding * 2;
var bar_height = bottom_px - top_px - padding * 2;
var x_center = (right_px + left_px)/2;
var y_center = (top_px + bottom_px)/2;
if(bar !== "top") {
$(".top.bar").css("top", top_px).css("left", x_center);
}
if(bar !== "right") {
$(".right.bar").css("top", y_center).css("left", right_px);
}
if(bar !== "bottom") {
$(".bottom.bar").css("top", bottom_px).css("left", x_center);
}
if(bar !== "left") {
$(".left.bar").css("top", y_center).css("left", left_px);
}
}
function readyDrag() {
// Utilizes the awesome draggabilly.js by Dave Desandro
// Works well on touch devices
console.log("readyDrag();");
var box = document.querySelector("#box");
var handles = box.querySelectorAll(".handle");
var $functions = $(".functions");
// Remove handle and point option
if(type == "polygon" || type == "custom") {
$(".handle").html('<div class="delete-point"></div>');
$(".handle").mousedown(function() {
var count = $(".handle").length;
// If we have at least a triangle it's okay to remove a point
if(count > 3) {
var $this = $(this);
var point = $(this).attr("data-handle");
$(".handle").removeClass("show-delete");
$this.addClass("show-delete");
$(".delete-point", $this).mousedown(function() {
// Get rid of the handle and point
$this.remove();
$('[data-point="' + point + '"]').remove();
// Removing the trailing commas, this is pretty hacky but it would be a lot of work to do it the right way
var functions_html = $(".functions").html();
var fixed_html = functions_html.replace("(, ", "(").replace(", , ", ", ").replace(", )", ")");
$(".functions").html(fixed_html);
clipIt();
});
$this.mouseup(function() {
setTimeout(function() {
$this.removeClass("show-delete");
}, 3000);
});
}
});
}
// If we have a circle, custom, or polygon setup draggibilly normally
if(type == "circle" || type == "polygon" || type == "custom") {
// We have already appended handles, now we will attach draggabilly to each of them
for ( var i = 0, len = handles.length; i < len; i++ ) {
var handle = handles[i];
new Draggabilly(handle, {
containment: true,
grid: grid
}).on("dragStart", function(instance, e, pointer) {
i = instance.element.dataset.handle;
// .changing triggers the bubble burst animation
$point = $('[data-point="' + i + '"]');
$point.addClass("changing");
// If we are changing a circle we are working a little differently than with polygon
if(type == "circle") {
special = instance.element.classList[0];
modifier = getRadiusModifier();
$position = $(".position.handle");
position_pos_x = $position.position().left;
position_pos_y = $position.position().top;
$radius = $(".radius.handle");
radius_pos_x = $radius.position().left;
radius_pos_y = $radius.position().top;
var max = Math.max(width, height);
var min = Math.min(width, height);
max = Math.max(width, height);
startRadius = getRadius(radius_pos_x, position_pos_x, radius_pos_y, position_pos_y) /100;
}
}).on("dragMove", function(instance, e, pointer) {
// Returns current position of the dragging handle
var x = instance.position.x;
var y = instance.position.y;
if(type == "circle") {
// Dragging the center position handle
if(special == "position") {
// calculate distance from center center of demo
var x_delta = width/2 - x;
var y_delta = height/2 - y;
var max = Math.max(width, height);
// Calculate the bestest position on the edge of the circle for the radius handle
// I don't know how the heck this works but it does,
// Should've spent more time studying in high school...
var angle = Math.atan2(y_delta, x_delta);
var handle_x = (Math.cos(angle) * startRadius * max) + x;
if(handle_x < 0) { var handle_x = 0; }
if(handle_x > width) { var handle_x = width; }
var handle_y = (Math.sin(angle) * startRadius * max) + y;
if(handle_y < 0) { var handle_y = 0; }
if(handle_y > height) { var handle_y = height; }
var radius_position = 'left:' + handle_x + 'px; top:' + handle_y + 'px';
$radius.attr("style", radius_position);
setPoint(x, y);
}
// Dragging the radius handle on the edge of the circle
if(special == "radius") {
// Calculate the new radius
var radius = getRadius(x, position_pos_x, y, position_pos_y);
//
//
// BUGGY!
//
// This is messed up if ratio is not 1:1
var radius = radius + '%';
$point.text(radius);
}
}
// Dragging a polygon handle, easy...
if(type == "polygon" || type == "custom") {
setPoint(x, y);
}
clipIt();
}).on("dragEnd", function(instance) {
// Remove all the bubble animations
$(".point").removeClass("changing");
});
}
}
// Drag ellipse radius handles in only x or y direction
if(type == "ellipse") {
// We have already appended handles, now we will attach draggabilly to each of them
for ( var i = 0, len = handles.length; i < len; i++ ) {
var handle = handles[i];
// Restrict dragging if necessary
// bar == "radius_x", "radius_y", "position"
var bar = handle.classList[0];
if(bar == "radius_x") { var axis = "x"; }
if(bar == "radius_y") { var axis = "y"; }
if(bar == "position") { var axis = ""; }
var draggie = new Draggabilly(handle, {
containment: true,
grid: grid,
axis: axis
}).on("dragStart", function(instance, e, pointer) {
i = instance.element.dataset.handle;
bar = instance.element.classList[0];
// .changing triggers the bubble burst animation
$point = $('[data-point="' + i + '"]');
$point.addClass("changing");
$position = $(".position");
$radius_x = $(".radius_x");
$radius_y = $(".radius_y");
start_x_px = instance.position.x;
start_y_px = instance.position.y;
start_pos_x = $position.position().left;
start_pos_x_pct = (start_pos_x * 100)/width;
start_pos_y = $position.position().top;
start_pos_y_pct = (start_pos_y * 100)/height;
if(bar == "position") {
start_radius_x_px = [$radius_x.position().left, $radius_x.position().top];
start_radius_y_px = [$radius_y.position().left, $radius_y.position().top];
var radius_x_point = $('.unprefixed [data-point="0"]').text();
radius_x_pct = parseInt(radius_x_point.replace('%',''));
var radius_y_point = $('.unprefixed [data-point="1"]').text();
radius_y_pct = parseInt(radius_y_point.replace('%',''));
var position_point = $('.unprefixed [data-point="2"]').text();
var position_pct_array = position_point.replace('%','').split(" ");
var position_x_pct = parseInt(position_pct_array[0]);
var position_y_pct = parseInt(position_pct_array[1]);
}
}).on("dragMove", function(instance, e, pointer) {
// Handle position
var x = instance.position.x;
var y = instance.position.y;
// snap to edges
var snap = 1;
if(bar == "radius_x") {
// Set % from center center position as absolute number
var x_pct = Math.floor(Math.abs(start_pos_x - x) / width * 100);
var x_pct = x_pct + "%";
$point.text(x_pct);
}
if(bar == "radius_y") {
// Set % from center center position as absolute number
var y_pct = Math.floor(Math.abs(start_pos_y - y) / height * 100);
var y_pct = y_pct + "%";
$point.text(y_pct);
}
if(bar == "position") {
var move_x = start_x_px - x;
var move_y = start_y_px - y;
// Set new positions of radius handles
var move_radius_x_x_px = (start_radius_x_px[0] - move_x);
var move_radius_x_y_px = (start_radius_x_px[1] - move_y);
var move_radius_y_x_px = (start_radius_y_px[0] - move_x);
var move_radius_y_y_px = (start_radius_y_px[1] - move_y);
// Prevent handle overflow
var alt_x_px = x - ((radius_x_pct/100) * width);
var alt_y_px = y + ((radius_y_pct/100) * height);
console.log("alt_x_px" + alt_x_px);
console.log("alt_y_px" + alt_y_px);
if(move_radius_x_x_px > width && (alt_x_px > 0)) {
var move_radius_x_x_px = alt_x_px;
}
if(move_radius_x_x_px > width) {
var move_radius_x_x_px = width;
}
/*
if(move_radius_y_y_px < 0 && (alt_y_px < height)) {
var move_radius_y_y_px = alt_y_px;
var move_radius_y_y_px = move_radius_y_y_px;
}
if(move_radius_y_y_px < 0) {
var move_radius_y_y_px = 0;
var move_radius_y_y_px = move_radius_y_y_px;
}
*/
// Move the handles
$radius_x.css({
"left" : move_radius_x_x_px + "px",
"top" : move_radius_x_y_px + "px"
});
$radius_y.css({
"left" : move_radius_y_x_px + "px",
"top" : move_radius_y_y_px + "px"
});
// Set position of position handle
var x_pct = Math.floor(x / width*100) + "%";
var y_pct = Math.floor(y / height*100) + "%";
$point.text(x_pct + ' ' + y_pct);
}
clipIt();
}).on("dragEnd", function(instance, e, pointer) {
// Remove all the bubble animations
$(".point").removeClass("changing");
});
}
}
// We need to use a different draggabilly setup to drag size elements in only x or only y direction
if(type == "inset") {
// We have already appended handles, now we will attach draggabilly to each of them
for ( var i = 0, len = handles.length; i < len; i++ ) {
var handle = handles[i];
// bar == "top", "right", "bottom", or "left"
var bar = handle.classList[1];
if(bar == "left" || bar == "right") { axis = "x"; }
if(bar == "top" || bar == "bottom") { axis = "y"; }
var draggie = new Draggabilly(handle, {
containment: true,
grid: grid,
axis: axis
}).on("dragStart", function(instance, e, pointer) {
i = instance.element.dataset.handle;
bar = instance.element.classList[1];
// We have to do this again for some reason, look to remove in the future
if(bar == "left" || bar == "right") { axis = "x"; }
if(bar == "top" || bar == "bottom") { axis = "y"; }
// .changing triggers the bubble burst animation
$point = $('[data-point="' + i + '"]');
$point.addClass("changing");
}).on("dragMove", function(instance, e, pointer) {
// Handle position
var x = instance.position.x;
var y = instance.position.y;
// snap to edges
var snap = 1;
var x = (x/width * 100).toFixed(0);
if(x < snap) { var x = 0; }
if(x > (100 - snap)) { var x = 100; }
var y = (y/height * 100).toFixed(0);
if(y < snap) { var y = 0; }
if(y > (100 - snap)) { var y = 100; }
// inset() uses absolute numbers from edges
if(bar == "right") { var x = Math.abs(100 - x); }
if(bar == "bottom") { var y = Math.abs(100 - y); }
// Hacky way to get and store the current coordinates displayed in CSS
var coords = $unprefixed.text().match(/inset(.*?)\)/g).toString();
var coords = coords.replace("inset(", "").replace(")","").replace(/%/g, "");
$unprefixed.attr("data-coords", coords);
/*
// Use only two or one shape argument if possible
var coords = coords.split(" ");
if(coords[0] == coords[2] && coords[1] == coords[3]) {
$clip_path.addClass("two-match");
} else {
$clip_path.removeClass("two-match");
}
if(coords[0] == coords[1] == coords[2] == coords[3]) {
$clip_path.addClass("four-match");
} else {
$clip_path.removeClass("four-match");
}
*/
// Add % if number is not zero
if(x !== 0) { var x = x + "%"; }
if(y !== 0) { var y = y + "%"; }
if(axis == "x") { $point.text(x); }
if(axis == "y") { $point.text(y); }
setHandleBars(bar);
clipIt();
}).on("dragEnd", function(instance, e, pointer) {
// Remove all the bubble animations
$(".point").removeClass("changing");
});
}
}
}
function getRadius(x2, x, y2, y) {
// More fun geometry from high school
var distance = Math.sqrt(Math.pow(x2 - x, 2) + Math.pow(y2 - y, 2));
var radius = ((distance/width) * 100).toFixed(1);
return radius;
}
function setPoint(x, y) {
// Changes the coordinates of a single point in the code block
// Snap to the edges of demo
// Consider using something like this instead of draggabilly's built-in grid[]
var snap = 1;
var x = (x/width * 100).toFixed(0);
if(x < snap) { var x = 0; }
if(x > (100 - snap)) { var x = 100; }
var y = (y/height * 100).toFixed(0);
if(y < snap) { var y = 0; }
if(y > (100 - snap)) { var y = 100; }
// Add % if number is not zero
if(x !== 0) { var x = x + "%"; }
if(y !== 0) { var y = y + "%"; }
$point.text(x + ' ' + y);
}
// Reset the demo
function clearDemo() {
console.log("clearDemo();");
// Reset from inset function
$html.removeClass("insetting");
$(".inset-round").val("5% 20% 0 10%");
// Empty the demo
$handles.empty();
$functions.empty();
}
// Get the code in the code blocks and set the style inline on the clipboard
function clipIt() {
var clip_path = $(".show.block").text();
console.log(clip_path);
$clipboard.attr('style', clip_path);
}
// If the demo area's size is changed we need to reposition each handle
function handleReposition(old_width, old_height) {
$(".handle").each(function() {
var x_pct = parseInt($(this).css("left")) / old_width;
var y_pct = parseInt($(this).css("top")) / old_height;
var new_x = x_pct * width + "px";
var new_y = y_pct * height + "px";
// Reposition each handle
$(this).css({
"left" : new_x,
"top" : new_y
});
});
}
// Resize the demo box
function sizes() {
console.log("sizes();");
// Adjust for 10px padding on each side because of the handles
var adjusted_width = parseInt(width) + 20;
var adjusted_height = parseInt(height) + 20;
$demo_width.val(width);
$demo_height.val(height);
$box.css({
"width" : adjusted_width,
"height" : adjusted_height
});
}
// Edit in Codepen
function codePen() {
var clip = $(".clip-path .show").text();
var clip = clip.split(";").join(";\n");
var width = $demo_width = $("#demo_width").val();
var height = $demo_height = $("#demo_height").val();
var CSS = 'div {\n'
+ '\twidth: ' + width + 'px;\n'
+ '\theight: ' + height + 'px;\n'
+ '\tbackground: #1e90ff;\n'
+ '\t' + clip
+ '}\n'
+ '\n'
+ '/* Center the demo */\n'
+ 'html, body { height: 100%; }\n'
+ 'body {\n'
+ '\tdisplay: flex;\n'
+ '\tjustify-content: center;\n'
+ '\talign-items: center;\n'
+ '}';
var data = {
html : "<div></div>",
css : CSS,
css_pre_processor : "none",
css_prefix : "autoprefixer",
css_starter : "reset",
};
var JSONstring = JSON.stringify(data).replace(/"/g, """).replace(/'/g, "'");
var $form = $('<form action="http://codepen.io/pen/define" method="POST" target="_blank">'
+ '<input type="hidden" name="data" value=\'' + JSONstring + '\'>'
+ '</form>');
$form.submit();
}
/*!
* Draggabilly PACKAGED v1.1.0
* Make that shiz draggable
* http://draggabilly.desandro.com
* MIT license
*/
/*!
* classie - class helper functions
* from bonzo https://github.com/ded/bonzo
*
* classie.has( elem, 'my-class' ) -> true/false
* classie.add( elem, 'my-new-class' )
* classie.remove( elem, 'my-unwanted-class' )
* classie.toggle( elem, 'my-class' )
*/
/*jshint browser: true, strict: true, undef: true */
/*global define: false */
( function( window ) {
// class helper functions from bonzo https://github.com/ded/bonzo
function classReg( className ) {
return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
}
// classList support for class management
// altho to be fair, the api sucks because it won't accept multiple classes at once
var hasClass, addClass, removeClass;
if ( 'classList' in document.documentElement ) {
hasClass = function( elem, c ) {
return elem.classList.contains( c );
};
addClass = function( elem, c ) {
elem.classList.add( c );
};
removeClass = function( elem, c ) {
elem.classList.remove( c );
};
}
else {
hasClass = function( elem, c ) {
return classReg( c ).test( elem.className );
};
addClass = function( elem, c ) {
if ( !hasClass( elem, c ) ) {
elem.className = elem.className + ' ' + c;
}
};
removeClass = function( elem, c ) {
elem.className = elem.className.replace( classReg( c ), ' ' );
};
}
function toggleClass( elem, c ) {
var fn = hasClass( elem, c ) ? removeClass : addClass;
fn( elem, c );
}
var classie = {
// full names
hasClass: hasClass,
addClass: addClass,
removeClass: removeClass,
toggleClass: toggleClass,
// short names
has: hasClass,
add: addClass,
remove: removeClass,
toggle: toggleClass
};
// transport
if ( typeof define === 'function' && define.amd ) {
// AMD
define( 'classie/classie',classie );
} else {
// browser global
window.classie = classie;
}
})( window );
/*!
* EventEmitter v4.2.7 - git.io/ee
* Oliver Caldwell
* MIT license
* @preserve
*/
(function () {
/**
* Class for managing events.
* Can be extended to provide event functionality in other classes.
*
* @class EventEmitter Manages event registering and emitting.
*/
function EventEmitter() {}
// Shortcuts to improve speed and size
var proto = EventEmitter.prototype;
var exports = this;
var originalGlobalValue = exports.EventEmitter;
/**
* Finds the index of the listener for the event in it's storage array.
*
* @param {Function[]} listeners Array of listeners to search through.
* @param {Function} listener Method to look for.
* @return {Number} Index of the specified listener, -1 if not found
* @api private
*/
function indexOfListener(listeners, listener) {
var i = listeners.length;
while (i--) {
if (listeners[i].listener === listener) {
return i;
}
}
return -1;
}
/**
* Alias a method while keeping the context correct, to allow for overwriting of target method.
*
* @param {String} name The name of the target method.
* @return {Function} The aliased method
* @api private
*/
function alias(name) {
return function aliasClosure() {
return this[name].apply(this, arguments);
};
}
/**
* Returns the listener array for the specified event.
* Will initialise the event object and listener arrays if required.
* Will return an object if you use a regex search. The object contains keys for each matched event. So /ba[rz]/ might return an object containing bar and baz. But only if you have either defined them with defineEvent or added some listeners to them.
* Each property in the object response is an array of listener functions.
*
* @param {String|RegExp} evt Name of the event to return the listeners from.
* @return {Function[]|Object} All listener functions for the event.
*/
proto.getListeners = function getListeners(evt) {
var events = this._getEvents();
var response;
var key;
// Return a concatenated array of all matching events if
// the selector is a regular expression.
if (evt instanceof RegExp) {
response = {};
for (key in events) {
if (events.hasOwnProperty(key) && evt.test(key)) {
response[key] = events[key];
}
}
}
else {
response = events[evt] || (events[evt] = []);
}
return response;
};
/**
* Takes a list of listener objects and flattens it into a list of listener functions.
*
* @param {Object[]} listeners Raw listener objects.
* @return {Function[]} Just the listener functions.
*/
proto.flattenListeners = function flattenListeners(listeners) {
var flatListeners = [];
var i;
for (i = 0; i < listeners.length; i += 1) {
flatListeners.push(listeners[i].listener);
}
return flatListeners;
};
/**
* Fetches the requested listeners via getListeners but will always return the results inside an object. This is mainly for internal use but others may find it useful.
*
* @param {String|RegExp} evt Name of the event to return the listeners from.
* @return {Object} All listener functions for an event in an object.
*/
proto.getListenersAsObject = function getListenersAsObject(evt) {
var listeners = this.getListeners(evt);
var response;
if (listeners instanceof Array) {
response = {};
response[evt] = listeners;
}
return response || listeners;
};
/**
* Adds a listener function to the specified event.
* The listener will not be added if it is a duplicate.
* If the listener returns true then it will be removed after it is called.
* If you pass a regular expression as the event name then the listener will be added to all events that match it.
*
* @param {String|RegExp} evt Name of the event to attach the listener to.
* @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.addListener = function addListener(evt, listener) {
var listeners = this.getListenersAsObject(evt);
var listenerIsWrapped = typeof listener === 'object';
var key;
for (key in listeners) {
if (listeners.hasOwnProperty(key) && indexOfListener(listeners[key], listener) === -1) {
listeners[key].push(listenerIsWrapped ? listener : {
listener: listener,
once: false
});
}
}
return this;
};
/**
* Alias of addListener
*/
proto.on = alias('addListener');
/**
* Semi-alias of addListener. It will add a listener that will be
* automatically removed after it's first execution.
*
* @param {String|RegExp} evt Name of the event to attach the listener to.
* @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.addOnceListener = function addOnceListener(evt, listener) {
return this.addListener(evt, {
listener: listener,
once: true
});
};
/**
* Alias of addOnceListener.
*/
proto.once = alias('addOnceListener');
/**
* Defines an event name. This is required if you want to use a regex to add a listener to multiple events at once. If you don't do this then how do you expect it to know what event to add to? Should it just add to every possible match for a regex? No. That is scary and bad.
* You need to tell it what event names should be matched by a regex.
*
* @param {String} evt Name of the event to create.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.defineEvent = function defineEvent(evt) {
this.getListeners(evt);
return this;
};
/**
* Uses defineEvent to define multiple events.
*
* @param {String[]} evts An array of event names to define.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.defineEvents = function defineEvents(evts) {
for (var i = 0; i < evts.length; i += 1) {
this.defineEvent(evts[i]);
}
return this;
};
/**
* Removes a listener function from the specified event.
* When passed a regular expression as the event name, it will remove the listener from all events that match it.
*
* @param {String|RegExp} evt Name of the event to remove the listener from.
* @param {Function} listener Method to remove from the event.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.removeListener = function removeListener(evt, listener) {
var listeners = this.getListenersAsObject(evt);
var index;
var key;
for (key in listeners) {
if (listeners.hasOwnProperty(key)) {
index = indexOfListener(listeners[key], listener);
if (index !== -1) {
listeners[key].splice(index, 1);
}
}
}
return this;
};
/**
* Alias of removeListener
*/
proto.off = alias('removeListener');
/**
* Adds listeners in bulk using the manipulateListeners method.
* If you pass an object as the second argument you can add to multiple events at once. The object should contain key value pairs of events and listeners or listener arrays. You can also pass it an event name and an array of listeners to be added.
* You can also pass it a regular expression to add the array of listeners to all events that match it.
* Yeah, this function does quite a bit. That's probably a bad thing.
*
* @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add to multiple events at once.
* @param {Function[]} [listeners] An optional array of listener functions to add.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.addListeners = function addListeners(evt, listeners) {
// Pass through to manipulateListeners
return this.manipulateListeners(false, evt, listeners);
};
/**
* Removes listeners in bulk using the manipulateListeners method.
* If you pass an object as the second argument you can remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.
* You can also pass it an event name and an array of listeners to be removed.
* You can also pass it a regular expression to remove the listeners from all events that match it.
*
* @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to remove from multiple events at once.
* @param {Function[]} [listeners] An optional array of listener functions to remove.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.removeListeners = function removeListeners(evt, listeners) {
// Pass through to manipulateListeners
return this.manipulateListeners(true, evt, listeners);
};
/**
* Edits listeners in bulk. The addListeners and removeListeners methods both use this to do their job. You should really use those instead, this is a little lower level.
* The first argument will determine if the listeners are removed (true) or added (false).
* If you pass an object as the second argument you can add/remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.
* You can also pass it an event name and an array of listeners to be added/removed.
* You can also pass it a regular expression to manipulate the listeners of all events that match it.
*
* @param {Boolean} remove True if you want to remove listeners, false if you want to add.
* @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add/remove from multiple events at once.
* @param {Function[]} [listeners] An optional array of listener functions to add/remove.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.manipulateListeners = function manipulateListeners(remove, evt, listeners) {
var i;
var value;
var single = remove ? this.removeListener : this.addListener;
var multiple = remove ? this.removeListeners : this.addListeners;
// If evt is an object then pass each of it's properties to this method
if (typeof evt === 'object' && !(evt instanceof RegExp)) {
for (i in evt) {
if (evt.hasOwnProperty(i) && (value = evt[i])) {
// Pass the single listener straight through to the singular method
if (typeof value === 'function') {
single.call(this, i, value);
}
else {
// Otherwise pass back to the multiple function
multiple.call(this, i, value);
}
}
}
}
else {
// So evt must be a string
// And listeners must be an array of listeners
// Loop over it and pass each one to the multiple method
i = listeners.length;
while (i--) {
single.call(this, evt, listeners[i]);
}
}
return this;
};
/**
* Removes all listeners from a specified event.
* If you do not specify an event then all listeners will be removed.
* That means every event will be emptied.
* You can also pass a regex to remove all events that match it.
*
* @param {String|RegExp} [evt] Optional name of the event to remove all listeners for. Will remove from every event if not passed.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.removeEvent = function removeEvent(evt) {
var type = typeof evt;
var events = this._getEvents();
var key;
// Remove different things depending on the state of evt
if (type === 'string') {
// Remove all listeners for the specified event
delete events[evt];
}
else if (evt instanceof RegExp) {
// Remove all events matching the regex.
for (key in events) {
if (events.hasOwnProperty(key) && evt.test(key)) {
delete events[key];
}
}
}
else {
// Remove all listeners in all events
delete this._events;
}
return this;
};
/**
* Alias of removeEvent.
*
* Added to mirror the node API.
*/
proto.removeAllListeners = alias('removeEvent');
/**
* Emits an event of your choice.
* When emitted, every listener attached to that event will be executed.
* If you pass the optional argument array then those arguments will be passed to every listener upon execution.
* Because it uses `apply`, your array of arguments will be passed as if you wrote them out separately.
* So they will not arrive within the array on the other side, they will be separate.
* You can also pass a regular expression to emit to all events that match it.
*
* @param {String|RegExp} evt Name of the event to emit and execute listeners for.
* @param {Array} [args] Optional array of arguments to be passed to each listener.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.emitEvent = function emitEvent(evt, args) {
var listeners = this.getListenersAsObject(evt);
var listener;
var i;
var key;
var response;
for (key in listeners) {
if (listeners.hasOwnProperty(key)) {
i = listeners[key].length;
while (i--) {
// If the listener returns true then it shall be removed from the event
// The function is executed either with a basic call or an apply if there is an args array
listener = listeners[key][i];
if (listener.once === true) {
this.removeListener(evt, listener.listener);
}
response = listener.listener.apply(this, args || []);
if (response === this._getOnceReturnValue()) {
this.removeListener(evt, listener.listener);
}
}
}
}
return this;
};
/**
* Alias of emitEvent
*/
proto.trigger = alias('emitEvent');
/**
* Subtly different from emitEvent in that it will pass its arguments on to the listeners, as opposed to taking a single array of arguments to pass on.
* As with emitEvent, you can pass a regex in place of the event name to emit to all events that match it.
*
* @param {String|RegExp} evt Name of the event to emit and execute listeners for.
* @param {...*} Optional additional arguments to be passed to each listener.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.emit = function emit(evt) {
var args = Array.prototype.slice.call(arguments, 1);
return this.emitEvent(evt, args);
};
/**
* Sets the current value to check against when executing listeners. If a
* listeners return value matches the one set here then it will be removed
* after execution. This value defaults to true.
*
* @param {*} value The new value to check for when executing listeners.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.setOnceReturnValue = function setOnceReturnValue(value) {
this._onceReturnValue = value;
return this;
};
/**
* Fetches the current value to check against when executing listeners. If
* the listeners return value matches this one then it should be removed
* automatically. It will return true by default.
*
* @return {*|Boolean} The current value to check for or the default, true.
* @api private
*/
proto._getOnceReturnValue = function _getOnceReturnValue() {
if (this.hasOwnProperty('_onceReturnValue')) {
return this._onceReturnValue;
}
else {
return true;
}
};
/**
* Fetches the events object and creates one if required.
*
* @return {Object} The events storage object.
* @api private
*/
proto._getEvents = function _getEvents() {
return this._events || (this._events = {});
};
/**
* Reverts the global {@link EventEmitter} to its previous value and returns a reference to this version.
*
* @return {Function} Non conflicting EventEmitter class.
*/
EventEmitter.noConflict = function noConflict() {
exports.EventEmitter = originalGlobalValue;
return EventEmitter;
};
// Expose the class either via AMD, CommonJS or the global object
if (typeof define === 'function' && define.amd) {
define('eventEmitter/EventEmitter',[],function () {
return EventEmitter;
});
}
else if (typeof module === 'object' && module.exports){
module.exports = EventEmitter;
}
else {
this.EventEmitter = EventEmitter;
}
}.call(this));
/*!
* eventie v1.0.5
* event binding helper
* eventie.bind( elem, 'click', myFn )
* eventie.unbind( elem, 'click', myFn )
* MIT license
*/
/*jshint browser: true, undef: true, unused: true */
/*global define: false, module: false */
( function( window ) {
var docElem = document.documentElement;
var bind = function() {};
function getIEEvent( obj ) {
var event = window.event;
// add event.target
event.target = event.target || event.srcElement || obj;
return event;
}
if ( docElem.addEventListener ) {
bind = function( obj, type, fn ) {
obj.addEventListener( type, fn, false );
};
} else if ( docElem.attachEvent ) {
bind = function( obj, type, fn ) {
obj[ type + fn ] = fn.handleEvent ?
function() {
var event = getIEEvent( obj );
fn.handleEvent.call( fn, event );
} :
function() {
var event = getIEEvent( obj );
fn.call( obj, event );
};
obj.attachEvent( "on" + type, obj[ type + fn ] );
};
}
var unbind = function() {};
if ( docElem.removeEventListener ) {
unbind = function( obj, type, fn ) {
obj.removeEventListener( type, fn, false );
};
} else if ( docElem.detachEvent ) {
unbind = function( obj, type, fn ) {
obj.detachEvent( "on" + type, obj[ type + fn ] );
try {
delete obj[ type + fn ];
} catch ( err ) {
// can't delete window object properties
obj[ type + fn ] = undefined;
}
};
}
var eventie = {
bind: bind,
unbind: unbind
};
// ----- module definition ----- //
if ( typeof define === 'function' && define.amd ) {
// AMD
define( 'eventie/eventie',eventie );
} else if ( typeof exports === 'object' ) {
// CommonJS
module.exports = eventie;
} else {
// browser global
window.eventie = eventie;
}
})( this );
/*!
* getStyleProperty v1.0.3
* original by kangax
* http://perfectionkills.com/feature-testing-css-properties/
*/
/*jshint browser: true, strict: true, undef: true */
/*global define: false, exports: false, module: false */
( function( window ) {
var prefixes = 'Webkit Moz ms Ms O'.split(' ');
var docElemStyle = document.documentElement.style;
function getStyleProperty( propName ) {
if ( !propName ) {
return;
}
// test standard property first
if ( typeof docElemStyle[ propName ] === 'string' ) {
return propName;
}
// capitalize
propName = propName.charAt(0).toUpperCase() + propName.slice(1);
// test vendor specific properties
var prefixed;
for ( var i=0, len = prefixes.length; i < len; i++ ) {
prefixed = prefixes[i] + propName;
if ( typeof docElemStyle[ prefixed ] === 'string' ) {
return prefixed;
}
}
}
// transport
if ( typeof define === 'function' && define.amd ) {
// AMD
define( 'get-style-property/get-style-property',[],function() {
return getStyleProperty;
});
} else if ( typeof exports === 'object' ) {
// CommonJS for Component
module.exports = getStyleProperty;
} else {
// browser global
window.getStyleProperty = getStyleProperty;
}
})( window );
/**
* getSize v1.1.7
* measure size of elements
*/
/*jshint browser: true, strict: true, undef: true, unused: true */
/*global define: false, exports: false, require: false, module: false */
( function( window, undefined ) {
// -------------------------- helpers -------------------------- //
var getComputedStyle = window.getComputedStyle;
var getStyle = getComputedStyle ?
function( elem ) {
return getComputedStyle( elem, null );
} :
function( elem ) {
return elem.currentStyle;
};
// get a number from a string, not a percentage
function getStyleSize( value ) {
var num = parseFloat( value );
// not a percent like '100%', and a number
var isValid = value.indexOf('%') === -1 && !isNaN( num );
return isValid && num;
}
// -------------------------- measurements -------------------------- //
var measurements = [
'paddingLeft',
'paddingRight',
'paddingTop',
'paddingBottom',
'marginLeft',
'marginRight',
'marginTop',
'marginBottom',
'borderLeftWidth',
'borderRightWidth',
'borderTopWidth',
'borderBottomWidth'
];
function getZeroSize() {
var size = {
width: 0,
height: 0,
innerWidth: 0,
innerHeight: 0,
outerWidth: 0,
outerHeight: 0
};
for ( var i=0, len = measurements.length; i < len; i++ ) {
var measurement = measurements[i];
size[ measurement ] = 0;
}
return size;
}
function defineGetSize( getStyleProperty ) {
// -------------------------- box sizing -------------------------- //
var boxSizingProp = getStyleProperty('boxSizing');
var isBoxSizeOuter;
/**
* WebKit measures the outer-width on style.width on border-box elems
* IE & Firefox measures the inner-width
*/
( function() {
if ( !boxSizingProp ) {
return;
}
var div = document.createElement('div');
div.style.width = '200px';
div.style.padding = '1px 2px 3px 4px';
div.style.borderStyle = 'solid';
div.style.borderWidth = '1px 2px 3px 4px';
div.style[ boxSizingProp ] = 'border-box';
var body = document.body || document.documentElement;
body.appendChild( div );
var style = getStyle( div );
isBoxSizeOuter = getStyleSize( style.width ) === 200;
body.removeChild( div );
})();
// -------------------------- getSize -------------------------- //
function getSize( elem ) {
// use querySeletor if elem is string
if ( typeof elem === 'string' ) {
elem = document.querySelector( elem );
}
// do not proceed on non-objects
if ( !elem || typeof elem !== 'object' || !elem.nodeType ) {
return;
}
var style = getStyle( elem );
// if hidden, everything is 0
if ( style.display === 'none' ) {
return getZeroSize();
}
var size = {};
size.width = elem.offsetWidth;
size.height = elem.offsetHeight;
var isBorderBox = size.isBorderBox = !!( boxSizingProp &&
style[ boxSizingProp ] && style[ boxSizingProp ] === 'border-box' );
// get all measurements
for ( var i=0, len = measurements.length; i < len; i++ ) {
var measurement = measurements[i];
var value = style[ measurement ];
value = mungeNonPixel( elem, value );
var num = parseFloat( value );
// any 'auto', 'medium' value will be 0
size[ measurement ] = !isNaN( num ) ? num : 0;
}
var paddingWidth = size.paddingLeft + size.paddingRight;
var paddingHeight = size.paddingTop + size.paddingBottom;
var marginWidth = size.marginLeft + size.marginRight;
var marginHeight = size.marginTop + size.marginBottom;
var borderWidth = size.borderLeftWidth + size.borderRightWidth;
var borderHeight = size.borderTopWidth + size.borderBottomWidth;
var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
// overwrite width and height if we can get it from style
var styleWidth = getStyleSize( style.width );
if ( styleWidth !== false ) {
size.width = styleWidth +
// add padding and border unless it's already including it
( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
}
var styleHeight = getStyleSize( style.height );
if ( styleHeight !== false ) {
size.height = styleHeight +
// add padding and border unless it's already including it
( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
}
size.innerWidth = size.width - ( paddingWidth + borderWidth );
size.innerHeight = size.height - ( paddingHeight + borderHeight );
size.outerWidth = size.width + marginWidth;
size.outerHeight = size.height + marginHeight;
return size;
}
// IE8 returns percent values, not pixels
// taken from jQuery's curCSS
function mungeNonPixel( elem, value ) {
// IE8 and has percent value
if ( getComputedStyle || value.indexOf('%') === -1 ) {
return value;
}
var style = elem.style;
// Remember the original values
var left = style.left;
var rs = elem.runtimeStyle;
var rsLeft = rs && rs.left;
// Put in the new values to get a computed value out
if ( rsLeft ) {
rs.left = elem.currentStyle.left;
}
style.left = value;
value = style.pixelLeft;
// Revert the changed values
style.left = left;
if ( rsLeft ) {
rs.left = rsLeft;
}
return value;
}
return getSize;
}
// transport
if ( typeof define === 'function' && define.amd ) {
// AMD for RequireJS
define( 'get-size/get-size',[ 'get-style-property/get-style-property' ], defineGetSize );
} else if ( typeof exports === 'object' ) {
// CommonJS for Component
module.exports = defineGetSize( require('get-style-property') );
} else {
// browser global
window.getSize = defineGetSize( window.getStyleProperty );
}
})( window );
/*!
* Draggabilly v1.1.0
* Make that shiz draggable
* http://draggabilly.desandro.com
* MIT license
*/
( function( window ) {
// vars
var document = window.document;
// -------------------------- helpers -------------------------- //
// extend objects
function extend( a, b ) {
for ( var prop in b ) {
a[ prop ] = b[ prop ];
}
return a;
}
function noop() {}
// ----- get style ----- //
var defView = document.defaultView;
var getStyle = defView && defView.getComputedStyle ?
function( elem ) {
return defView.getComputedStyle( elem, null );
} :
function( elem ) {
return elem.currentStyle;
};
// http://stackoverflow.com/a/384380/182183
var isElement = ( typeof HTMLElement === 'object' ) ?
function isElementDOM2( obj ) {
return obj instanceof HTMLElement;
} :
function isElementQuirky( obj ) {
return obj && typeof obj === 'object' &&
obj.nodeType === 1 && typeof obj.nodeName === 'string';
};
// -------------------------- requestAnimationFrame -------------------------- //
// https://gist.github.com/1866474
var lastTime = 0;
var prefixes = 'webkit moz ms o'.split(' ');
// get unprefixed rAF and cAF, if present
var requestAnimationFrame = window.requestAnimationFrame;
var cancelAnimationFrame = window.cancelAnimationFrame;
// loop through vendor prefixes and get prefixed rAF and cAF
var prefix;
for( var i = 0; i < prefixes.length; i++ ) {
if ( requestAnimationFrame && cancelAnimationFrame ) {
break;
}
prefix = prefixes[i];
requestAnimationFrame = requestAnimationFrame || window[ prefix + 'RequestAnimationFrame' ];
cancelAnimationFrame = cancelAnimationFrame || window[ prefix + 'CancelAnimationFrame' ] ||
window[ prefix + 'CancelRequestAnimationFrame' ];
}
// fallback to setTimeout and clearTimeout if either request/cancel is not supported
if ( !requestAnimationFrame || !cancelAnimationFrame ) {
requestAnimationFrame = function( callback ) {
var currTime = new Date().getTime();
var timeToCall = Math.max( 0, 16 - ( currTime - lastTime ) );
var id = window.setTimeout( function() {
callback( currTime + timeToCall );
}, timeToCall );
lastTime = currTime + timeToCall;
return id;
};
cancelAnimationFrame = function( id ) {
window.clearTimeout( id );
};
}
// -------------------------- definition -------------------------- //
function draggabillyDefinition( classie, EventEmitter, eventie, getStyleProperty, getSize ) {
// -------------------------- support -------------------------- //
var transformProperty = getStyleProperty('transform');
// TODO fix quick & dirty check for 3D support
var is3d = !!getStyleProperty('perspective');
// -------------------------- -------------------------- //
function Draggabilly( element, options ) {
// querySelector if string
this.element = typeof element === 'string' ?
document.querySelector( element ) : element;
this.options = extend( {}, this.options );
extend( this.options, options );
this._create();
}
// inherit EventEmitter methods
extend( Draggabilly.prototype, EventEmitter.prototype );
Draggabilly.prototype.options = {
};
Draggabilly.prototype._create = function() {
// properties
this.position = {};
this._getPosition();
this.startPoint = { x: 0, y: 0 };
this.dragPoint = { x: 0, y: 0 };
this.startPosition = extend( {}, this.position );
// set relative positioning
var style = getStyle( this.element );
if ( style.position !== 'relative' && style.position !== 'absolute' ) {
this.element.style.position = 'relative';
}
this.enable();
this.setHandles();
};
/**
* set this.handles and bind start events to 'em
*/
Draggabilly.prototype.setHandles = function() {
this.handles = this.options.handle ?
this.element.querySelectorAll( this.options.handle ) : [ this.element ];
for ( var i=0, len = this.handles.length; i < len; i++ ) {
var handle = this.handles[i];
// bind pointer start event
if ( window.navigator.pointerEnabled ) {
// W3C Pointer Events, IE11. See https://coderwall.com/p/mfreca
eventie.bind( handle, 'pointerdown', this );
// disable scrolling on the element
handle.style.touchAction = 'none';
} else if ( window.navigator.msPointerEnabled ) {
// IE10 Pointer Events
eventie.bind( handle, 'MSPointerDown', this );
// disable scrolling on the element
handle.style.msTouchAction = 'none';
} else {
// listen for both, for devices like Chrome Pixel
// which has touch and mouse events
eventie.bind( handle, 'mousedown', this );
eventie.bind( handle, 'touchstart', this );
disableImgOndragstart( handle );
}
}
};
// remove default dragging interaction on all images in IE8
// IE8 does its own drag thing on images, which messes stuff up
function noDragStart() {
return false;
}
// TODO replace this with a IE8 test
var isIE8 = 'attachEvent' in document.documentElement;
// IE8 only
var disableImgOndragstart = !isIE8 ? noop : function( handle ) {
if ( handle.nodeName === 'IMG' ) {
handle.ondragstart = noDragStart;
}
var images = handle.querySelectorAll('img');
for ( var i=0, len = images.length; i < len; i++ ) {
var img = images[i];
img.ondragstart = noDragStart;
}
};
// get left/top position from style
Draggabilly.prototype._getPosition = function() {
// properties
var style = getStyle( this.element );
var x = parseInt( style.left, 10 );
var y = parseInt( style.top, 10 );
// clean up 'auto' or other non-integer values
this.position.x = isNaN( x ) ? 0 : x;
this.position.y = isNaN( y ) ? 0 : y;
this._addTransformPosition( style );
};
// add transform: translate( x, y ) to position
Draggabilly.prototype._addTransformPosition = function( style ) {
if ( !transformProperty ) {
return;
}
var transform = style[ transformProperty ];
// bail out if value is 'none'
if ( transform.indexOf('matrix') !== 0 ) {
return;
}
// split matrix(1, 0, 0, 1, x, y)
var matrixValues = transform.split(',');
// translate X value is in 12th or 4th position
var xIndex = transform.indexOf('matrix3d') === 0 ? 12 : 4;
var translateX = parseInt( matrixValues[ xIndex ], 10 );
// translate Y value is in 13th or 5th position
var translateY = parseInt( matrixValues[ xIndex + 1 ], 10 );
this.position.x += translateX;
this.position.y += translateY;
};
// -------------------------- events -------------------------- //
// trigger handler methods for events
Draggabilly.prototype.handleEvent = function( event ) {
var method = 'on' + event.type;
if ( this[ method ] ) {
this[ method ]( event );
}
};
// returns the touch that we're keeping track of
Draggabilly.prototype.getTouch = function( touches ) {
for ( var i=0, len = touches.length; i < len; i++ ) {
var touch = touches[i];
if ( touch.identifier === this.pointerIdentifier ) {
return touch;
}
}
};
// ----- start event ----- //
Draggabilly.prototype.onmousedown = function( event ) {
// dismiss clicks from right or middle buttons
var button = event.button;
if ( button && ( button !== 0 && button !== 1 ) ) {
return;
}
this.dragStart( event, event );
};
Draggabilly.prototype.ontouchstart = function( event ) {
// disregard additional touches
if ( this.isDragging ) {
return;
}
this.dragStart( event, event.changedTouches[0] );
};
Draggabilly.prototype.onMSPointerDown =
Draggabilly.prototype.onpointerdown = function( event ) {
// disregard additional touches
if ( this.isDragging ) {
return;
}
this.dragStart( event, event );
};
function setPointerPoint( point, pointer ) {
point.x = pointer.pageX !== undefined ? pointer.pageX : pointer.clientX;
point.y = pointer.pageY !== undefined ? pointer.pageY : pointer.clientY;
}
// hash of events to be bound after start event
var postStartEvents = {
mousedown: [ 'mousemove', 'mouseup' ],
touchstart: [ 'touchmove', 'touchend', 'touchcancel' ],
pointerdown: [ 'pointermove', 'pointerup', 'pointercancel' ],
MSPointerDown: [ 'MSPointerMove', 'MSPointerUp', 'MSPointerCancel' ]
};
/**
* drag start
* @param {Event} event
* @param {Event or Touch} pointer
*/
Draggabilly.prototype.dragStart = function( event, pointer ) {
if ( !this.isEnabled ) {
return;
}
if ( event.preventDefault ) {
event.preventDefault();
} else {
event.returnValue = false;
}
// save pointer identifier to match up touch events
this.pointerIdentifier = pointer.pointerId !== undefined ?
// pointerId for pointer events, touch.indentifier for touch events
pointer.pointerId : pointer.identifier;
this._getPosition();
this.measureContainment();
// point where drag began
setPointerPoint( this.startPoint, pointer );
// position _when_ drag began
this.startPosition.x = this.position.x;
this.startPosition.y = this.position.y;
// reset left/top style
this.setLeftTop();
this.dragPoint.x = 0;
this.dragPoint.y = 0;
// bind move and end events
this._bindEvents({
// get proper events to match start event
events: postStartEvents[ event.type ],
// IE8 needs to be bound to document
node: event.preventDefault ? window : document
});
classie.add( this.element, 'is-dragging' );
// reset isDragging flag
this.isDragging = true;
this.emitEvent( 'dragStart', [ this, event, pointer ] );
// start animation
this.animate();
};
Draggabilly.prototype._bindEvents = function( args ) {
for ( var i=0, len = args.events.length; i < len; i++ ) {
var event = args.events[i];
eventie.bind( args.node, event, this );
}
// save these arguments
this._boundEvents = args;
};
Draggabilly.prototype._unbindEvents = function() {
var args = this._boundEvents;
// IE8 can trigger dragEnd twice, check for _boundEvents
if ( !args || !args.events ) {
return;
}
for ( var i=0, len = args.events.length; i < len; i++ ) {
var event = args.events[i];
eventie.unbind( args.node, event, this );
}
delete this._boundEvents;
};
Draggabilly.prototype.measureContainment = function() {
var containment = this.options.containment;
if ( !containment ) {
return;
}
this.size = getSize( this.element );
var elemRect = this.element.getBoundingClientRect();
// use element if element
var container = isElement( containment ) ? containment :
// fallback to querySelector if string
typeof containment === 'string' ? document.querySelector( containment ) :
// otherwise just `true`, use the parent
this.element.parentNode;
this.containerSize = getSize( container );
var containerRect = container.getBoundingClientRect();
this.relativeStartPosition = {
x: elemRect.left - containerRect.left,
y: elemRect.top - containerRect.top
};
};
// ----- move event ----- //
Draggabilly.prototype.onmousemove = function( event ) {
this.dragMove( event, event );
};
Draggabilly.prototype.onMSPointerMove =
Draggabilly.prototype.onpointermove = function( event ) {
if ( event.pointerId === this.pointerIdentifier ) {
this.dragMove( event, event );
}
};
Draggabilly.prototype.ontouchmove = function( event ) {
var touch = this.getTouch( event.changedTouches );
if ( touch ) {
this.dragMove( event, touch );
}
};
/**
* drag move
* @param {Event} event
* @param {Event or Touch} pointer
*/
Draggabilly.prototype.dragMove = function( event, pointer ) {
setPointerPoint( this.dragPoint, pointer );
var dragX = this.dragPoint.x - this.startPoint.x;
var dragY = this.dragPoint.y - this.startPoint.y;
var grid = this.options.grid;
var gridX = grid && grid[0];
var gridY = grid && grid[1];
dragX = applyGrid( dragX, gridX );
dragY = applyGrid( dragY, gridY );
dragX = this.containDrag( 'x', dragX, gridX );
dragY = this.containDrag( 'y', dragY, gridY );
// constrain to axis
dragX = this.options.axis === 'y' ? 0 : dragX;
dragY = this.options.axis === 'x' ? 0 : dragY;
this.position.x = this.startPosition.x + dragX;
this.position.y = this.startPosition.y + dragY;
// set dragPoint properties
this.dragPoint.x = dragX;
this.dragPoint.y = dragY;
this.emitEvent( 'dragMove', [ this, event, pointer ] );
};
function applyGrid( value, grid, method ) {
method = method || 'round';
return grid ? Math[ method ]( value / grid ) * grid : value;
}
Draggabilly.prototype.containDrag = function( axis, drag, grid ) {
if ( !this.options.containment ) {
return drag;
}
var measure = axis === 'x' ? 'width' : 'height';
var rel = this.relativeStartPosition[ axis ];
var min = applyGrid( -rel, grid, 'ceil' );
var max = this.containerSize[ measure ] - rel - this.size[ measure ];
max = applyGrid( max, grid, 'floor' );
return Math.min( max, Math.max( min, drag ) );
};
// ----- end event ----- //
Draggabilly.prototype.onmouseup = function( event ) {
this.dragEnd( event, event );
};
Draggabilly.prototype.onMSPointerUp =
Draggabilly.prototype.onpointerup = function( event ) {
if ( event.pointerId === this.pointerIdentifier ) {
this.dragEnd( event, event );
}
};
Draggabilly.prototype.ontouchend = function( event ) {
var touch = this.getTouch( event.changedTouches );
if ( touch ) {
this.dragEnd( event, touch );
}
};
/**
* drag end
* @param {Event} event
* @param {Event or Touch} pointer
*/
Draggabilly.prototype.dragEnd = function( event, pointer ) {
this.isDragging = false;
delete this.pointerIdentifier;
// use top left position when complete
if ( transformProperty ) {
this.element.style[ transformProperty ] = '';
this.setLeftTop();
}
// remove events
this._unbindEvents();
classie.remove( this.element, 'is-dragging' );
this.emitEvent( 'dragEnd', [ this, event, pointer ] );
};
// ----- cancel event ----- //
// coerce to end event
Draggabilly.prototype.onMSPointerCancel =
Draggabilly.prototype.onpointercancel = function( event ) {
if ( event.pointerId === this.pointerIdentifier ) {
this.dragEnd( event, event );
}
};
Draggabilly.prototype.ontouchcancel = function( event ) {
var touch = this.getTouch( event.changedTouches );
this.dragEnd( event, touch );
};
// -------------------------- animation -------------------------- //
Draggabilly.prototype.animate = function() {
// only render and animate if dragging
if ( !this.isDragging ) {
return;
}
this.positionDrag();
var _this = this;
requestAnimationFrame( function animateFrame() {
_this.animate();
});
};
// transform translate function
var translate = is3d ?
function( x, y ) {
return 'translate3d( ' + x + 'px, ' + y + 'px, 0)';
} :
function( x, y ) {
return 'translate( ' + x + 'px, ' + y + 'px)';
};
// left/top positioning
Draggabilly.prototype.setLeftTop = function() {
this.element.style.left = this.position.x + 'px';
this.element.style.top = this.position.y + 'px';
};
Draggabilly.prototype.positionDrag = transformProperty ?
function() {
// position with transform
this.element.style[ transformProperty ] = translate( this.dragPoint.x, this.dragPoint.y );
} : Draggabilly.prototype.setLeftTop;
Draggabilly.prototype.enable = function() {
this.isEnabled = true;
};
Draggabilly.prototype.disable = function() {
this.isEnabled = false;
if ( this.isDragging ) {
this.dragEnd();
}
};
return Draggabilly;
} // end definition
// -------------------------- transport -------------------------- //
if ( typeof define === 'function' && define.amd ) {
// AMD
define( [
'classie/classie',
'eventEmitter/EventEmitter',
'eventie/eventie',
'get-style-property/get-style-property',
'get-size/get-size'
],
draggabillyDefinition );
} else {
// browser global
window.Draggabilly = draggabillyDefinition(
window.classie,
window.EventEmitter,
window.eventie,
window.getStyleProperty,
window.getSize
);
}
})( window );
/*!
* Flickity PACKAGED v0.2.3
* Touch, responsive, flickable galleries
* http://flickity.metafizzy.co
* Copyright 2015 Metafizzy
*/
!function(t){function e(){}function i(t){function i(e){e.prototype.option||(e.prototype.option=function(e){t.isPlainObject(e)&&(this.options=t.extend(!0,this.options,e))})}function o(e,i){t.fn[e]=function(o){if("string"==typeof o){for(var s=n.call(arguments,1),a=0,l=this.length;l>a;a++){var h=this[a],c=t.data(h,e);if(c)if(t.isFunction(c[o])&&"_"!==o.charAt(0)){var d=c[o].apply(c,s);if(void 0!==d)return d}else r("no such method '"+o+"' for "+e+" instance");else r("cannot call methods on "+e+" prior to initialization; attempted to call '"+o+"'")}return this}return this.each(function(){var n=t.data(this,e);n?(n.option(o),n._init()):(n=new i(this,o),t.data(this,e,n))})}}if(t){var r="undefined"==typeof console?e:function(t){console.error(t)};return t.bridget=function(t,e){i(e),o(t,e)},t.bridget}}var n=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],i):i("object"==typeof exports?require("jquery"):t.jQuery)}(window),function(t){function e(t){return new RegExp("(^|\\s+)"+t+"(\\s+|$)")}function i(t,e){var i=n(t,e)?r:o;i(t,e)}var n,o,r;"classList"in document.documentElement?(n=function(t,e){return t.classList.contains(e)},o=function(t,e){t.classList.add(e)},r=function(t,e){t.classList.remove(e)}):(n=function(t,i){return e(i).test(t.className)},o=function(t,e){n(t,e)||(t.className=t.className+" "+e)},r=function(t,i){t.className=t.className.replace(e(i)," ")});var s={hasClass:n,addClass:o,removeClass:r,toggleClass:i,has:n,add:o,remove:r,toggle:i};"function"==typeof define&&define.amd?define("classie/classie",s):"object"==typeof exports?module.exports=s:t.classie=s}(window),function(){function t(){}function e(t,e){for(var i=t.length;i--;)if(t[i].listener===e)return i;return-1}function i(t){return function(){return this[t].apply(this,arguments)}}var n=t.prototype,o=this,r=o.EventEmitter;n.getListeners=function(t){var e,i,n=this._getEvents();if(t instanceof RegExp){e={};for(i in n)n.hasOwnProperty(i)&&t.test(i)&&(e[i]=n[i])}else e=n[t]||(n[t]=[]);return e},n.flattenListeners=function(t){var e,i=[];for(e=0;e<t.length;e+=1)i.push(t[e].listener);return i},n.getListenersAsObject=function(t){var e,i=this.getListeners(t);return i instanceof Array&&(e={},e[t]=i),e||i},n.addListener=function(t,i){var n,o=this.getListenersAsObject(t),r="object"==typeof i;for(n in o)o.hasOwnProperty(n)&&-1===e(o[n],i)&&o[n].push(r?i:{listener:i,once:!1});return this},n.on=i("addListener"),n.addOnceListener=function(t,e){return this.addListener(t,{listener:e,once:!0})},n.once=i("addOnceListener"),n.defineEvent=function(t){return this.getListeners(t),this},n.defineEvents=function(t){for(var e=0;e<t.length;e+=1)this.defineEvent(t[e]);return this},n.removeListener=function(t,i){var n,o,r=this.getListenersAsObject(t);for(o in r)r.hasOwnProperty(o)&&(n=e(r[o],i),-1!==n&&r[o].splice(n,1));return this},n.off=i("removeListener"),n.addListeners=function(t,e){return this.manipulateListeners(!1,t,e)},n.removeListeners=function(t,e){return this.manipulateListeners(!0,t,e)},n.manipulateListeners=function(t,e,i){var n,o,r=t?this.removeListener:this.addListener,s=t?this.removeListeners:this.addListeners;if("object"!=typeof e||e instanceof RegExp)for(n=i.length;n--;)r.call(this,e,i[n]);else for(n in e)e.hasOwnProperty(n)&&(o=e[n])&&("function"==typeof o?r.call(this,n,o):s.call(this,n,o));return this},n.removeEvent=function(t){var e,i=typeof t,n=this._getEvents();if("string"===i)delete n[t];else if(t instanceof RegExp)for(e in n)n.hasOwnProperty(e)&&t.test(e)&&delete n[e];else delete this._events;return this},n.removeAllListeners=i("removeEvent"),n.emitEvent=function(t,e){var i,n,o,r,s=this.getListenersAsObject(t);for(o in s)if(s.hasOwnProperty(o))for(n=s[o].length;n--;)i=s[o][n],i.once===!0&&this.removeListener(t,i.listener),r=i.listener.apply(this,e||[]),r===this._getOnceReturnValue()&&this.removeListener(t,i.listener);return this},n.trigger=i("emitEvent"),n.emit=function(t){var e=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,e)},n.setOnceReturnValue=function(t){return this._onceReturnValue=t,this},n._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},n._getEvents=function(){return this._events||(this._events={})},t.noConflict=function(){return o.EventEmitter=r,t},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return t}):"object"==typeof module&&module.exports?module.exports=t:o.EventEmitter=t}.call(this),function(t){function e(e){var i=t.event;return i.target=i.target||i.srcElement||e,i}var i=document.documentElement,n=function(){};i.addEventListener?n=function(t,e,i){t.addEventListener(e,i,!1)}:i.attachEvent&&(n=function(t,i,n){t[i+n]=n.handleEvent?function(){var i=e(t);n.handleEvent.call(n,i)}:function(){var i=e(t);n.call(t,i)},t.attachEvent("on"+i,t[i+n])});var o=function(){};i.removeEventListener?o=function(t,e,i){t.removeEventListener(e,i,!1)}:i.detachEvent&&(o=function(t,e,i){t.detachEvent("on"+e,t[e+i]);try{delete t[e+i]}catch(n){t[e+i]=void 0}});var r={bind:n,unbind:o};"function"==typeof define&&define.amd?define("eventie/eventie",r):"object"==typeof exports?module.exports=r:t.eventie=r}(window),function(t){function e(t){if(t){if("string"==typeof n[t])return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e,o=0,r=i.length;r>o;o++)if(e=i[o]+t,"string"==typeof n[e])return e}}var i="Webkit Moz ms Ms O".split(" "),n=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return e}):"object"==typeof exports?module.exports=e:t.getStyleProperty=e}(window),function(t){function e(t){var e=parseFloat(t),i=-1===t.indexOf("%")&&!isNaN(e);return i&&e}function i(){}function n(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0,i=s.length;i>e;e++){var n=s[e];t[n]=0}return t}function o(i){function o(){if(!p){p=!0;var n=t.getComputedStyle;if(h=function(){var t=n?function(t){return n(t,null)}:function(t){return t.currentStyle};return function(e){var i=t(e);return i||r("Style returned "+i+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),i}}(),c=i("boxSizing")){var o=document.createElement("div");o.style.width="200px",o.style.padding="1px 2px 3px 4px",o.style.borderStyle="solid",o.style.borderWidth="1px 2px 3px 4px",o.style[c]="border-box";var s=document.body||document.documentElement;s.appendChild(o);var a=h(o);d=200===e(a.width),s.removeChild(o)}}}function a(t){if(o(),"string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var i=h(t);if("none"===i.display)return n();var r={};r.width=t.offsetWidth,r.height=t.offsetHeight;for(var a=r.isBorderBox=!(!c||!i[c]||"border-box"!==i[c]),p=0,u=s.length;u>p;p++){var f=s[p],v=i[f];v=l(t,v);var y=parseFloat(v);r[f]=isNaN(y)?0:y}var g=r.paddingLeft+r.paddingRight,m=r.paddingTop+r.paddingBottom,b=r.marginLeft+r.marginRight,x=r.marginTop+r.marginBottom,C=r.borderLeftWidth+r.borderRightWidth,S=r.borderTopWidth+r.borderBottomWidth,w=a&&d,E=e(i.width);E!==!1&&(r.width=E+(w?0:g+C));var P=e(i.height);return P!==!1&&(r.height=P+(w?0:m+S)),r.innerWidth=r.width-(g+C),r.innerHeight=r.height-(m+S),r.outerWidth=r.width+b,r.outerHeight=r.height+x,r}}function l(e,i){if(t.getComputedStyle||-1===i.indexOf("%"))return i;var n=e.style,o=n.left,r=e.runtimeStyle,s=r&&r.left;return s&&(r.left=e.currentStyle.left),n.left=i,i=n.pixelLeft,n.left=o,s&&(r.left=s),i}var h,c,d,p=!1;return a}var r="undefined"==typeof console?i:function(t){console.error(t)},s=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],o):"object"==typeof exports?module.exports=o(require("desandro-get-style-property")):t.getSize=o(t.getStyleProperty)}(window),function(t){function e(t){"function"==typeof t&&(e.isReady?t():s.push(t))}function i(t){var i="readystatechange"===t.type&&"complete"!==r.readyState;e.isReady||i||n()}function n(){e.isReady=!0;for(var t=0,i=s.length;i>t;t++){var n=s[t];n()}}function o(o){return"complete"===r.readyState?n():(o.bind(r,"DOMContentLoaded",i),o.bind(r,"readystatechange",i),o.bind(t,"load",i)),e}var r=t.document,s=[];e.isReady=!1,"function"==typeof define&&define.amd?define("doc-ready/doc-ready",["eventie/eventie"],o):"object"==typeof exports?module.exports=o(require("eventie")):t.docReady=o(t.eventie)}(window),function(t){function e(t,e){return t[s](e)}function i(t){if(!t.parentNode){var e=document.createDocumentFragment();e.appendChild(t)}}function n(t,e){i(t);for(var n=t.parentNode.querySelectorAll(e),o=0,r=n.length;r>o;o++)if(n[o]===t)return!0;return!1}function o(t,n){return i(t),e(t,n)}var r,s=function(){if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0,n=e.length;n>i;i++){var o=e[i],r=o+"MatchesSelector";if(t[r])return r}}();if(s){var a=document.createElement("div"),l=e(a,"div");r=l?e:o}else r=n;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return r}):"object"==typeof exports?module.exports=r:window.matchesSelector=r}(Element.prototype),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["doc-ready/doc-ready","matches-selector/matches-selector"],function(i,n){return e(t,i,n)}):"object"==typeof exports?module.exports=e(t,require("doc-ready"),require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.docReady,t.matchesSelector)}(window,function(t,e,i){function n(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()}var o={};o.extend=function(t,e){for(var i in e)t[i]=e[i];return t},o.modulo=function(t,e){return(t%e+e)%e};var r=Object.prototype.toString;o.isArray=function(t){return"[object Array]"==r.call(t)},o.makeArray=function(t){var e=[];if(o.isArray(t))e=t;else if(t&&"number"==typeof t.length)for(var i=0,n=t.length;n>i;i++)e.push(t[i]);else e.push(t);return e},o.indexOf=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,n=t.length;n>i;i++)if(t[i]===e)return i;return-1},o.removeFrom=function(t,e){var i=o.indexOf(e,t);-1!=i&&e.splice(i,1)},o.isElement="function"==typeof HTMLElement||"object"==typeof HTMLElement?function(t){return t instanceof HTMLElement}:function(t){return t&&"object"==typeof t&&1==t.nodeType&&"string"==typeof t.nodeName},o.setText=function(){function t(t,i){e=e||(void 0!==document.documentElement.textContent?"textContent":"innerText"),t[e]=i}var e;return t}(),o.getParent=function(t,e){for(;t!=document.body;)if(t=t.parentNode,i(t,e))return t},o.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},o.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},o.filterFindElements=function(t,e){t=o.makeArray(t);for(var n=[],r=0,s=t.length;s>r;r++){var a=t[r];if(o.isElement(a))if(e){i(a,e)&&n.push(a);for(var l=a.querySelectorAll(e),h=0,c=l.length;c>h;h++)n.push(l[h])}else n.push(a)}return n},o.debounceMethod=function(t,e,i){var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];t&&clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o]},i||100)}};var s=t.jQuery,a=t.console;return o.htmlInit=function(t,i){e(function(){for(var e=n(i),o=document.querySelectorAll(".js-"+e),r="data-"+e+"-options",l=0,h=o.length;h>l;l++){var c,d=o[l],p=d.getAttribute(r);try{c=p&&JSON.parse(p)}catch(u){a&&a.error("Error parsing "+r+" on "+d.nodeName.toLowerCase()+(d.id?"#"+d.id:"")+": "+u);continue}var f=new t(d,c);s&&s.data(d,i,f)}})},o}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/cell",["get-size/get-size"],function(i){return e(t,i)}):"object"==typeof exports?module.exports=e(t,require("get-size")):(t.Flickity=t.Flickity||{},t.Flickity.Cell=e(t,t.getSize))}(window,function(t,e){function i(t,e){this.element=t,this.parent=e,this.create()}var n="attachEvent"in t;return i.prototype.create=function(){this.element.style.position="absolute",n&&this.element.setAttribute("unselectable","on"),this.x=0,this.shift=0},i.prototype.destroy=function(){this.element.style.position="";var t=this.parent.originSide;this.element.style[t]=""},i.prototype.getSize=function(){this.size=e(this.element)},i.prototype.setPosition=function(t){this.x=t,this.setDefaultTarget(),this.renderPosition(t)},i.prototype.setDefaultTarget=function(){var t="left"==this.parent.originSide?"marginLeft":"marginRight";this.target=this.x+this.size[t]+this.size.width*this.parent.cellAlign},i.prototype.renderPosition=function(t){var e=this.parent.originSide;this.element.style[e]=this.parent.getPositionValue(t)},i.prototype.wrapShift=function(t){this.shift=t,this.renderPosition(this.x+this.parent.slideableWidth*t)},i.prototype.remove=function(){this.element.parentNode.removeChild(this.element)},i}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/animate",["get-style-property/get-style-property","fizzy-ui-utils/utils"],function(i,n){return e(t,i,n)}):"object"==typeof exports?module.exports=e(t,require("desandro-get-style-property"),require("fizzy-ui-utils")):(t.Flickity=t.Flickity||{},t.Flickity.animatePrototype=e(t,t.getStyleProperty,t.fizzyUIUtils))}(window,function(t,e,i){for(var n,o=0,r="webkit moz ms o".split(" "),s=t.requestAnimationFrame,a=t.cancelAnimationFrame,l=0;l<r.length&&(!s||!a);l++)n=r[l],s=s||t[n+"RequestAnimationFrame"],a=a||t[n+"CancelAnimationFrame"]||t[n+"CancelRequestAnimationFrame"];s&&a||(s=function(e){var i=(new Date).getTime(),n=Math.max(0,16-(i-o)),r=t.setTimeout(function(){e(i+n)},n);return o=i+n,r},a=function(e){t.clearTimeout(e)});var h={};h.startAnimation=function(){this.isAnimating||(this.isAnimating=!0,this.restingFrames=0,this.animate())},h.animate=function(){this.applySelectedAttraction();var t=this.x;if(this.integratePhysics(),this.positionSlider(),this.settle(t),this.isAnimating){var e=this;s(function(){e.animate()})}};var c=e("transform"),d=!!e("perspective");return h.positionSlider=function(){var t=this.x;this.options.wrapAround&&this.cells.length>1&&(t=i.modulo(t,this.slideableWidth),t-=this.slideableWidth,this.shiftWrapCells(t)),t+=this.cursorPosition,t=this.options.rightToLeft&&c?-t:t;var e=this.getPositionValue(t);c?this.slider.style[c]=d&&this.isAnimating?"translate3d("+e+",0,0)":"translateX("+e+")":this.slider.style[this.originSide]=e},h.positionSliderAtSelected=function(){if(this.cells.length){var t=this.cells[this.selectedIndex];this.x=-t.target,this.positionSlider()}},h.getPositionValue=function(t){return this.options.percentPosition?.01*Math.round(t/this.size.innerWidth*1e4)+"%":Math.round(t)+"px"},h.settle=function(t){this.isPointerDown||Math.round(100*this.x)!=Math.round(100*t)||this.restingFrames++,this.restingFrames>2&&(this.isAnimating=!1,delete this.isFreeScrolling,d&&this.positionSlider(),this.dispatchEvent("settle"))},h.shiftWrapCells=function(t){var e=this.cursorPosition+t;this._shiftCells(this.beforeShiftCells,e,-1);var i=this.size.innerWidth-(t+this.slideableWidth+this.cursorPosition);this._shiftCells(this.afterShiftCells,i,1)},h._shiftCells=function(t,e,i){for(var n=0,o=t.length;o>n;n++){var r=t[n],s=e>0?i:0;r.wrapShift(s),e-=r.size.outerWidth}},h._unshiftCells=function(t){if(t&&t.length)for(var e=0,i=t.length;i>e;e++)t[e].wrapShift(0)},h.integratePhysics=function(){this.velocity+=this.accel,this.x+=this.velocity,this.velocity*=this.getFrictionFactor(),this.accel=0},h.applyForce=function(t){this.accel+=t},h.getFrictionFactor=function(){return 1-this.options[this.isFreeScrolling?"freeScrollFriction":"friction"]},h.getRestingPosition=function(){return this.x+this.velocity/(1-this.getFrictionFactor())},h.applySelectedAttraction=function(){var t=this.cells.length;if(!this.isPointerDown&&!this.isFreeScrolling&&t){var e=this.cells[this.selectedIndex],i=this.options.wrapAround&&t>1?this.slideableWidth*Math.floor(this.selectedIndex/t):0,n=-1*(e.target+i)-this.x,o=n*this.options.selectedAttraction;this.applyForce(o)}},h}),function(t,e){if("function"==typeof define&&define.amd)define("flickity/js/flickity",["classie/classie","eventEmitter/EventEmitter","eventie/eventie","get-size/get-size","fizzy-ui-utils/utils","./cell","./animate"],function(i,n,o,r,s,a,l){return e(t,i,n,o,r,s,a,l)});else if("object"==typeof exports)module.exports=e(t,require("desandro-classie"),require("wolfy87-eventemitter"),require("eventie"),require("get-size"),require("fizzy-ui-utils"),require("./cell"),require("./animate"));else{var i=t.Flickity;t.Flickity=e(t,t.classie,t.EventEmitter,t.eventie,t.getSize,t.fizzyUIUtils,i.Cell,i.animatePrototype)}}(window,function(t,e,i,n,o,r,s,a){function l(t,e){for(t=r.makeArray(t);t.length;)e.appendChild(t.shift())}function h(t,e){var i=r.getQueryElement(t);return i?(this.element=i,c&&(this.$element=c(this.element)),this.options=r.extend({},this.constructor.defaults),this.option(e),void this._create()):void(p&&p.error("Bad element for Flickity: "+(i||t)))}var c=t.jQuery,d=t.getComputedStyle,p=t.console,u=0,f={};h.defaults={accessibility:!0,cellAlign:"center",freeScrollFriction:.075,friction:.28,percentPosition:!0,resize:!0,selectedAttraction:.025},h.createMethods=[],r.extend(h.prototype,i.prototype),h.prototype._create=function(){var e=this.guid=++u;this.element.flickityGUID=e,f[e]=this,this.selectedIndex=this.options.initialIndex||0,this.restingFrames=0,this.x=0,this.velocity=0,this.accel=0,this.originSide=this.options.rightToLeft?"right":"left",this.viewport=document.createElement("div"),this.viewport.className="flickity-viewport",h.setUnselectable(this.viewport),this._createSlider(),(this.options.resize||this.options.watchCSS)&&(n.bind(t,"resize",this),this.isResizeBound=!0);for(var i=0,o=h.createMethods.length;o>i;i++){var r=h.createMethods[i];this[r]()}this.options.watchCSS?this.watchCSS():this.activate()},h.prototype.option=function(t){r.extend(this.options,t)},h.prototype.activate=function(){if(!this.isActive){this.isActive=!0,e.add(this.element,"flickity-enabled"),this.options.rightToLeft&&e.add(this.element,"flickity-rtl");var t=this._filterFindCellElements(this.element.children);l(t,this.slider),this.viewport.appendChild(this.slider),this.element.appendChild(this.viewport),this.getSize(),this.reloadCells(),this.setContainerSize(),this.options.accessibility&&(this.element.tabIndex=0,n.bind(this.element,"keydown",this)),this.emit("activate"),this.positionSliderAtSelected(),this.select(this.selectedIndex)}},h.prototype._createSlider=function(){var t=document.createElement("div");t.className="flickity-slider",t.style[this.originSide]=0,this.slider=t},h.prototype._filterFindCellElements=function(t){return r.filterFindElements(t,this.options.cellSelector)},h.prototype.reloadCells=function(){this.cells=this._makeCells(this.slider.children),this.positionCells(),this._getWrapShiftCells(),this.setContainerSize()},h.prototype._makeCells=function(t){for(var e=this._filterFindCellElements(t),i=[],n=0,o=e.length;o>n;n++){var r=e[n],a=new s(r,this);i.push(a)}return i},h.prototype.getLastCell=function(){return this.cells[this.cells.length-1]},h.prototype.positionCells=function(){this._sizeCells(this.cells),this._positionCells(0)},h.prototype._positionCells=function(t){this.maxCellHeight=t?this.maxCellHeight||0:0;var e=0;if(t>0){var i=this.cells[t-1];e=i.x+i.size.outerWidth}for(var n,o=this.cells.length,r=t;o>r;r++)n=this.cells[r],n.setPosition(e),e+=n.size.outerWidth,this.maxCellHeight=Math.max(n.size.outerHeight,this.maxCellHeight);this.slideableWidth=e,this._containCells()},h.prototype._sizeCells=function(t){for(var e=0,i=t.length;i>e;e++){var n=t[e];n.getSize()}},h.prototype._init=h.prototype.reposition=function(){this.positionCells(),this.positionSliderAtSelected()},h.prototype.getSize=function(){this.size=o(this.element),this.setCellAlign(),this.cursorPosition=this.size.innerWidth*this.cellAlign};var v={center:{left:.5,right:.5},left:{left:0,right:1},right:{right:0,left:1}};h.prototype.setCellAlign=function(){var t=v[this.options.cellAlign];this.cellAlign=t?t[this.originSide]:this.options.cellAlign},h.prototype.setContainerSize=function(){this.viewport.style.height=this.maxCellHeight+"px"},h.prototype._getWrapShiftCells=function(){if(this.options.wrapAround){this._unshiftCells(this.beforeShiftCells),this._unshiftCells(this.afterShiftCells);var t=this.cursorPosition,e=this.cells.length-1;this.beforeShiftCells=this._getGapCells(t,e,-1),t=this.size.innerWidth-this.cursorPosition,this.afterShiftCells=this._getGapCells(t,0,1)}},h.prototype._getGapCells=function(t,e,i){for(var n=[];t>0;){var o=this.cells[e];if(!o)break;n.push(o),e+=i,t-=o.size.outerWidth}return n},h.prototype._containCells=function(){if(this.options.contain&&!this.options.wrapAround&&this.cells.length)for(var t=this.options.rightToLeft?"marginRight":"marginLeft",e=this.options.rightToLeft?"marginLeft":"marginRight",i=this.cells[0].size[t],n=this.getLastCell(),o=this.slideableWidth-n.size[e],r=o-this.size.innerWidth*(1-this.cellAlign),s=0,a=this.cells.length;a>s;s++){var l=this.cells[s];l.setDefaultTarget(),l.target=Math.max(l.target,this.cursorPosition+i),l.target=Math.min(l.target,r)}},h.prototype.dispatchEvent=function(t,e,i){var n=[e].concat(i);if(this.emitEvent(t,n),c&&this.$element)if(e){var o=c.Event(e);o.type=t+".flickity",this.$element.trigger(o,i)}else this.$element.trigger(t,i)},h.prototype.select=function(t,e){if(this.isActive){var i=this.cells.length;this.options.wrapAround&&i>1&&(0>t?this.x-=this.slideableWidth:t>=i&&(this.x+=this.slideableWidth)),(this.options.wrapAround||e)&&(t=r.modulo(t,i)),this.cells[t]&&(this.selectedIndex=t,this.setSelectedCell(),this.startAnimation(),this.dispatchEvent("select"))}},h.prototype.previous=function(t){this.select(this.selectedIndex-1,t)},h.prototype.next=function(t){this.select(this.selectedIndex+1,t)},h.prototype.setSelectedCell=function(){this._removeSelectedCellClass(),this.selectedCell=this.cells[this.selectedIndex],this.selectedElement=this.selectedCell.element,e.add(this.selectedElement,"is-selected")},h.prototype._removeSelectedCellClass=function(){this.selectedCell&&e.remove(this.selectedCell.element,"is-selected")},h.prototype.getCell=function(t){for(var e=0,i=this.cells.length;i>e;e++){var n=this.cells[e];if(n.element==t)return n}},h.prototype.getCells=function(t){t=r.makeArray(t);for(var e=[],i=0,n=t.length;n>i;i++){var o=t[i],s=this.getCell(o);s&&e.push(s)}return e},h.prototype.getCellElements=function(){for(var t=[],e=0,i=this.cells.length;i>e;e++)t.push(this.cells[e].element);return t},h.prototype.getParentCell=function(t){var e=this.getCell(t);return e?e:(t=r.getParent(t,".flickity-slider > *"),this.getCell(t))},h.prototype.uiChange=function(){this.emit("uiChange")},h.prototype.childUIPointerDown=function(t){this.emitEvent("childUIPointerDown",[t])},h.prototype.onresize=function(){this.watchCSS(),this.resize()},r.debounceMethod(h,"onresize",150),h.prototype.resize=function(){this.isActive&&(this.getSize(),this.options.wrapAround&&(this.x=r.modulo(this.x,this.slideableWidth)),this.positionCells(),this._getWrapShiftCells(),this.setContainerSize(),this.positionSliderAtSelected())};var y=h.supportsConditionalCSS=function(){var t;return function(){if(void 0!==t)return t;if(!d)return void(t=!1);var e=document.createElement("style"),i=document.createTextNode('body:after { content: "foo"; display: none; }');e.appendChild(i),document.head.appendChild(e);var n=d(document.body,":after").content;return t=-1!=n.indexOf("foo"),document.head.removeChild(e),t}}();h.prototype.watchCSS=function(){var t=this.options.watchCSS;if(t){var e=y();if(!e){var i="fallbackOn"==t?"activate":"deactivate";return void this[i]()}var n=d(this.element,":after").content;-1!=n.indexOf("flickity")?this.activate():this.deactivate()}},h.prototype.onkeydown=function(t){if(this.options.accessibility&&(!document.activeElement||document.activeElement==this.element))if(37==t.keyCode){var e=this.options.rightToLeft?"next":"previous";this.uiChange(),this[e]()}else if(39==t.keyCode){var i=this.options.rightToLeft?"previous":"next";this.uiChange(),this[i]()}},h.prototype.deactivate=function(){if(this.isActive){e.remove(this.element,"flickity-enabled"),e.remove(this.element,"flickity-rtl");for(var t=0,i=this.cells.length;i>t;t++){var o=this.cells[t];o.destroy()}this._removeSelectedCellClass(),this.element.removeChild(this.viewport),l(this.slider.children,this.element),this.options.accessibility&&(this.element.removeAttribute("tabIndex"),n.unbind(this.element,"keydown",this)),this.isActive=!1,this.emit("deactivate")}},h.prototype.destroy=function(){this.deactivate(),this.isResizeBound&&n.unbind(t,"resize",this),this.emit("destroy"),delete this.element.flickityGUID,delete f[this.guid]},r.extend(h.prototype,a);var g="attachEvent"in t;return h.setUnselectable=function(t){g&&t.setAttribute("unselectable","on")},h.data=function(t){t=r.getQueryElement(t);var e=t&&t.flickityGUID;return e&&f[e]},r.htmlInit(h,"flickity"),c&&c.bridget&&c.bridget("flickity",h),h.Cell=s,h}),function(t,e){"function"==typeof define&&define.amd?define("unipointer/unipointer",["eventEmitter/EventEmitter","eventie/eventie"],function(i,n){return e(t,i,n)}):"object"==typeof exports?module.exports=e(t,require("wolfy87-eventemitter"),require("eventie")):t.Unipointer=e(t,t.EventEmitter,t.eventie)}(window,function(t,e,i){function n(){}function o(){}o.prototype=new e,o.prototype.bindStartEvent=function(t){this._bindStartEvent(t,!0)},o.prototype.unbindStartEvent=function(t){this._bindStartEvent(t,!1)},o.prototype._bindStartEvent=function(e,n){n=void 0===n?!0:!!n;var o=n?"bind":"unbind";t.navigator.pointerEnabled?i[o](e,"pointerdown",this):t.navigator.msPointerEnabled?i[o](e,"MSPointerDown",this):(i[o](e,"mousedown",this),i[o](e,"touchstart",this))},o.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},o.prototype.getTouch=function(t){for(var e=0,i=t.length;i>e;e++){var n=t[e];if(n.identifier==this.pointerIdentifier)return n}},o.prototype.onmousedown=function(t){var e=t.button;e&&0!==e&&1!==e||this._pointerDown(t,t)},o.prototype.ontouchstart=function(t){this._pointerDown(t,t.changedTouches[0])},o.prototype.onMSPointerDown=o.prototype.onpointerdown=function(t){this._pointerDown(t,t)},o.prototype._pointerDown=function(t,e){this.isPointerDown||(this.isPointerDown=!0,this.pointerIdentifier=void 0!==e.pointerId?e.pointerId:e.identifier,this.pointerDown(t,e))},o.prototype.pointerDown=function(t,e){this._bindPostStartEvents(t),this.emitEvent("pointerDown",[this,t,e])};var r={mousedown:["mousemove","mouseup"],touchstart:["touchmove","touchend","touchcancel"],pointerdown:["pointermove","pointerup","pointercancel"],MSPointerDown:["MSPointerMove","MSPointerUp","MSPointerCancel"]};return o.prototype._bindPostStartEvents=function(e){if(e){for(var n=r[e.type],o=e.preventDefault?t:document,s=0,a=n.length;a>s;s++){var l=n[s];i.bind(o,l,this)}this._boundPointerEvents={events:n,node:o}}},o.prototype._unbindPostStartEvents=function(){var t=this._boundPointerEvents;if(t&&t.events){for(var e=0,n=t.events.length;n>e;e++){var o=t.events[e];i.unbind(t.node,o,this)}delete this._boundPointerEvents}},o.prototype.onmousemove=function(t){this._pointerMove(t,t)},o.prototype.onMSPointerMove=o.prototype.onpointermove=function(t){t.pointerId==this.pointerIdentifier&&this._pointerMove(t,t)},o.prototype.ontouchmove=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerMove(t,e)},o.prototype._pointerMove=function(t,e){this.pointerMove(t,e)},o.prototype.pointerMove=function(t,e){this.emitEvent("pointerMove",[this,t,e])},o.prototype.onmouseup=function(t){this._pointerUp(t,t)},o.prototype.onMSPointerUp=o.prototype.onpointerup=function(t){t.pointerId==this.pointerIdentifier&&this._pointerUp(t,t)},o.prototype.ontouchend=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerUp(t,e)},o.prototype._pointerUp=function(t,e){this._pointerDone(),this.pointerUp(t,e)},o.prototype.pointerUp=function(t,e){this.emitEvent("pointerUp",[this,t,e])},o.prototype._pointerDone=function(){this.isPointerDown=!1,delete this.pointerIdentifier,this._unbindPostStartEvents(),this.pointerDone()},o.prototype.pointerDone=n,o.prototype.onMSPointerCancel=o.prototype.onpointercancel=function(t){t.pointerId==this.pointerIdentifier&&this._pointerCancel(t,t)},o.prototype.ontouchcancel=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerCancel(t,e)},o.prototype._pointerCancel=function(t,e){this._pointerDone(),this.pointerCancel(t,e)},o.prototype.pointerCancel=function(t,e){this.emitEvent("pointerCancel",[this,t,e])},o.getPointerPoint=function(t){return{x:void 0!==t.pageX?t.pageX:t.clientX,y:void 0!==t.pageY?t.pageY:t.clientY}},o}),function(t,e){"function"==typeof define&&define.amd?define("unidragger/unidragger",["eventie/eventie","unipointer/unipointer"],function(i,n){return e(t,i,n)}):"object"==typeof exports?module.exports=e(t,require("eventie"),require("unipointer")):t.Unidragger=e(t,t.eventie,t.Unipointer)}(window,function(t,e,i){function n(){}function o(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function r(){}function s(){return!1}r.prototype=new i,r.prototype.bindHandles=function(){this._bindHandles(!0)},r.prototype.unbindHandles=function(){this._bindHandles(!1)};var a=t.navigator;r.prototype._bindHandles=function(t){t=void 0===t?!0:!!t;var i;i=a.pointerEnabled?function(e){e.style.touchAction=t?"none":""}:a.msPointerEnabled?function(e){e.style.msTouchAction=t?"none":""}:function(){t&&h(s)};for(var n=t?"bind":"unbind",o=0,r=this.handles.length;r>o;o++){var s=this.handles[o];this._bindStartEvent(s,t),i(s),e[n](s,"click",this)}};var l="attachEvent"in document.documentElement,h=l?function(t){"IMG"==t.nodeName&&(t.ondragstart=s);for(var e=t.querySelectorAll("img"),i=0,n=e.length;n>i;i++){var o=e[i];o.ondragstart=s}}:n,c=r.allowTouchstartNodes={INPUT:!0,A:!0,BUTTON:!0,SELECT:!0};return r.prototype.pointerDown=function(t,e){this._dragPointerDown(t,e);var i=document.activeElement;i&&i.blur&&i.blur(),this._bindPostStartEvents(t),this.emitEvent("pointerDown",[this,t,e])},r.prototype._dragPointerDown=function(t,e){this.pointerDownPoint=i.getPointerPoint(e);var n=t.target.nodeName,r="touchstart"==t.type&&c[n];r||"SELECT"==n||o(t)},r.prototype.pointerMove=function(t,e){var i=this._dragPointerMove(t,e);this.emitEvent("pointerMove",[this,t,e,i]),this._dragMove(t,e,i)},r.prototype._dragPointerMove=function(t,e){var n=i.getPointerPoint(e),o={x:n.x-this.pointerDownPoint.x,y:n.y-this.pointerDownPoint.y};return!this.isDragging&&this.hasDragStarted(o)&&this._dragStart(t,e),o},r.prototype.hasDragStarted=function(t){return Math.abs(t.x)>3||Math.abs(t.y)>3},r.prototype.pointerUp=function(t,e){this.emitEvent("pointerUp",[this,t,e]),this._dragPointerUp(t,e)},r.prototype._dragPointerUp=function(t,e){this.isDragging?this._dragEnd(t,e):this._staticClick(t,e)},r.prototype._dragStart=function(t,e){this.isDragging=!0,this.dragStartPoint=r.getPointerPoint(e),this.isPreventingClicks=!0,this.dragStart(t,e)},r.prototype.dragStart=function(t,e){this.emitEvent("dragStart",[this,t,e])},r.prototype._dragMove=function(t,e,i){this.isDragging&&this.dragMove(t,e,i)},r.prototype.dragMove=function(t,e,i){this.emitEvent("dragMove",[this,t,e,i])},r.prototype._dragEnd=function(t,e){this.isDragging=!1;var i=this;setTimeout(function(){delete i.isPreventingClicks}),this.dragEnd(t,e)},r.prototype.dragEnd=function(t,e){this.emitEvent("dragEnd",[this,t,e])},r.prototype.onclick=function(t){this.isPreventingClicks&&o(t)},r.prototype._staticClick=function(t,e){"INPUT"==t.target.nodeName&&"text"==t.target.type&&t.target.focus(),this.staticClick(t,e)},r.prototype.staticClick=function(t,e){this.emitEvent("staticClick",[this,t,e])},r.getPointerPoint=function(t){return{x:void 0!==t.pageX?t.pageX:t.clientX,y:void 0!==t.pageY?t.pageY:t.clientY}},r.getPointerPoint=i.getPointerPoint,r
}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/drag",["classie/classie","eventie/eventie","./flickity","unidragger/unidragger","fizzy-ui-utils/utils"],function(i,n,o,r,s){return e(t,i,n,o,r,s)}):"object"==typeof exports?module.exports=e(t,require("desandro-classie"),require("eventie"),require("./flickity"),require("unidragger"),require("fizzy-ui-utils")):(t.Flickity=t.Flickity||{},t.Flickity.dragPrototype=e(t,t.classie,t.eventie,t.Flickity,t.Unidragger,t.fizzyUIUtils))}(window,function(t,e,i,n,o,r){function s(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function a(e){var i=o.getPointerPoint(e);return i.y-t.pageYOffset}r.extend(n.defaults,{draggable:!0,touchVerticalScroll:!0}),n.createMethods.push("_createDrag");var l={};r.extend(l,o.prototype),l._createDrag=function(){this.on("activate",this.bindDrag),this.on("uiChange",this._uiChangeDrag),this.on("childUIPointerDown",this._childUIPointerDownDrag),this.on("deactivate",this.unbindDrag)},l.bindDrag=function(){this.options.draggable&&!this.isDragBound&&(e.add(this.element,"is-draggable"),this.handles=[this.viewport],this.bindHandles(),this.isDragBound=!0)},l.unbindDrag=function(){this.isDragBound&&(e.remove(this.element,"is-draggable"),this.unbindHandles(),delete this.isDragBound)},l.hasDragStarted=function(t){return Math.abs(t.x)>3},l._uiChangeDrag=function(){delete this.isFreeScrolling},l._childUIPointerDownDrag=function(t){s(t),this.pointerDownFocus(t)},l.pointerDown=function(t,i){this._dragPointerDown(t,i);var n=document.activeElement;n&&n.blur&&n!=this.element&&n.blur(),this.pointerDownFocus(t),this.velocity=0,e.add(this.viewport,"is-pointer-down"),this._bindPostStartEvents(t),this.dispatchEvent("pointerDown",t,[i])};var h={touchstart:!0,MSPointerDown:!0},c={INPUT:!0,SELECT:!0};l.pointerDownFocus=function(t){!this.options.accessibility||h[t.type]||c[t.target.nodeName]||this.element.focus()},l.pointerMove=function(t,e){var i=this._dragPointerMove(t,e);this.touchVerticalScrollMove(t,e,i),this._dragMove(t,e,i),this.dispatchEvent("pointerMove",t,[e,i])},l.pointerUp=function(t,i){delete this.isTouchScrolling,e.remove(this.viewport,"is-pointer-down"),this.dispatchEvent("pointerUp",t,[i]),this._dragPointerUp(t,i)};var d={touchmove:!0,MSPointerMove:!0};return l.touchVerticalScrollMove=function(e,i,n){if(this.options.touchVerticalScroll&&d[e.type]&&(!this.isTouchScrolling&&Math.abs(n.y)>16&&(this.startScrollY=t.pageYOffset,this.pointerWindowStartY=a(i),this.isTouchScrolling=!0),this.isTouchScrolling)){var o=this.pointerWindowStartY-a(i),r=this.startScrollY+o;t.scroll(t.pageXOffset,r)}},l.dragStart=function(t,e){this.dragStartPosition=this.x,this.startAnimation(),this.dispatchEvent("dragStart",t,[e])},l.dragMove=function(t,e,i){this.previousDragX=this.x;var n=i.x,o=this.options.rightToLeft?-1:1;if(this.x=this.dragStartPosition+n*o,!this.options.wrapAround&&this.cells.length){var r=Math.max(-this.cells[0].target,this.dragStartPosition);this.x=this.x>r?.5*(this.x-r)+r:this.x;var s=Math.min(-this.getLastCell().target,this.dragStartPosition);this.x=this.x<s?.5*(this.x-s)+s:this.x}this.previousDragMoveTime=this.dragMoveTime,this.dragMoveTime=new Date,this.dispatchEvent("dragMove",t,[e,i])},l.dragEnd=function(t,e){this.dragEndFlick(),this.options.freeScroll&&(this.isFreeScrolling=!0);var i=this.dragEndRestingSelect();if(this.options.freeScroll&&!this.options.wrapAround){var n=this.getRestingPosition();this.isFreeScrolling=-n>this.cells[0].target&&-n<this.getLastCell().target}else this.options.freeScroll||i!=this.selectedIndex||(i+=this.dragEndBoostSelect());this.select(i),this.dispatchEvent("dragEnd",t,[e])},l.dragEndFlick=function(){if(isFinite(this.previousDragX)){var t=this.dragMoveTime-this.previousDragMoveTime;if(t){t/=1e3/60;var e=this.x-this.previousDragX;this.velocity=e/t}delete this.previousDragX}},l.dragEndRestingSelect=function(){var t=this.getRestingPosition(),e=Math.abs(this.getCellDistance(-t,this.selectedIndex)),i=this._getClosestResting(t,e,1),n=this._getClosestResting(t,e,-1),o=i.distance<n.distance?i.index:n.index;return this.options.contain&&!this.options.wrapAround&&(o=Math.abs(o-this.selectedIndex)<=1?this.selectedIndex:o),o},l._getClosestResting=function(t,e,i){for(var n=this.selectedIndex,o=1/0,r=this.options.contain&&!this.options.wrapAround?function(t,e){return e>=t}:function(t,e){return e>t};r(e,o)&&(n+=i,o=e,e=this.getCellDistance(-t,n),null!==e);)e=Math.abs(e);return{distance:o,index:n-i}},l.getCellDistance=function(t,e){var i=this.cells.length,n=this.options.wrapAround&&i>1,o=n?r.modulo(e,i):e,s=this.cells[o];if(!s)return null;var a=n?this.slideableWidth*Math.floor(e/i):0;return t-(s.target+a)},l.dragEndBoostSelect=function(){var t=this.getCellDistance(-this.x,this.selectedIndex);return t>0&&this.velocity<-1?1:0>t&&this.velocity>1?-1:0},l.staticClick=function(t,e){var i=this.getParentCell(t.target),n=i&&r.indexOf(this.cells,i),o=i&&i.element;this.dispatchEvent("staticClick",t,[e,n,o])},r.extend(n.prototype,l),n}),function(t,e){"function"==typeof define&&define.amd?define("tap-listener/tap-listener",["unipointer/unipointer"],function(i){return e(t,i)}):"object"==typeof exports?module.exports=e(t,require("unipointer")):t.TapListener=e(t,t.Unipointer)}(window,function(t,e){function i(t){this.bindTap(t)}i.prototype=new e,i.prototype.bindTap=function(t){t&&(this.unbindTap(),this.tapElement=t,this._bindStartEvent(t,!0))},i.prototype.unbindTap=function(){this.tapElement&&(this._bindStartEvent(this.tapElement,!0),delete this.tapElement)};var n=void 0!==t.pageYOffset;return i.prototype.pointerUp=function(i,o){var r=e.getPointerPoint(o),s=this.tapElement.getBoundingClientRect(),a=n?t.pageXOffset:document.body.scrollLeft,l=n?t.pageYOffset:document.body.scrollTop,h=r.x>=s.left+a&&r.x<=s.right+a&&r.y>=s.top+l&&r.y<=s.bottom+l;h&&this.emitEvent("tap",[this,i,o])},i.prototype.destroy=function(){this.pointerDone(),this.unbindTap()},i}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/prev-next-button",["eventie/eventie","./flickity","tap-listener/tap-listener","fizzy-ui-utils/utils"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof exports?module.exports=e(t,require("eventie"),require("./flickity"),require("tap-listener"),require("fizzy-ui-utils")):(t.Flickity=t.Flickity||{},t.Flickity.PrevNextButton=e(t,t.eventie,t.Flickity,t.TapListener,t.fizzyUIUtils))}(window,function(t,e,i,n,o){function r(t,e){this.direction=t,this.parent=e,this._create()}var s="http://www.w3.org/2000/svg",a=function(){function t(){if(void 0!==e)return e;var t=document.createElement("div");return t.innerHTML="<svg/>",e=(t.firstChild&&t.firstChild.namespaceURI)==s}var e;return t}();return r.prototype=new n,r.prototype._create=function(){this.isEnabled=!0,this.isPrevious=-1==this.direction;var t=this.parent.options.rightToLeft?1:-1;this.isLeft=this.direction==t;var e=this.element=document.createElement("button");if(e.className="flickity-prev-next-button",e.className+=this.isPrevious?" previous":" next",e.setAttribute("type","button"),i.setUnselectable(e),a()){var n=this.createSVG();e.appendChild(n)}else this.setArrowText(),e.className+=" no-svg";var o=this;this.onselect=function(){o.update()},this.parent.on("select",this.onselect),this.on("tap",this.onTap),this.on("pointerDown",function(t,e){o.parent.childUIPointerDown(e)})},r.prototype.activate=function(){this.update(),this.bindTap(this.element),e.bind(this.element,"click",this),this.parent.element.appendChild(this.element)},r.prototype.deactivate=function(){this.parent.element.removeChild(this.element),n.prototype.destroy.call(this),e.unbind(this.element,"click",this)},r.prototype.createSVG=function(){var t=document.createElementNS(s,"svg");t.setAttribute("viewBox","0 0 100 100");var e=document.createElementNS(s,"path");e.setAttribute("d","M 50,0 L 60,10 L 20,50 L 60,90 L 50,100 L 0,50 Z"),e.setAttribute("class","arrow");var i=this.isLeft?"translate(15,0)":"translate(85,100) rotate(180)";return e.setAttribute("transform",i),t.appendChild(e),t},r.prototype.setArrowText=function(){var t=this.parent.options,e=this.isLeft?t.leftArrowText:t.rightArrowText;o.setText(this.element,e)},r.prototype.onTap=function(){if(this.isEnabled){this.parent.uiChange();var t=this.isPrevious?"previous":"next";this.parent[t]()}},r.prototype.handleEvent=o.handleEvent,r.prototype.onclick=function(){var t=document.activeElement;t&&t==this.element&&this.onTap()},r.prototype.enable=function(){this.isEnabled||(this.element.disabled=!1,this.isEnabled=!0)},r.prototype.disable=function(){this.isEnabled&&(this.element.disabled=!0,this.isEnabled=!1)},r.prototype.update=function(){var t=this.parent.cells;if(this.parent.options.wrapAround&&t.length>1)return void this.enable();var e=t.length?t.length-1:0,i=this.isPrevious?0:e,n=this.parent.selectedIndex==i?"disable":"enable";this[n]()},r.prototype.destroy=function(){this.deactivate()},o.extend(i.defaults,{prevNextButtons:!0,leftArrowText:"‹",rightArrowText:"›"}),i.createMethods.push("_createPrevNextButtons"),i.prototype._createPrevNextButtons=function(){this.options.prevNextButtons&&(this.prevButton=new r(-1,this),this.nextButton=new r(1,this),this.on("activate",this.activatePrevNextButtons))},i.prototype.activatePrevNextButtons=function(){this.prevButton.activate(),this.nextButton.activate(),this.on("deactivate",this.deactivatePrevNextButtons)},i.prototype.deactivatePrevNextButtons=function(){this.prevButton.deactivate(),this.nextButton.deactivate(),this.off("deactivate",this.deactivatePrevNextButtons)},i.PrevNextButton=r,r}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/page-dots",["eventie/eventie","./flickity","tap-listener/tap-listener","fizzy-ui-utils/utils"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof exports?module.exports=e(t,require("eventie"),require("./flickity"),require("tap-listener"),require("fizzy-ui-utils")):(t.Flickity=t.Flickity||{},t.Flickity.PageDots=e(t,t.eventie,t.Flickity,t.TapListener,t.fizzyUIUtils))}(window,function(t,e,i,n,o){function r(t){this.parent=t,this._create()}return r.prototype=new n,r.prototype._create=function(){this.holder=document.createElement("ol"),this.holder.className="flickity-page-dots",i.setUnselectable(this.holder),this.dots=[];var t=this;this.onselect=function(){t.updateSelected()},this.parent.on("select",this.onselect),this.on("tap",this.onTap),this.on("pointerDown",function(e,i){t.parent.childUIPointerDown(i)})},r.prototype.activate=function(){this.setDots(),this.updateSelected(),this.bindTap(this.holder),this.parent.element.appendChild(this.holder)},r.prototype.deactivate=function(){this.parent.element.removeChild(this.holder),n.prototype.destroy.call(this)},r.prototype.setDots=function(){var t=this.parent.cells.length-this.dots.length;t>0?this.addDots(t):0>t&&this.removeDots(-t)},r.prototype.addDots=function(t){for(var e=document.createDocumentFragment(),i=[];t;){var n=document.createElement("li");n.className="dot",e.appendChild(n),i.push(n),t--}this.holder.appendChild(e),this.dots=this.dots.concat(i)},r.prototype.removeDots=function(t){for(var e=this.dots.splice(this.dots.length-t,t),i=0,n=e.length;n>i;i++){var o=e[i];this.holder.removeChild(o)}},r.prototype.updateSelected=function(){this.selectedDot&&(this.selectedDot.className="dot"),this.dots.length&&(this.selectedDot=this.dots[this.parent.selectedIndex],this.selectedDot.className="dot is-selected")},r.prototype.onTap=function(t,e){var i=e.target;if("LI"==i.nodeName){this.parent.uiChange();var n=o.indexOf(this.dots,i);this.parent.select(n)}},r.prototype.destroy=function(){this.deactivate()},i.PageDots=r,o.extend(i.defaults,{pageDots:!0}),i.createMethods.push("_createPageDots"),i.prototype._createPageDots=function(){this.options.pageDots&&(this.pageDots=new r(this),this.on("activate",this.activatePageDots),this.on("cellAddedRemoved",this.onCellAddedRemovedPageDots),this.on("deactivate",this.deactivatePageDots))},i.prototype.activatePageDots=function(){this.pageDots.activate()},i.prototype.onCellAddedRemovedPageDots=function(){this.pageDots.setDots()},i.prototype.deactivatePageDots=function(){this.pageDots.deactivate()},i.PageDots=r,r}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/player",["eventEmitter/EventEmitter","eventie/eventie","./flickity"],function(t,i,n){return e(t,i,n)}):"object"==typeof exports?module.exports=e(require("wolfy87-eventemitter"),require("eventie"),require("./flickity")):(t.Flickity=t.Flickity||{},t.Flickity.Player=e(t.EventEmitter,t.eventie,t.Flickity))}(window,function(t,e,i){function n(t){if(this.isPlaying=!1,this.parent=t,r){var e=this;this.onVisibilityChange=function(){e.visibilityChange()}}}var o,r;return"hidden"in document?(o="hidden",r="visibilitychange"):"webkitHidden"in document&&(o="webkitHidden",r="webkitvisibilitychange"),n.prototype=new t,n.prototype.play=function(){this.isPlaying=!0,delete this.isPaused,r&&document.addEventListener(r,this.onVisibilityChange,!1),this.tick()},n.prototype.tick=function(){if(this.isPlaying&&!this.isPaused){this.tickTime=new Date;var t=this.parent.options.autoPlay;t="number"==typeof t?t:3e3;var e=this;this.timeout=setTimeout(function(){e.parent.next(!0),e.tick()},t)}},n.prototype.stop=function(){this.isPlaying=!1,delete this.isPaused,this.clear(),r&&document.removeEventListener(r,this.onVisibilityChange,!1)},n.prototype.clear=function(){clearTimeout(this.timeout)},n.prototype.pause=function(){this.isPlaying&&(this.isPaused=!0,this.clear())},n.prototype.unpause=function(){this.isPaused&&this.play()},n.prototype.visibilityChange=function(){var t=document[o];this[t?"pause":"unpause"]()},i.createMethods.push("_createPlayer"),i.prototype._createPlayer=function(){this.player=new n(this),this.on("activate",this.activatePlayer),this.on("uiChange",this.stopPlayer),this.on("pointerDown",this.stopPlayer),this.on("deactivate",this.deactivatePlayer)},i.prototype.activatePlayer=function(){this.options.autoPlay&&(this.player.play(),e.bind(this.element,"mouseenter",this),this.isMouseenterBound=!0)},i.prototype.stopPlayer=function(){this.player.stop()},i.prototype.deactivatePlayer=function(){this.player.stop(),this.isMouseenterBound&&(e.unbind(this.element,"mouseenter",this),delete this.isMouseenterBound)},i.prototype.onmouseenter=function(){this.player.pause(),e.bind(this.element,"mouseleave",this)},i.prototype.onmouseleave=function(){this.player.unpause(),e.unbind(this.element,"mouseleave",this)},i.Player=n,n}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/add-remove-cell",["./flickity","fizzy-ui-utils/utils"],function(i,n){return e(t,i,n)}):"object"==typeof exports?module.exports=e(t,require("./flickity"),require("fizzy-ui-utils")):(t.Flickity=t.Flickity||{},t.Flickity=e(t,t.Flickity,t.fizzyUIUtils))}(window,function(t,e,i){function n(t){for(var e=document.createDocumentFragment(),i=0,n=t.length;n>i;i++){var o=t[i];e.appendChild(o.element)}return e}return e.prototype.insert=function(t,e){var i=this._makeCells(t);if(i&&i.length){var o=this.cells.length;e=void 0===e?o:e;var r=n(i),s=e==o;if(s)this.slider.appendChild(r);else{var a=this.cells[e].element;this.slider.insertBefore(r,a)}if(0===e)this.cells=i.concat(this.cells);else if(s)this.cells=this.cells.concat(i);else{var l=this.cells.splice(e,o-e);this.cells=this.cells.concat(i).concat(l)}this._sizeCells(i);var h=e>this.selectedIndex?0:i.length;this._cellAddedRemoved(e,h)}},e.prototype.append=function(t){this.insert(t,this.cells.length)},e.prototype.prepend=function(t){this.insert(t,0)},e.prototype.remove=function(t){var e,n,o,r=this.getCells(t),s=0;for(e=0,n=r.length;n>e;e++){o=r[e];var a=i.indexOf(this.cells,o)<this.selectedIndex;s-=a?1:0}for(e=0,n=r.length;n>e;e++)o=r[e],o.remove(),i.removeFrom(o,this.cells);r.length&&this._cellAddedRemoved(0,s)},e.prototype._cellAddedRemoved=function(t,e){e=e||0,this.selectedIndex+=e,this.selectedIndex=Math.max(0,Math.min(this.cells.length-1,this.selectedIndex)),this.emitEvent("cellAddedRemoved",[t,e]),this.cellChange(t)},e.prototype.cellSizeChange=function(t){var e=this.getCell(t);if(e){e.getSize();var n=i.indexOf(this.cells,e);this.cellChange(n)}},e.prototype.cellChange=function(t){t=t||0,this._positionCells(t),this._getWrapShiftCells(),this.setContainerSize(),this.options.freeScroll?this.positionSlider():(this.positionSliderAtSelected(),this.select(this.selectedIndex))},e}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/index",["./flickity","./drag","./prev-next-button","./page-dots","./player","./add-remove-cell"],e):"object"==typeof exports&&(module.exports=e(require("./flickity"),require("./drag"),require("./prev-next-button"),require("./page-dots"),require("./player"),require("./add-remove-cell")))}(window,function(t){return t}),function(t,e){"function"==typeof define&&define.amd?define("flickity-as-nav-for/as-nav-for",["classie/classie","flickity/js/index","fizzy-ui-utils/utils"],function(i,n,o){return e(t,i,n,o)}):"object"==typeof exports?module.exports=e(t,require("dessandro-classie"),require("flickity"),require("fizzy-ui-utils")):t.Flickity=e(t,t.classie,t.Flickity,t.fizzyUIUtils)}(window,function(t,e,i,n){return i.createMethods.push("_createAsNavFor"),i.prototype._createAsNavFor=function(){this.on("activate",this.activateAsNavFor),this.on("deactivate",this.deactivateAsNavFor),this.on("destroy",this.destroyAsNavFor);var t=this.options.asNavFor;if(t){var e=this;setTimeout(function(){e.setNavCompanion(t)})}},i.prototype.setNavCompanion=function(t){t=n.getQueryElement(t);var e=i.data(t);if(e&&e!=this){this.navCompanion=e;var o=this;this.onNavCompanionSelect=function(){o.navCompanionSelect()},e.on("select",this.onNavCompanionSelect),this.on("staticClick",this.onNavStaticClick),this.navCompanionSelect()}},i.prototype.navCompanionSelect=function(){if(this.navCompanion){var t=this.navCompanion.selectedIndex;this.select(t),this.removeNavSelectedElement(),this.selectedIndex==t&&(this.navSelectedElement=this.cells[t].element,e.add(this.navSelectedElement,"is-nav-selected"))}},i.prototype.activateAsNavFor=function(){this.navCompanionSelect()},i.prototype.removeNavSelectedElement=function(){this.navSelectedElement&&(e.remove(this.navSelectedElement,"is-nav-selected"),delete this.navSelectedElement)},i.prototype.onNavStaticClick=function(t,e,i){"number"==typeof i&&this.navCompanion.select(i)},i.prototype.deactivateAsNavFor=function(){this.removeNavSelectedElement()},i.prototype.destroyAsNavFor=function(){this.navCompanion&&(this.navCompanion.off("select",this.onNavCompanionSelect),this.off("staticClick",this.onNavStaticClick),delete this.navCompanion)},i}),function(t,e){"function"==typeof define&&define.amd?define("imagesloaded/imagesloaded",["eventEmitter/EventEmitter","eventie/eventie"],function(i,n){return e(t,i,n)}):"object"==typeof exports?module.exports=e(t,require("wolfy87-eventemitter"),require("eventie")):t.imagesLoaded=e(t,t.EventEmitter,t.eventie)}(window,function(t,e,i){function n(t,e){for(var i in e)t[i]=e[i];return t}function o(t){return"[object Array]"===p.call(t)}function r(t){var e=[];if(o(t))e=t;else if("number"==typeof t.length)for(var i=0,n=t.length;n>i;i++)e.push(t[i]);else e.push(t);return e}function s(t,e,i){if(!(this instanceof s))return new s(t,e);"string"==typeof t&&(t=document.querySelectorAll(t)),this.elements=r(t),this.options=n({},this.options),"function"==typeof e?i=e:n(this.options,e),i&&this.on("always",i),this.getImages(),h&&(this.jqDeferred=new h.Deferred);var o=this;setTimeout(function(){o.check()})}function a(t){this.img=t}function l(t){this.src=t,u[t]=this}var h=t.jQuery,c=t.console,d="undefined"!=typeof c,p=Object.prototype.toString;s.prototype=new e,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var t=0,e=this.elements.length;e>t;t++){var i=this.elements[t];"IMG"===i.nodeName&&this.addImage(i);var n=i.nodeType;if(n&&(1===n||9===n||11===n))for(var o=i.querySelectorAll("img"),r=0,s=o.length;s>r;r++){var a=o[r];this.addImage(a)}}},s.prototype.addImage=function(t){var e=new a(t);this.images.push(e)},s.prototype.check=function(){function t(t,o){return e.options.debug&&d&&c.log("confirm",t,o),e.progress(t),i++,i===n&&e.complete(),!0}var e=this,i=0,n=this.images.length;if(this.hasAnyBroken=!1,!n)return void this.complete();for(var o=0;n>o;o++){var r=this.images[o];r.on("confirm",t),r.check()}},s.prototype.progress=function(t){this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded;var e=this;setTimeout(function(){e.emit("progress",e,t),e.jqDeferred&&e.jqDeferred.notify&&e.jqDeferred.notify(e,t)})},s.prototype.complete=function(){var t=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var e=this;setTimeout(function(){if(e.emit(t,e),e.emit("always",e),e.jqDeferred){var i=e.hasAnyBroken?"reject":"resolve";e.jqDeferred[i](e)}})},h&&(h.fn.imagesLoaded=function(t,e){var i=new s(this,t,e);return i.jqDeferred.promise(h(this))}),a.prototype=new e,a.prototype.check=function(){var t=u[this.img.src]||new l(this.img.src);if(t.isConfirmed)return void this.confirm(t.isLoaded,"cached was confirmed");if(this.img.complete&&void 0!==this.img.naturalWidth)return void this.confirm(0!==this.img.naturalWidth,"naturalWidth");var e=this;t.on("confirm",function(t,i){return e.confirm(t.isLoaded,i),!0}),t.check()},a.prototype.confirm=function(t,e){this.isLoaded=t,this.emit("confirm",this,e)};var u={};return l.prototype=new e,l.prototype.check=function(){if(!this.isChecked){var t=new Image;i.bind(t,"load",this),i.bind(t,"error",this),t.src=this.src,this.isChecked=!0}},l.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},l.prototype.onload=function(t){this.confirm(!0,"onload"),this.unbindProxyEvents(t)},l.prototype.onerror=function(t){this.confirm(!1,"onerror"),this.unbindProxyEvents(t)},l.prototype.confirm=function(t,e){this.isConfirmed=!0,this.isLoaded=t,this.emit("confirm",this,e)},l.prototype.unbindProxyEvents=function(t){i.unbind(t.target,"load",this),i.unbind(t.target,"error",this)},s}),function(t,e){"function"==typeof define&&define.amd?define(["flickity/js/index","imagesloaded/imagesloaded","fizzy-ui-utils/utils"],function(i,n,o){return e(t,i,n,o)}):"object"==typeof exports?module.exports=e(t,require("flickity"),require("imagesloaded"),require("fizzy-ui-utils")):t.Flickity=e(t,t.Flickity,t.imagesLoaded,t.fizzyUIUtils)}(window,function(t,e,i,n){return e.createMethods.push("_createImagesLoaded"),e.prototype._createImagesLoaded=function(){this.on("activate",this.imagesLoaded)},e.prototype.imagesLoaded=function(){function t(t,i){var o=e.getCell(i.img),r=o&&o.element||n.getParent(i.img,".flickity-slider > *");e.cellSizeChange(r)}if(this.options.imagesLoaded){var e=this;i(this.slider).on("progress",t)}},e});
/*!
* jQuery Browser Plugin 0.0.6
* https://github.com/gabceb/jquery-browser-plugin
*
* Original jquery-browser code Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
* http://jquery.org/license
*
* Modifications Copyright 2014 Gabriel Cebrian
* https://github.com/gabceb
*
* Released under the MIT license
*
* Date: 30-03-2014
*/!function(a,b){"use strict";var c,d;if(a.uaMatch=function(a){a=a.toLowerCase();var b=/(opr)[\/]([\w.]+)/.exec(a)||/(chrome)[ \/]([\w.]+)/.exec(a)||/(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[],c=/(ipad)/.exec(a)||/(iphone)/.exec(a)||/(android)/.exec(a)||/(windows phone)/.exec(a)||/(win)/.exec(a)||/(mac)/.exec(a)||/(linux)/.exec(a)||/(cros)/i.exec(a)||[];return{browser:b[3]||b[1]||"",version:b[2]||"0",platform:c[0]||""}},c=a.uaMatch(b.navigator.userAgent),d={},c.browser&&(d[c.browser]=!0,d.version=c.version,d.versionNumber=parseInt(c.version)),c.platform&&(d[c.platform]=!0),(d.android||d.ipad||d.iphone||d["windows phone"])&&(d.mobile=!0),(d.cros||d.mac||d.linux||d.win)&&(d.desktop=!0),(d.chrome||d.opr||d.safari)&&(d.webkit=!0),d.rv){var e="msie";c.browser=e,d[e]=!0}if(d.opr){var f="opera";c.browser=f,d[f]=!0}if(d.safari&&d.android){var g="android";c.browser=g,d[g]=!0}d.name=c.browser,d.platform=c.platform,a.browser=d}(jQuery,window);
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/
(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t
}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);
u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);
b41b 0000 101b 0000 0100 0200 0000 0000
0000 0000 0000 0000 0000 0100 9001 0000
0000 4c50 0000 0000 0000 0000 0000 0000
0000 0000 0100 0000 0000 0000 0824 6158
0000 0000 0000 0000 0000 0000 0000 0000
0000 0e00 6900 6300 6f00 6d00 6f00 6f00
6e00 0000 0e00 5200 6500 6700 7500 6c00
6100 7200 0000 1600 5600 6500 7200 7300
6900 6f00 6e00 2000 3100 2e00 3000 0000
0e00 6900 6300 6f00 6d00 6f00 6f00 6e00
0000 0000 0001 0000 000b 0080 0003 0030
4f53 2f32 0822 fec5 0000 00bc 0000 0060
636d 6170 026d b49b 0000 011c 0000 005c
6761 7370 0000 0010 0000 0178 0000 0008
676c 7966 efef 600d 0000 0180 0000 173c
6865 6164 010a 3c91 0000 18bc 0000 0036
6868 6561 04b2 02c5 0000 18f4 0000 0024
686d 7478 211e 007c 0000 1918 0000 0050
6c6f 6361 33be 2dec 0000 1968 0000 002a
6d61 7870 001d 019a 0000 1994 0000 0020
6e61 6d65 4418 b4d6 0000 19b4 0000 0139
706f 7374 0003 0000 0000 1af0 0000 0020
0003 0200 0190 0005 0000 014c 0166 0000
0047 014c 0166 0000 00f5 0019 0084 0000
0000 0000 0000 0000 0000 0000 0001 1000
0000 0000 0000 0000 0000 0000 0000 0040
0000 e80f 01e0 ffe0 ffe0 01e0 0020 0000
0001 0000 0000 0000 0000 0000 0020 0000
0000 0002 0000 0003 0000 0014 0003 0001
0000 0014 0004 0048 0000 000e 0008 0002
0006 0001 0020 e609 e809 e80f fffd ffff
0000 0000 0020 e600 e805 e80f fffd ffff
0001 ffe3 1a04 1809 1804 0003 0001 0000
0000 0000 0000 0000 0000 0000 0001 0001
ffff 000f 0001 0000 0000 0000 0000 0002
0000 3739 0100 0000 0001 0000 0000 0000
0000 0002 0000 3739 0100 0000 0001 0000
0000 0000 0000 0002 0000 3739 0100 0000
0001 0000 0010 0200 01b0 0069 0000 010e
0307 3e03 370e 0307 2e03 2322 0e02 1514
1614 1617 2e03 270e 0315 141e 0217 222e
0227 3014 3801 1514 1e02 170e 0222 232a
0226 271e 0333 0e03 232a 0226 231e 0333
323e 0235 3c03 353e 0337 0200 070f 0f0f
0808 0e0c 0903 0810 1012 0907 1114 150c
1527 1c11 0101 0121 3d37 3013 0405 0402
070c 120a 060d 0c0b 050c 171f 1203 0707
0704 0205 0505 0305 131a 1f12 0e1e 2123
1303 0607 0603 1126 292b 1648 704c 2707
0f0d 0c05 017f 0306 0403 0105 0d0e 1109
0408 0605 0208 0c08 0510 1d26 1603 0606
0603 0211 1c27 1806 0d0d 0e07 0e19 1712
0702 0305 0301 0113 221b 1304 0101 0101
0110 1b13 0b0b 110b 0601 0b12 0c06 3656
6b34 0203 0304 0106 0c0e 0f08 0005 0000
001f 02d0 018d 001a 003c 0055 006e 0089
0000 1332 1e02 373e 012e 0127 2e01 0e01
070e 0331 3330 3e02 3307 1514 1e02 3330
3a02 3332 3e02 3332 1e02 333a 0331 323e
023d 0121 0514 0e02 2b01 222e 023d 0134
3e02 3b01 321e 021d 0121 140e 022b 0122
2e02 3d01 343e 023b 0132 1e02 1d01 2716
3e02 3332 1e02 3133 302e 0227 2e02 0607
0e02 1617 d70a 0e0b 0b06 0702 050b 0606
1316 170a 0b38 3c2e 7f13 1c1e 0ad7 0509
0b07 2b47 5d32 0912 1112 0908 0e0e 0f08
3562 4a2c 070b 0905 fd30 0120 080d 110a
900a 110d 0808 0d11 0a90 0a11 0d08 0180
080d 110a 900a 110d 0808 0d11 0a90 0a11
0d08 db06 0b0b 0e0a 0a1e 1c13 7f2e 3c38
0b0a 1716 1306 060b 0502 0701 5f04 0503
0101 0b11 1309 0806 030a 0606 2224 1c14
1714 50d0 060c 0905 181c 1717 1c18 0509
0c06 d090 0a11 0d08 080d 110a 300a 120d
0707 0d12 0a30 0a11 0d08 080d 110a 300a
120d 0707 0d12 0a30 d501 0305 0414 1714
1c24 2206 060a 0306 0809 1311 0b01 0000
0002 001e ffe0 01e2 01e0 0005 0017 0000
1b01 1737 1321 0523 1733 0f01 2f01 331f
0131 3f01 2327 2107 1e29 b9b9 29fe 3c01
6ad8 05ce 0f74 7408 3904 3f3f 06c3 1001
1b05 01e0 fe33 3333 01cd 973a ad20 2059
2d11 1149 ab39 0000 0004 0000 ffe0 0200
01e0 0016 002d 0042 0059 0000 1327 3e03
3332 1e02 1723 2a03 2322 0e02 0737 331e
0315 140e 0207 373e 0335 342e 0227 0734
3e02 1736 1e02 1514 0e02 072e 0335 1707
2e03 3534 3e02 3717 1e03 3716 3632 3633
8149 112d 3339 1e23 4139 2f10 d101 0303
0301 1729 2217 06db 9205 0605 0228 445d
3469 0509 0603 050b 0e09 b90f 1922 1313
2219 0f0f 1922 1313 2219 0f80 492e 503b
2104 090c 0868 0819 1e24 1405 0908 0904
0101 7f16 2319 0e12 212e 1c0f 1a24 153c
0b17 1719 0c35 5c46 2801 b508 1213 140a
0e1a 1716 085d 1223 1810 0101 1018 2312
1421 1a0e 0101 0e1a 2114 7f7e 062d 4357
2f12 2021 1d0f b70f 1d13 0c01 0102 0300
0001 0000 fffd 01ff 01c2 0197 0000 0107
302e 0227 2e03 311e 0214 3130 2e02 272e
0206 2322 3801 2231 3801 3230 3138 0331
301e 0217 3022 0e01 0722 1e02 1730 2e02
271e 010e 0107 062e 0227 1614 0e01 0722
3e02 070e 012e 0127 1632 3e01 3738 0331
3e03 3316 3e01 2627 2e03 070e 0226 272e
0335 3c01 3e01 353e 0333 3216 3216 3330
3c02 313c 0226 3534 2e02 2734 1434 1435
1434 1434 1536 1434 1435 1434 1434 1534
3034 1435 303e 0237 3e03 3732 3632 3631
3416 3414 3514 3416 3415 3414 3414 3532
3e02 3534 1434 1435 1434 1434 1534 3034
1435 1434 1434 1534 1434 1435 1434 1434
1534 1434 3035 1434 1434 1534 1434 3035
1434 1434 1534 1434 1435 1434 1434 1534
1434 1435 1434 1434 1534 2226 0627 1434
1434 1535 0626 0626 072e 0327 3e03 3734
1434 1435 3222 0e01 072e 0206 2306 2606
2607 2e03 2714 3414 3415 3414 3414 3514
0e02 1734 1430 1431 0e03 150e 0307 143e
0237 0e03 1714 3e02 371e 0317 1e03 1736
1636 1637 1636 3236 1536 323e 0137 3e02
2615 01ff 0603 0507 0406 0806 0304 0401
0711 1a13 1420 170c 0101 0101 1419 1704
090e 1309 011e 2826 0704 0609 0504 0201
0303 0101 0407 0602 060c 0901 0404 0105
1b38 342c 0e07 1414 1306 070b 0907 0403
0603 0103 020a 0c10 0906 0f11 140c 090b
0601 0101 0104 0504 0203 0605 0603 0101
0101 0101 0203 0503 0205 0504 0301 0402
0201 0101 0202 0202 0407 0502 0505 0604
060a 0705 0102 0608 0c07 010e 1618 0907
0e0d 0c06 0102 0303 0203 0907 0501 090b
0701 0304 0401 0306 0505 0202 0304 0403
0402 0101 0101 0101 0104 080d 0811 2a30
351d 050a 0a0a 0501 0101 0106 0c0b 0c06
504f 1f01 0139 2617 1f21 0a0f 1007 020b
0f0b 0511 1617 0607 0502 0204 0709 0601
0303 0716 2b24 0709 0802 0a1b 1c1a 0901
0407 0803 0e22 2019 0711 1209 0929 1907
190a 0204 0605 0408 0502 0102 0506 0303
0705 0102 0207 0402 0705 0a09 0803 0102
0202 0103 0403 0203 0403 0104 0201 0402
0301 0503 0401 0101 0101 0101 0101 0101
0101 0101 0101 0101 0101 0101 0101 0302
0401 0302 0402 0303 0201 0101 0102 0101
0101 0101 0101 0101 0303 0503 0101 0101
0101 0101 0101 0101 0101 0101 0101 0102
0101 0101 0101 0101 0102 0102 0101 0201
0101 0101 0101 0101 0101 0101 0101 0101
0101 0101 0101 0101 0101 0101 0101 0102
0201 0101 0101 0101 0101 0101 0101 0104
0906 0407 0f0c 0b03 0101 0101 0106 0c0b
0201 0102 0101 0102 0104 090d 0c09 0101
0101 0101 0101 0101 0108 1620 1901 0201
0506 0704 0105 0f10 170b 0105 070b 0506
1316 1d10 0105 050a 0409 1819 1c0e 1e2a
1f10 0401 0101 0101 0101 0101 0103 0103
1266 6953 0100 0000 0004 0010 ffe3 01e6
01a7 004f 005b 006b 007b 0000 2533 3436
3c01 3534 2e02 273e 012e 0127 2e01 0e01
072a 0226 2322 0e02 073e 0337 0e03 070e
0214 171e 013e 0137 1e03 3332 3e02 3723
0e03 2322 2e02 272e 033d 0133 273e 0333
321e 0217 2325 1e01 1406 072e 0327 3e02
1617 012e 013e 0137 1e03 170e 0226 2701
6f76 0104 070b 0707 0701 0b09 0a21 2b34
1d02 0404 0402 2746 3828 090c 191c 1e11
0209 0b09 012d 3b1d 100b 2027 2d18 0b18
191a 0e24 4137 280c 7706 1216 1a0d 0e1a
1611 0702 0502 02c1 c101 0f19 2113 1221
190f 01b9 0112 0706 0506 0916 1a1d 1011
1e1a 1407 fe6f 0806 030d 0a07 1317 1d10
1220 1b16 07a6 0306 0606 040f 1d1b 1b0c
1324 1f1a 0a09 0703 0e0c 011a 2c3d 2410
1b17 1308 0109 0b09 022c 6359 450f 0c0a
020e 0b05 0906 0316 2737 200b 130d 0707
0d13 0b06 0a0c 0c06 013a 1220 170e 0e17
2012 ae06 1216 1a0f 0e19 1512 0607 0801
0607 fe6e 0819 1f24 1512 211d 190a 0809
0206 0700 0002 000f ffe0 01f1 01e0 0014
002a 0000 1322 0e02 1514 1e02 3332 3e02
3534 2e02 2317 140e 0223 3122 2e02 3534
3e02 3332 1e02 15ff 3459 4023 233f 5935
3659 4023 2441 5934 5904 1124 201f 2311
0406 1222 1d1d 2313 0601 e024 435e 3932
5e47 2b2b 475e 323a 5e42 24f9 2048 3d29
293d 4820 2546 3621 2137 4624 0006 0010
ffe0 01f0 01e0 003c 0060 00a5 00de 00fc
0120 0000 012a 010e 0107 3422 3801 353e
0327 342e 0223 2a02 0623 0e03 1714 1e02
1738 0114 3031 0e03 1514 1e02 3332 3e02
3534 2e02 2327 343e 0233 363a 0233 321e
0217 140e 0207 2e02 2207 220e 0207 222e
0227 130e 0307 2707 0622 0622 2322 2e02
272e 0327 3727 2634 2634 3534 3e02 373e
0337 1737 3632 3632 3332 1e02 171e 0317
0717 1614 1614 1514 0e02 0727 072e 0323
2707 0e03 0727 170e 0315 0717 3801 1430
3107 371e 0333 1737 3e03 3717 273e 0335
3727 3801 3430 3137 0732 363a 0133 3a03
3339 0116 321e 0117 0f01 2634 2e01 3526
3e02 3717 3901 0e03 2322 062a 0123 2a03
2331 2622 2e01 273f 0116 141e 0115 160e
0207 0100 0508 0909 0401 0303 0201 0104
0608 0501 0202 0201 0509 0702 0103 0405
0326 402e 1a26 4157 3232 5741 2626 4157
324a 0205 0604 0101 0201 0103 0505 0201
0101 0301 0103 0403 0201 0303 0201 0203
0301 01cb 0912 1315 0b15 0603 0606 0603
1223 211e 0d08 0e0c 0903 2328 0101 070e
130d 0912 1315 0b15 0603 0606 0603 1223
211e 0d08 0e0c 0903 2328 0101 070e 130d
0562 0306 0606 0319 0202 0504 0402 2017
0102 0101 363c 4a62 0306 0606 0319 0202
0504 0402 2017 0102 0101 363c 4a86 0103
0203 0101 0102 0101 0203 0303 0224 1b01
0101 0204 0a0f 0a23 0203 0404 0201 0302
0301 0101 0201 0102 0303 0302 241b 0101
0102 0206 0a06 01c0 0101 0101 0101 0505
0502 0405 0402 0101 0507 0804 0304 0303
0101 0b2c 3d4a 2932 5741 2626 4157 3232
5741 2608 0205 0404 0101 0204 0102 0302
0301 0101 0101 0102 0301 0202 0202 fe87
080e 0c09 0323 2801 0107 0e13 0d09 1213
150b 1506 0306 0606 0312 2321 1e0d 080e
0c09 0323 2801 0107 0e13 0d09 1213 150b
1506 0306 0606 0312 2321 1e0d fd4a 0102
0201 363c 0103 0304 020b 1803 0505 0603
1902 0162 4a01 0202 0136 3c01 0303 0402
0b18 0305 0506 0319 0201 624d 0101 0101
011b 2401 0203 0201 0a12 100b 0258 0102
0102 0101 0101 011b 2401 0203 0201 080f
0d0b 0400 0003 0022 fff8 01de 01ce 0078
007d 0082 0000 2527 2e01 3436 3f01 3e01
2e01 2f01 2e03 3f01 3634 2606 0f01 0e01
2e01 2f01 2e02 060f 010e 0222 2f01 260e
021f 0114 0e02 0f01 220e 0116 1f01 1e01
1406 0f01 0e01 1e01 3717 321e 020f 0106
1e01 323f 0136 321e 011f 011e 013e 013f
013e 0216 1f01 1e01 3e01 2f01 343e 023f
013e 0226 2707 2735 3715 3507 3517 1501
de2c 0504 0405 2c05 0402 0806 3b06 0a05
0102 1f02 0408 0645 050c 0c09 0419 0308
0808 0417 030a 0c0d 0629 050a 0804 0102
0407 0b06 2806 0702 0405 2c05 0404 052c
0504 0208 0636 060a 0502 021c 0201 0409
053f 060c 0c0b 041a 0309 0808 0317 030a
0c0c 062c 060a 0704 0102 0407 0b06 2806
0702 0405 c434 3434 34a7 2705 0a0c 0a05
2606 0707 0302 0501 050a 0a07 5607 0704
0202 2c02 0304 0607 2c06 0501 0704 2a04
0903 0312 0402 040a 052b 050e 0a08 010c
0806 0a04 2803 0c0a 0c03 2903 0906 0601
0807 080c 0555 0509 0304 2305 0208 0428
0506 0205 062c 0607 0501 0218 0102 0608
0828 080b 0c07 0309 0305 0908 0530 0135
0137 5301 8601 8400 0003 0007 ffe0 01f9
01e0 0021 003a 0053 0000 2503 2e03 2322
0e02 0703 0e01 1416 171e 0333 2132 3e02
373e 0134 2627 0714 0e02 2b01 222e 023d
0134 3e02 3b01 321e 021d 0135 140e 022b
0122 2e02 3d01 343e 023b 0132 1e02 1d01
01f9 c004 0c0f 1109 0911 0f0c 04c0 0403
0505 040c 0e10 0801 8008 100e 0c04 0505
0304 d903 0406 0320 0306 0502 0205 0603
2003 0604 0303 0406 0320 0306 0502 0205
0603 2003 0604 033d 0180 080d 0905 0509
0d08 fe80 0810 1010 0707 0b08 0404 080b
0707 1010 1008 0d03 0604 0303 0406 0320
0306 0403 0304 0603 2080 0306 0403 0304
0603 a003 0604 0303 0406 03a0 0002 0000
ffe0 0200 01e0 0032 0065 0000 1322 0e02
0714 1e02 3133 323e 0134 353e 0333 321e
0217 070e 0114 161f 0116 3e02 2f01 342e
020f 012e 0323 1322 0e01 1415 0e03 2322
2e02 2737 3e01 3426 2f01 260e 021f 0114
1e02 3f01 1e03 3332 3e02 3734 2e02 3123
fd33 5a45 2902 0202 032b 0304 0202 2034
4527 1427 2420 0d1e 0202 0304 7e04 0806
0302 1e03 0405 0321 1129 2d33 1ad1 0304
0202 2034 4526 1527 241f 0e1f 0102 0303
7f04 0806 0302 1e03 0405 0321 1129 2e32
1b32 5a45 2902 0202 032b 01e0 2641 5833
0304 0201 0203 0301 2742 321d 090f 170e
1d02 0505 0301 1901 0205 0a06 7402 0402
0102 1f12 1c13 0bfe fc02 0303 0127 4232
1d09 0f17 0e1d 0205 0503 0119 0102 050a
0674 0204 0201 021f 121c 130b 2641 5932
0404 0101 0004 0000 000b 01ab 01b6 001e
003c 0051 0066 0000 0133 1514 0706 0722
2726 3d01 0706 2322 2726 3534 3f01 2322
2726 3534 3736 3307 3633 3217 1615 160f
0133 3217 1615 1407 062b 0135 3437 3633
3217 161d 0137 2227 263d 0133 3217 1615
1407 062b 0115 1407 0623 2132 1716 1d01
2322 2726 3534 3736 3b01 3534 3736 1701
2586 0808 0b0b 0808 5708 0b0c 0708 0857
2a0b 0807 0708 0b98 080b 0c07 0701 0858
2a0b 0808 0808 0b85 0808 0b0b 0807 1b0b
0808 860b 0708 0807 0b50 0808 0b01 0b0b
0807 850b 0808 0808 0b50 0808 0b01 b686
0b08 0701 0809 0a2a 5708 0807 0c0b 0857
0808 0b0b 0808 f807 0708 0b0c 0758 0808
0b0b 0708 850b 0808 0808 0b2a 7a08 080b
8508 080b 0b07 0850 0b08 0808 070c 8508
080b 0b08 084f 0b08 0901 0000 0004 0000
000b 01aa 01b6 001e 0033 0048 0066 0000
3733 1514 0706 2322 2726 2735 0706 2322
2726 3534 3f01 2322 2726 3534 3736 3337
2227 263d 0133 3217 1617 1407 062b 0115
1407 0623 0532 1716 1d01 2322 2726 3536
3736 3b01 3534 3736 3337 3633 3217 1607
140f 0133 3217 1615 0607 062b 0135 3437
3633 1617 161d 0138 8306 060c 0b08 0701
5a08 0b0c 0708 0857 270a 0808 0808 0a18
0b08 086b 0b08 0701 0809 0a35 0808 0b01
0b0b 0807 6a0b 0808 0107 070c 3508 080b
2208 0b0b 0808 0107 582a 0b08 0801 0707
0c85 0807 0c0b 0807 c585 0c07 0808 090a
2e5b 0808 070c 0b08 5708 090a 0b08 0736
0807 0b6b 0808 0b0b 0708 360b 0708 3607
080b 6b08 080b 0b08 0835 0b08 07e9 0808
080b 0b08 5808 080b 0b07 0885 0b08 0801
0707 0c2a 0003 0000 001d 01e7 019f 0047
009e 00b3 0000 011e 0114 060f 010e 012e
012f 012e 0234 3732 362e 0127 2e02 0607
0e03 1527 3734 163e 0137 3e01 2e01 152e
0222 3527 361e 021f 011e 0317 1e02 3217
3632 3616 1707 171e 0114 0607 0e01 2e01
2f01 070e 0226 2f01 2e01 3436 3f01 272e
0222 070e 012e 0127 2e02 3435 3734 1e02
331e 0132 3637 3e01 2e01 2722 2e02 1537
143e 0116 1734 1e02 331e 0206 0706 141e
011f 0137 1717 3e01 3426 272e 0206 070e
0114 1617 1e01 3e01 3701 e703 0202 0322
0307 0607 0308 0203 0101 0202 0205 0406
0c0c 0a03 0105 0403 2f07 0101 0202 0502
0305 0f23 1e13 012c 3d2a 1806 2203 0101
0304 0205 0505 0202 0607 0502 c971 0605
0606 0610 0f0f 0667 6004 080a 0904 1903
0404 036e 3506 0b09 0a05 060c 0e0e 070f
0f07 030b 0f0d 0202 090c 0d07 0702 0306
0202 0c0f 0b03 0e17 1d0f 0304 0501 0a09
0401 0102 0407 0535 402e 2503 0303 0303
0808 0804 0303 0303 0408 0808 0301 1902
0706 0802 2401 0401 0203 0803 0406 0403
0706 0803 0706 0304 0202 0405 0301 3007
0101 0301 0305 0c08 0601 110f 0901 0d0d
0510 1705 2302 0c0c 0e04 0302 0301 0101
0201 5f65 070d 110f 0705 0701 0607 6c73
0502 0104 031b 020a 080a 0367 3208 0705
0103 0101 0504 0b18 180f 0104 0108 0909
0203 0909 0b10 0e06 020a 0808 0106 0107
0302 0a01 0302 0509 1112 1008 060b 080a
0537 4230 cf02 0908 0902 0402 0104 0204
0709 0704 0205 0102 0400 0000 0008 0000
ffe3 01fa 01d9 0141 0146 014b 014f 0154
0159 015e 0162 0000 0138 0226 3138 013c
0131 3802 3431 3034 2230 3538 0335 3022
3034 3138 0134 2231 3801 3422 3130 3438
0131 3026 3801 3130 2638 0131 2234 3801
3122 3034 3031 3022 3801 3127 2e01 2206
0f01 3802 2231 3801 1422 3138 0206 3138
0206 3138 0206 3138 0214 3122 3014 3031
2230 1430 3130 1422 3031 1438 0231 1430
2214 3130 1438 0131 301c 0130 3130 0638
0131 1430 1430 1d01 301c 0130 1538 0216
3138 0114 3031 1438 0231 1430 1630 1538
0315 3801 3214 3138 0214 3338 0114 3033
3014 3801 3130 1638 0131 3016 3801 3130
3214 3031 3032 1430 3130 3238 0131 171e
0232 333a 013e 013f 0138 0232 3138 0134
3033 3801 3430 3338 0236 3138 0236 3138
0234 3130 3234 3031 3036 3801 3130 3430
3231 3438 0231 3430 3630 3538 0335 3801
3430 3130 3638 0131 3430 3c01 3135 3430
3430 3527 1707 2735 2315 0727 3707 1707
3517 2737 1715 3727 3717 0717 3537 1707
3727 3715 01fa 0101 0101 0101 0101 0101
e703 0606 0603 e701 0101 0101 0101 0101
0101 0101 0101 0101 0101 01e7 0103 0303
0201 0403 0301 e701 0101 0101 0101 0101
01e7 aa4c 5e2c 5e4c aabb 3636 bbaa 4c5e
164d 4d4d 4d16 5e4c aabb 3636 0130 0101
0101 0101 0101 0101 0101 0101 019a 0202
0202 9a01 0101 0101 0101 0101 0101 0101
0101 0101 019a 0101 0101 0101 0101 0101
0101 0101 0101 0101 9a01 0201 0102 019a
0101 0101 0101 0101 0101 0101 0101 0101
0101 9a01 0101 6e71 333f 6565 3f33 719a
2424 48e2 7133 3f65 8b33 3333 338b 653f
3371 9a24 2448 0000 0003 0006 0026 0211
019b 0024 0035 0046 0000 2516 0706 0706
0706 0706 2706 2726 2726 2726 2726 3736
3736 3736 3736 3716 1716 1716 1716 1705
3637 3627 3627 2607 2607 0607 1617 1617
3706 0706 2706 2726 3526 3736 3716 1716
1702 110b 0b04 0d0f 1f20 213a 4b4e 3822
1f22 0c0e 030d 0d02 0f0c 221f 2238 4e4b
3a20 2120 0f0c 04fe fa27 1a1c 0101 1c1a
2726 1c1a 0101 1a1c 2636 010e 1115 180e
1001 110f 1715 100f 01ef 0f0f 0611 1321
2215 2a01 012a 1621 2014 1106 0e10 0513
1122 1f18 2901 0129 181f 2211 1404 6e01
1b1d 2528 1a1c 0101 1c1a 2825 1d1b 015f
170f 1102 0110 0e18 160f 0e03 010f 1115
0001 0000 0000 0000 0b92 f8d0 5f0f 3cf5
000b 0200 0000 0000 cf8d fdea 0000 0000
cf8d fdea 0000 ffe0 02d0 01e0 0000 0008
0002 0000 0000 0000 0001 0000 01e0 ffe0
0000 02d0 0000 0000 02d0 0001 0000 0000
0000 0000 0000 0000 0000 0014 0000 0000
0000 0000 0000 0000 0100 0000 0200 0000
02d0 0000 0200 001e 0200 0000 0200 0000
0200 0010 0200 000f 0200 0010 0200 0022
0200 0007 0200 0000 01ab 0000 01ab 0000
01e7 0000 01fa 0000 0217 0006 0000 0000
000a 0014 001e 00a4 0156 0182 01fe 03da
0488 04c4 0630 06f2 0764 07f0 087c 0908
0a0c 0b2a 0b9e 0000 0001 0000 0014 0198
0008 0000 0000 0002 0000 0000 0000 0000
0000 0000 0000 0000 0000 000e 00ae 0001
0000 0000 0001 000e 0000 0001 0000 0000
0002 000e 0047 0001 0000 0000 0003 000e
0024 0001 0000 0000 0004 000e 0055 0001
0000 0000 0005 0016 000e 0001 0000 0000
0006 0007 0032 0001 0000 0000 000a 0028
0063 0003 0001 0409 0001 000e 0000 0003
0001 0409 0002 000e 0047 0003 0001 0409
0003 000e 0024 0003 0001 0409 0004 000e
0055 0003 0001 0409 0005 0016 000e 0003
0001 0409 0006 000e 0039 0003 0001 0409
000a 0028 0063 0069 0063 006f 006d 006f
006f 006e 0056 0065 0072 0073 0069 006f
006e 0020 0031 002e 0030 0069 0063 006f
006d 006f 006f 006e 6963 6f6d 6f6f 6e00
6900 6300 6f00 6d00 6f00 6f00 6e00 5200
6500 6700 7500 6c00 6100 7200 6900 6300
6f00 6d00 6f00 6f00 6e00 4700 6500 6e00
6500 7200 6100 7400 6500 6400 2000 6200
7900 2000 4900 6300 6f00 4d00 6f00 6f00
6e00 0000 0003 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="icomoon" horiz-adv-x="512">
<font-face units-per-em="512" ascent="480" descent="-32" />
<missing-glyph horiz-adv-x="512" />
<glyph unicode=" " d="" horiz-adv-x="256" />
<glyph unicode="" d="M512 382.791c-18.838-8.354-39.082-14.001-60.33-16.54 21.686 13 38.343 33.585 46.186 58.115-20.298-12.039-42.778-20.78-66.705-25.49-19.16 20.415-46.461 33.17-76.673 33.17-58.011 0-105.044-47.029-105.044-105.039 0-8.233 0.929-16.25 2.72-23.939-87.3 4.382-164.701 46.2-216.509 109.753-9.042-15.514-14.223-33.558-14.223-52.809 0-36.444 18.544-68.596 46.73-87.433-17.219 0.546-33.416 5.271-47.577 13.139-0.010-0.438-0.010-0.878-0.010-1.321 0-50.894 36.209-93.348 84.261-103-8.813-2.4-18.094-3.686-27.674-3.686-6.769 0-13.349 0.66-19.764 1.886 13.368-41.73 52.16-72.103 98.126-72.948-35.95-28.175-81.243-44.967-130.458-44.967-8.479 0-16.84 0.497-25.058 1.47 46.486-29.805 101.701-47.197 161.021-47.197 193.211 0 298.868 160.062 298.868 298.872 0 4.554-0.103 9.084-0.305 13.59 20.528 14.81 38.336 33.31 52.418 54.374z" />
<glyph unicode="" d="M214.848 351.2c27.44 0 34.304-13.712 52.576-11.424 18.288 2.288 2.288 34.288-13.712 57.136s-52.56 11.424-80-4.576c-27.424-16-173.136-104.576-173.136-104.576h127.424c0 0.016 59.424 63.44 86.848 63.44zM0 271.216v-208c0-17.664 14.32-32 32-32 0 0 123.36 0 257.328 0 24.032 0 46 74.672 70.672 74.672 21.424 0 37.536-74.672 58.656-74.672 142.288 0 269.328 0 269.328 0 17.68 0 32.016 14.336 32.016 32v208h-720zM288 127.2c0-26.496-21.504-48-48-48h-144c-26.512 0-48 21.504-48 48v48c0 26.512 21.488 48 48 48h144c26.496 0 48-21.488 48-48v-48zM672 127.2c0-26.496-21.504-48-48-48h-144c-26.512 0-48 21.504-48 48v48c0 26.512 21.488 48 48 48h144c26.496 0 48-21.488 48-48v-48zM452.56 339.776c18.288-2.288 25.136 11.424 52.576 11.424 27.424 0 86.864-63.424 86.864-63.424h127.424c0 0-145.712 88.576-173.136 104.576-27.44 16-64 27.424-80 4.576s-32-54.864-13.728-57.152z" horiz-adv-x="720" />
<glyph unicode="" d="M30.269 480l41.072-460.815 184.378-51.185 184.862 51.262 41.15 460.738h-451.462zM392.315 329.286h-216.27l5.151-57.875h205.984l-15.521-173.505-115.922-32.127-115.786 32.127-7.915 88.756h56.747l4.024-45.116 62.931-16.958 0.139 0.039 62.967 16.996 6.535 73.275h-195.87l-15.247 170.9h283.107l-5.054-56.512z" />
<glyph unicode="" d="M129.139 256.729l-73.266 126.901c46.909 58.732 119.117 96.37 200.127 96.37 93.716 0 175.655-50.368 220.266-125.5h-208.885c-3.752 0.325-7.546 0.5-11.381 0.5-60.937 0-112.289-41.822-126.861-98.271zM347.653 317.5h146.73c11.37-28.965 17.617-60.502 17.617-93.5 0-140.413-113.050-254.402-253.093-255.963l104.697 181.339c14.74 21.189 23.396 46.913 23.396 74.624 0 36.585-15.082 69.71-39.347 93.5zM163 224c0 51.28 41.72 93 93 93s93-41.72 93-93c0-51.28-41.72-93-93-93-51.28 0-93 41.72-93 93zM291.091 97.779l-73.289-126.939c-123.266 18.442-217.802 124.758-217.802 253.16 0 45.609 11.942 88.423 32.848 125.512l104.515-181.027c20.934-44.556 66.238-75.485 118.637-75.485 12.15 0 23.918 1.67 35.091 4.779z" />
<glyph unicode="" d="M511.263 312.93l-5.93-38.040c0 0-8.477 70.428-18.866 96.757-15.923 40.344-23.007 40.020-23.054 39.961 10.665-27.102 8.731-41.662 8.731-41.662s-18.896 51.499-68.856 67.884c-55.343 18.141-85.285 13.182-88.744 12.243-0.525 0.004-1.032 0.005-1.515 0.005 0.409-0.031 0.806-0.073 1.213-0.106-0.017-0.010-0.045-0.021-0.041-0.026 0.225-0.274 61.153-10.651 71.958-25.498 0 0-25.88 0-51.636-7.421-1.164-0.333 94.762-11.982 114.373-107.837 0 0-10.515 21.938-23.52 25.664 8.553-26.018 6.357-75.388-1.788-99.925-1.048-3.156-2.12 13.641-18.164 20.875 5.14-36.823-0.308-95.228-25.854-111.316-1.991-1.252 16.015 57.655 3.621 34.881-71.354-109.401-155.702-50.486-193.624-24.555 19.433-4.231 56.327 0.659 72.657 12.806 0.021 0.015 0.039 0.028 0.059 0.043 17.734 12.126 28.236 20.982 37.667 18.886 9.437-2.107 15.719 7.363 8.39 15.765-7.338 8.419-25.157 19.989-49.262 13.683-17-4.452-38.067-23.261-70.224-4.216-24.682 14.625-27.006 26.773-27.225 35.188 0.609 2.983 1.377 5.768 2.288 8.312 2.841 7.935 11.456 10.329 16.247 12.219 8.128-1.396 15.131-3.931 22.484-7.703 0.095 2.447 0.126 5.695-0.009 9.38 0.705 1.401 0.269 5.626-0.861 10.79-0.651 5.154-1.71 10.487-3.376 15.346 0.006 0.001 0.010 0.005 0.015 0.007 0.028 0.009 0.054 0.020 0.078 0.035 0.039 0.022 0.073 0.056 0.104 0.095 0.006 0.010 0.015 0.017 0.022 0.026 0.041 0.062 0.077 0.136 0.099 0.233 0.51 2.309 6.011 6.762 12.859 11.55 6.136 4.29 13.351 8.848 19.034 12.376 5.030 3.124 8.86 5.441 9.673 6.049 0.309 0.233 0.679 0.506 1.082 0.818 0.075 0.058 0.15 0.116 0.227 0.177 0.047 0.037 0.095 0.074 0.143 0.113 2.705 2.154 6.742 6.224 7.589 14.789 0.002 0.021 0.005 0.040 0.006 0.061 0.025 0.252 0.046 0.507 0.065 0.767 0.014 0.181 0.025 0.363 0.036 0.548 0.007 0.142 0.016 0.283 0.022 0.428 0.015 0.337 0.025 0.682 0.030 1.032 0 0.020 0.001 0.038 0.002 0.058 0.011 0.829-0.003 1.693-0.052 2.601-0.027 0.507-0.063 0.965-0.149 1.381-0.004 0.022-0.009 0.046-0.014 0.068-0.009 0.041-0.018 0.082-0.029 0.122-0.018 0.073-0.038 0.146-0.061 0.215-0.003 0.009-0.005 0.016-0.008 0.023-0.026 0.080-0.056 0.157-0.087 0.232-0.002 0.003-0.002 0.005-0.003 0.008-0.877 2.054-4.16 2.829-17.721 3.059-0.013 0.001-0.025 0.001-0.038 0.001v0c-5.533 0.094-12.769 0.097-22.251 0.059-16.625-0.067-25.814 16.252-28.747 22.566 4.020 22.23 15.638 38.071 34.725 48.813 0.361 0.203 0.29 0.371-0.137 0.489 3.732 2.257-45.123 0.062-67.593-28.518-19.944 4.957-37.327 4.623-52.308 1.107-2.877 0.081-6.462 0.44-10.717 1.326-9.962 9.028-24.224 25.701-24.988 45.604 0 0-0.046-0.036-0.126-0.102-0.010 0.191-0.028 0.38-0.036 0.571 0 0-30.358-23.332-25.814-86.941-0.011-1.018-0.032-1.993-0.060-2.937-8.216-11.144-12.293-20.51-12.596-22.578-7.28-14.822-14.667-37.127-20.678-70.99 0 0 4.204 13.333 12.642 28.433-6.206-19.011-11.082-48.578-8.218-92.928 0 0 0.757 9.833 3.437 23.997 2.093-27.505 11.259-61.462 34.429-101.394 44.474-76.66 112.835-115.37 188.396-121.308 13.418-1.106 27.025-1.132 40.712-0.093 1.258 0.089 2.516 0.182 3.775 0.287 15.482 1.087 31.067 3.426 46.619 7.183 212.586 51.399 189.471 308.099 189.471 308.099z" />
<glyph unicode="" d="M367.101 165.585h118.025c0.91 8.185 1.274 16.549 1.274 25.098 0 40.112-10.767 77.734-29.562 110.133 19.44 51.654 18.746 95.494-7.278 121.695-24.748 24.64-91.145 20.64-166.206-12.599-5.552 0.42-11.159 0.636-16.819 0.636-103.024 0-189.463-70.897-213.354-166.425 32.319 41.377 66.319 71.377 111.739 93.224-4.13-3.87-28.227-27.826-32.28-31.882-119.774-119.739-157.545-276.153-116.903-316.802 30.893-30.887 86.879-25.671 151.188 5.824 29.903-15.229 63.75-23.815 99.609-23.815 96.567 0 178.402 62.158 208.045 148.724h-118.934c-16.367-30.191-48.374-50.74-85.109-50.74-36.734 0-68.742 20.549-85.108 50.74-7.275 13.637-11.457 29.277-11.457 45.828v0.361h193.13zM174.151 223.598c2.728 48.555 43.1 87.292 92.383 87.292s89.656-38.736 92.383-87.292h-184.766zM448.483 398.096c16.763-16.94 16.344-48.107 2.006-87.011-24.568 37.454-60.259 66.968-102.396 83.82 45.053 19.319 81.703 21.878 100.39 3.191zM46.741-3.628c-21.391 21.398-14.942 66.309 12.615 120.416 17.154-48.135 50.578-88.545 93.668-114.577-47.715-21.659-86.768-25.337-106.283-5.839z" />
<glyph unicode="" d="M255.023 480c-139.862 0-240.374-101.448-240.374-253.612 0-135.409 97.751-258.388 240.392-258.388 144.039 0 242.31 122.943 242.31 258.388 0 153.38-103.723 253.612-242.328 253.612zM344.179 230.729c-0.034-84.676-4.549-205.241-89.138-205.241v-0.017c-83.392 0-86.716 120.633-86.716 205.154 0 99.19 9.28 194.284 86.716 194.284 77.437 0 89.138-96.292 89.138-194.18z" />
<glyph unicode="" d="M256 448c-12.032 0-23.854-0.896-35.412-2.606-0.15 0.391-0.312 0.774-0.491 1.148 6.413 5.001 9.775 11.915 8.317 18.776-1.867 8.782-11.197 14.682-23.217 14.682-2.59 0-5.229-0.281-7.84-0.836-15.084-3.207-25.073-14.311-22.741-25.281 1.417-6.669 7.146-11.669 15.082-13.692-0.016-0.486-0.008-0.975 0.021-1.467-100.311-28.765-173.719-121.169-173.719-230.724 0-132.549 107.452-240 240-240 132.549 0 240 107.451 240 240 0 132.548-107.451 240-240 240zM182.441 455.546c-1.353 6.363 6.24 13.595 16.579 15.792 2.066 0.439 4.145 0.662 6.177 0.662 8.018 0 14.347-3.432 15.392-8.345 0.798-3.755-1.535-7.805-5.693-10.952-3.517 2.483-8.008 3.563-12.55 2.598-4.522-0.961-8.174-3.754-10.379-7.428-5.092 1.225-8.754 4.042-9.526 7.673zM384.693 79.307c-21.984-21.984-48.605-37.639-77.655-46.077l-21.198 34.384-5.373-39.979c-8.045-1.076-16.213-1.635-24.467-1.635-48.614 0-94.318 18.932-128.693 53.307-21.984 21.983-37.639 48.605-46.077 77.654l34.384 21.199-39.98 5.373c-1.075 8.045-1.634 16.213-1.634 24.467 0 48.614 18.931 94.318 53.307 128.693 21.984 21.984 48.606 37.639 77.655 46.078l21.198-34.385 5.374 39.98c8.044 1.075 16.212 1.634 24.466 1.634 48.614 0 94.318-18.931 128.693-53.307 21.984-21.984 37.639-48.606 46.077-77.655l-34.385-21.199 39.98-5.373c1.076-8.044 1.635-16.212 1.635-24.466 0-48.614-18.932-94.318-53.307-128.693zM380.451 332.451l-98.489-74.852c-7.322 3.829-15.438 6.031-23.708 6.363l-25.54 53.59-1.534-59.332c-6.642-3.268-12.552-7.832-17.438-13.475l-31.544 11.182 23.046-24.269c-3.167-6.759-4.933-14.015-5.217-21.412l-53.579-25.533 59.369-1.534c0.19-0.384 0.387-0.763 0.585-1.141l-74.852-98.49 98.489 74.852c7.322-3.828 15.437-6.030 23.708-6.362l25.54-53.591 1.533 59.332c6.643 3.269 12.553 7.832 17.439 13.476l31.545-11.184-23.047 24.27c3.168 6.76 4.934 14.015 5.218 21.412l53.578 25.533-59.368 1.535c-0.189 0.383-0.387 0.762-0.585 1.14l74.851 98.49zM256.051 257.733v0zM246.021 254.951c3.363 0.715 6.722 1.059 10.028 1.059 2.072 0 4.125-0.135 6.147-0.398l0.046-0.016-0.005 0.011c4.366-0.572 8.588-1.75 12.566-3.448l-35.773-27.188-27.19-35.776c-1.188 2.797-2.135 5.742-2.79 8.826-5.513 25.93 11.040 51.418 36.971 56.93zM281.060 167.058v0 0c-4.528-2.772-9.591-4.842-15.080-6.009-3.363-0.715-6.722-1.059-10.027-1.059-2.075 0-4.129 0.136-6.154 0.399l-0.034 0.005c-4.367 0.571-8.587 1.75-12.566 3.447l35.772 27.188 27.19 35.777c1.188-2.797 2.135-5.743 2.79-8.827 4.345-20.441-5.028-40.6-21.891-50.921z" />
<glyph unicode="" d="M478.464 167.142l-44.211 39.424c-12.8 11.418-12.8 30.054 0 41.472l44.211 39.398c12.8 11.417 9.37 22.041-7.603 23.654l-58.599 5.555c-16.973 1.613-26.112 16.205-20.275 32.435l31.104 86.579c5.837 16.231-1.305 22.144-15.846 13.133l-69.145-42.752c-14.541-9.011-33.331-4.096-41.754 10.931l-25.063 44.697c-8.397 15.027-22.323 15.104-30.899 0.179l-23.27-40.499c-8.576-14.925-28.288-21.299-43.802-14.157l-40.96 18.816c-15.539 7.117-27.469-1.127-26.547-18.381l2.227-41.344c0.921-17.229-11.802-34.995-28.263-39.424l-39.552-10.624c-16.461-4.454-19.482-17.408-6.681-28.825l44.211-39.399c12.8-11.392 12.8-30.055 0-41.447l-44.211-39.373c-12.8-11.443-9.421-22.451 7.501-24.499l53.632-6.502c16.922-2.099 26.368-17.203 20.966-33.562l-27.52-83.405c-5.401-16.409 2.304-22.81 17.101-14.208l63.053 36.454c14.822 8.601 34.714 3.84 44.237-10.445l26.189-39.347c9.498-14.361 23.808-13.543 31.719 1.741l23.014 44.339c7.962 15.309 26.957 21.555 42.214 13.901l44.391-22.195c15.309-7.654 27.059 0.205 26.137 17.459l-2.227 41.344c-0.921 17.255 11.801 34.995 28.262 39.45l39.526 10.599c16.512 4.48 19.533 17.433 6.733 28.825zM281.6 119.808h-51.2v53.76h51.2v-53.76zM281.6 201.702h-51.2v133.12h51.2v-133.12z" />
<glyph unicode="" d="M505.216 60.624l-191.984 384c-10.832 21.68-32.976 35.376-57.232 35.376s-46.4-13.696-57.232-35.376l-191.984-384c-9.92-19.84-8.864-43.408 2.8-62.288 11.664-18.848 32.256-30.336 54.432-30.336h383.952c22.192 0 42.784 11.488 54.432 30.336 11.664 18.88 12.72 42.448 2.816 62.288zM287.968 48c0-8.848-7.152-16-16-16h-32c-8.848 0-16 7.152-16 16v32c0 8.848 7.152 16 16 16h32c8.848 0 16-7.152 16-16v-32zM287.968 176c0-8.848-7.152-16-16-16h-32c-8.848 0-16 7.152-16 16v160c0 8.832 7.152 16 16 16h32c8.848 0 16-7.168 16-16v-160z" />
<glyph unicode="" d="M252.928 480c-136.192 0-247.296-107.52-252.928-241.664-0.512-9.728 6.656-10.24 6.656-10.24h43.008c8.192 0 9.728 5.12 9.728 9.216 5.12 101.888 90.112 183.296 193.536 183.296 54.784 0 104.96-23.040 139.776-60.416l-29.696-29.184c-5.632-6.144-5.632-13.824 2.56-15.872l126.464-25.6c10.752-2.56 23.552 5.632 18.944 22.528l-29.696 116.224c-1.024 4.608-8.192 11.264-14.848 6.656l-33.28-30.72c-45.568 46.592-109.568 75.776-180.224 75.776zM462.336 219.904c-8.192 0-9.728-5.12-9.728-9.216-5.12-101.888-90.112-183.296-193.024-183.296-55.296 0-104.96 23.040-140.288 60.416l30.208 29.184c5.12 6.144 5.12 13.824-2.56 15.872l-126.976 25.6c-10.752 2.56-23.552-5.632-18.944-22.528l29.696-116.224c1.024-4.608 8.192-11.264 15.36-6.656l32.768 30.72c45.568-46.592 109.568-75.776 180.736-75.776 135.68 0 246.784 107.52 252.416 242.176 0.512 9.216-6.656 9.728-6.656 9.728h-43.008z" />
<glyph unicode="" d="M293.376 437.504h133.632v-133.12q0-11.264-8.192-18.944t-18.944-8.192-18.944 8.192-7.68 18.944v41.984l-87.552-87.552q-7.68-7.68-18.944-7.68t-18.944 7.68-7.68 18.944 7.68 18.944l87.552 87.552h-41.984q-11.264 0-18.944 7.68t-7.68 18.944 7.68 18.944 18.944 7.68zM141.312 189.696q7.68 7.68 18.944 7.68t18.432-7.68 7.68-18.944-7.68-18.944l-87.552-87.552h41.984q10.752 0 18.944-8.192t8.192-18.944-8.192-18.432-18.944-7.68h-133.12v133.12q0 10.752 8.192 18.944t18.944 8.192 18.432-8.192 7.68-18.944v-41.984zM79.872 224q-10.752 0-18.944 8.192t-7.68 18.944v133.12h133.632q10.752 0 18.432-8.192t7.68-18.944-7.68-18.432-18.432-7.68h-79.872v-79.872q0-10.752-8.192-18.944t-18.944-8.192zM347.136 224q10.752 0 18.432-7.68t7.68-18.944v-133.12h-133.12q-10.752 0-18.944 7.68t-8.192 18.944 8.192 18.944 18.944 7.68h79.872v79.872q0 10.752 8.192 18.944t18.944 7.68z" horiz-adv-x="427" />
<glyph unicode="" d="M56.32 197.376h130.56v-133.12q0-11.776-6.144-19.456t-17.408-7.68-18.944 8.192-8.192 18.944v45.568l-90.624-91.136q-7.68-7.68-18.432-7.68-11.776 0-19.456 7.68t-7.68 18.944 7.68 18.944l87.552 87.552h-38.912q-10.752 0-18.432 8.192t-7.68 18.944 7.68 18.432 18.432 7.68zM79.872 251.136q-10.752 0-18.944 7.68t-7.68 18.432v107.008h107.008q10.752 0 18.432-8.192t8.192-18.944-8.192-18.432-18.432-7.68h-53.248v-53.76q0-10.752-8.192-18.432t-18.944-7.68zM347.136 197.376q10.752 0 18.432-7.68t7.68-18.432v-107.008h-106.496q-10.752 0-18.944 7.68t-7.68 18.944 7.68 18.944 18.944 7.68h53.248v53.76q0 10.752 8.192 18.432t18.944 7.68zM381.44 429.824q7.68 7.68 18.432 7.68t18.944-7.68 7.68-18.944-7.68-18.944l-88.064-87.552h42.496q10.752 0 18.944-8.192t7.68-18.944-7.68-18.432-18.944-7.68h-133.12v133.12q0 10.752 7.68 18.944t18.944 7.68 18.944-7.68 7.68-18.944v-42.496z" horiz-adv-x="427" />
<glyph unicode="" d="M486.912 280.832c7.168-6.656 7.168-17.92 0-25.6l-34.304-34.816c-7.168-7.168-17.92-7.168-25.6 0l-7.68 8.192c-5.632 5.12-8.192 14.848-5.12 18.944 5.632 4.096 3.584 15.36-7.168 25.6-15.36 16.384-35.328 16.896-43.008 8.704-3.072-2.56-13.312-13.824-13.312-13.824l-47.104 47.104 7.68 7.68s1.536 1.536 5.632 6.144c14.848 14.848-0.512 31.232-0.512 31.232-41.984 40.96-99.84 40.448-99.84 40.448l-1.024 14.848c117.248 30.208 161.28-20.992 177.664-37.376l33.792-33.792c8.192-8.192 0-31.744 12.288-45.568 5.632-5.632 13.312-8.192 18.944-8.192s16.896 4.096 22.016-2.048zM279.040 194.816l112.64-101.376c15.872-15.872 15.36-41.472-0.512-58.368-16.896-15.872-42.496-15.872-58.368 1.024l-102.912 108.544-96.256-115.712c-8.704-9.728-24.576-9.728-34.304 0l-25.088 25.6c-9.728 8.704-9.728 25.088 0 34.304l110.080 102.4-53.248 51.2c-16.896 16.896-27.136 22.016-41.472 17.408-13.824-5.12-33.792-5.12-52.224 7.168-39.936 25.6-37.376 73.728-37.376 73.728l3.072 5.12s35.84-23.040 40.448-25.6c5.632-4.608 25.6-13.824 43.52 13.824 18.432 27.648 3.072 45.056-2.048 48.128-4.096 2.56-39.936 26.112-39.936 26.112l3.072 5.12s41.472 20.992 80.384-2.048c0-1.024 9.728-6.656 13.824-10.24 24.576-22.016 24.576-47.104 20.48-67.584-4.096-18.432 0-25.088 14.336-40.96l53.248-53.248 63.488 64.512 46.080-47.104zM376.832 49.408c8.704 7.68 8.704 22.528 0 30.72s-21.504 8.192-30.72 0c-7.68-8.192-7.68-22.528 0-30.208 9.216-8.192 22.528-9.728 30.72-0.512z" horiz-adv-x="487" />
<glyph unicode="" d="M505.856 303.872c0 0.512-0.512 0.512-0.512 1.024s0 1.024 0 2.048c-0.512 0-0.512 0.512-0.512 1.024 0 0.512-0.512 1.024-0.512 1.536 0 0-0.512 0.512-0.512 1.024-0.512 0.512-0.512 1.024-1.024 1.536 0 0 0 0.512-0.512 1.024 0 0-0.512 0.512-1.024 1.024 0 0.512 0 0.512-0.512 1.024-0.512 0.512-0.512 1.024-1.024 1.024-0.512 0.512-0.512 0.512-1.024 1.024-0.512 0.512-0.512 0.512-1.024 1.024-0.512 0-0.512 0.512-1.024 0.512 0 0.512-0.512 0.512-0.512 0.512l-230.912 154.112c-7.68 4.608-16.896 4.608-24.064 0l-231.424-154.112c0 0 0 0-0.512-0.512 0 0-0.512-0.512-1.024-0.512 0-0.512-0.512-0.512-1.024-1.024-0.512-0.512-0.512-0.512-1.024-1.024 0 0-0.512-0.512-1.024-1.024 0-0.512-0.512-0.512-0.512-1.024-0.512-0.512-1.024-1.024-1.024-1.024-0.512-0.512-0.512-1.024-0.512-1.024-0.512-0.512-0.512-1.024-1.024-1.536 0-0.512 0-1.024-0.512-1.024 0-0.512 0-1.024-0.512-1.536 0-0.512 0-1.024 0-1.024-0.512-1.024-0.512-1.536-0.512-2.048 0-0.512 0-0.512-0.512-1.024 0-1.024 0-2.048 0-2.56v-154.112c0-1.024 0-2.048 0-3.072 0.512-0.512 0.512-0.512 0.512-1.024 0-0.512 0-1.024 0.512-1.536 0-0.512 0-1.024 0-1.024 0.512-0.512 0.512-1.536 0.512-2.048 0.512 0 0.512-0.512 0.512-1.024 0.512-0.512 0.512-1.024 1.024-1.024 0-0.512 0-1.024 0.512-1.024 0-0.512 0.512-1.024 1.024-1.536 0-0.512 0.512-0.512 0.512-1.024 0.512-0.512 1.024-0.512 1.024-1.024 0.512-0.512 0.512-0.512 1.024-1.024 0.512 0 1.024-0.512 1.024-1.024 0.512 0 1.024-0.512 1.024-0.512 0.512 0 0.512-0.512 0.512-0.512l231.424-154.112c3.584-2.56 7.68-3.584 11.776-3.584s8.192 1.024 12.288 3.584l230.912 154.112c0 0 0.512 0.512 0.512 0.512 0.512 0 0.512 0.512 1.024 0.512 0.512 0.512 0.512 1.024 1.024 1.024 0.512 0.512 0.512 0.512 1.024 1.024 0.512 0.512 0.512 0.512 1.024 1.024 0.512 0.512 0.512 0.512 0.512 1.024s1.024 1.024 1.024 1.536c0.512 0 0.512 0.512 0.512 1.024 0.512 0 0.512 0.512 1.024 1.024 0 0.512 0.512 1.024 0.512 1.024 0 0.512 0.512 1.536 0.512 2.048 0 0 0 0.512 0.512 1.024 0 0.512 0 1.024 0 1.536 0 0.512 0.512 0.512 0.512 1.024 0 1.024 0 2.048 0 3.072v154.112c0 0.512 0 1.536 0 2.56zM274.944 414.464l169.984-113.152-75.776-51.2-94.208 62.976v101.376zM231.424 414.464v-101.376l-94.208-62.976-76.288 51.2 170.496 113.152zM43.52 260.352l54.272-36.352-54.272-36.352v72.704zM231.424 33.536l-170.496 113.664 76.288 50.688 94.208-62.976v-101.376zM252.928 172.8l-76.8 51.2 76.8 51.2 76.8-51.2-76.8-51.2zM274.944 33.536v101.376l94.208 62.976 75.776-50.688-169.984-113.664zM462.336 187.648l-54.272 36.352 54.272 36.352v-72.704z" horiz-adv-x="506" />
<glyph unicode="" d="M529.408 239.36q11.264-14.848 0-30.208-3.584-5.632-17.408-23.552t-45.568-51.2-65.024-55.808q-57.344-40.96-133.632-40.96-76.8 0-134.144 40.96-32.768 23.040-65.024 55.808t-45.568 51.2-17.408 23.552q-11.264 14.848 0 30.208 3.072 5.632 16.896 23.552t46.080 50.688 65.024 55.296q57.856 41.984 134.144 41.984 75.776 0 133.632-41.984 32.768-23.040 65.024-55.296t46.080-50.688 16.896-23.552zM267.776 130.304q38.4 0 65.536 27.648t27.136 66.048q0 38.912-27.136 66.048t-65.536 27.136q-38.912 0-66.048-27.136t-27.136-66.048q0-38.4 27.136-66.048t66.048-27.648zM321.024 224q0-22.016-15.36-37.888t-37.888-15.36-37.888 15.36-15.872 37.888 15.872 37.376 37.888 16.384q22.016 0 37.376-15.872t15.872-37.888z" horiz-adv-x="535" />
</font></defs></svg>
0001 0000 000b 0080 0003 0030 4f53 2f32
0822 fec5 0000 00bc 0000 0060 636d 6170
026d b49b 0000 011c 0000 005c 6761 7370
0000 0010 0000 0178 0000 0008 676c 7966
efef 600d 0000 0180 0000 173c 6865 6164
010a 3c91 0000 18bc 0000 0036 6868 6561
04b2 02c5 0000 18f4 0000 0024 686d 7478
211e 007c 0000 1918 0000 0050 6c6f 6361
33be 2dec 0000 1968 0000 002a 6d61 7870
001d 019a 0000 1994 0000 0020 6e61 6d65
4418 b4d6 0000 19b4 0000 0139 706f 7374
0003 0000 0000 1af0 0000 0020 0003 0200
0190 0005 0000 014c 0166 0000 0047 014c
0166 0000 00f5 0019 0084 0000 0000 0000
0000 0000 0000 0000 0001 1000 0000 0000
0000 0000 0000 0000 0000 0040 0000 e80f
01e0 ffe0 ffe0 01e0 0020 0000 0001 0000
0000 0000 0000 0000 0020 0000 0000 0002
0000 0003 0000 0014 0003 0001 0000 0014
0004 0048 0000 000e 0008 0002 0006 0001
0020 e609 e809 e80f fffd ffff 0000 0000
0020 e600 e805 e80f fffd ffff 0001 ffe3
1a04 1809 1804 0003 0001 0000 0000 0000
0000 0000 0000 0000 0001 0001 ffff 000f
0001 0000 0000 0000 0000 0002 0000 3739
0100 0000 0001 0000 0000 0000 0000 0002
0000 3739 0100 0000 0001 0000 0000 0000
0000 0002 0000 3739 0100 0000 0001 0000
0010 0200 01b0 0069 0000 010e 0307 3e03
370e 0307 2e03 2322 0e02 1514 1614 1617
2e03 270e 0315 141e 0217 222e 0227 3014
3801 1514 1e02 170e 0222 232a 0226 271e
0333 0e03 232a 0226 231e 0333 323e 0235
3c03 353e 0337 0200 070f 0f0f 0808 0e0c
0903 0810 1012 0907 1114 150c 1527 1c11
0101 0121 3d37 3013 0405 0402 070c 120a
060d 0c0b 050c 171f 1203 0707 0704 0205
0505 0305 131a 1f12 0e1e 2123 1303 0607
0603 1126 292b 1648 704c 2707 0f0d 0c05
017f 0306 0403 0105 0d0e 1109 0408 0605
0208 0c08 0510 1d26 1603 0606 0603 0211
1c27 1806 0d0d 0e07 0e19 1712 0702 0305
0301 0113 221b 1304 0101 0101 0110 1b13
0b0b 110b 0601 0b12 0c06 3656 6b34 0203
0304 0106 0c0e 0f08 0005 0000 001f 02d0
018d 001a 003c 0055 006e 0089 0000 1332
1e02 373e 012e 0127 2e01 0e01 070e 0331
3330 3e02 3307 1514 1e02 3330 3a02 3332
3e02 3332 1e02 333a 0331 323e 023d 0121
0514 0e02 2b01 222e 023d 0134 3e02 3b01
321e 021d 0121 140e 022b 0122 2e02 3d01
343e 023b 0132 1e02 1d01 2716 3e02 3332
1e02 3133 302e 0227 2e02 0607 0e02 1617
d70a 0e0b 0b06 0702 050b 0606 1316 170a
0b38 3c2e 7f13 1c1e 0ad7 0509 0b07 2b47
5d32 0912 1112 0908 0e0e 0f08 3562 4a2c
070b 0905 fd30 0120 080d 110a 900a 110d
0808 0d11 0a90 0a11 0d08 0180 080d 110a
900a 110d 0808 0d11 0a90 0a11 0d08 db06
0b0b 0e0a 0a1e 1c13 7f2e 3c38 0b0a 1716
1306 060b 0502 0701 5f04 0503 0101 0b11
1309 0806 030a 0606 2224 1c14 1714 50d0
060c 0905 181c 1717 1c18 0509 0c06 d090
0a11 0d08 080d 110a 300a 120d 0707 0d12
0a30 0a11 0d08 080d 110a 300a 120d 0707
0d12 0a30 d501 0305 0414 1714 1c24 2206
060a 0306 0809 1311 0b01 0000 0002 001e
ffe0 01e2 01e0 0005 0017 0000 1b01 1737
1321 0523 1733 0f01 2f01 331f 0131 3f01
2327 2107 1e29 b9b9 29fe 3c01 6ad8 05ce
0f74 7408 3904 3f3f 06c3 1001 1b05 01e0
fe33 3333 01cd 973a ad20 2059 2d11 1149
ab39 0000 0004 0000 ffe0 0200 01e0 0016
002d 0042 0059 0000 1327 3e03 3332 1e02
1723 2a03 2322 0e02 0737 331e 0315 140e
0207 373e 0335 342e 0227 0734 3e02 1736
1e02 1514 0e02 072e 0335 1707 2e03 3534
3e02 3717 1e03 3716 3632 3633 8149 112d
3339 1e23 4139 2f10 d101 0303 0301 1729
2217 06db 9205 0605 0228 445d 3469 0509
0603 050b 0e09 b90f 1922 1313 2219 0f0f
1922 1313 2219 0f80 492e 503b 2104 090c
0868 0819 1e24 1405 0908 0904 0101 7f16
2319 0e12 212e 1c0f 1a24 153c 0b17 1719
0c35 5c46 2801 b508 1213 140a 0e1a 1716
085d 1223 1810 0101 1018 2312 1421 1a0e
0101 0e1a 2114 7f7e 062d 4357 2f12 2021
1d0f b70f 1d13 0c01 0102 0300 0001 0000
fffd 01ff 01c2 0197 0000 0107 302e 0227
2e03 311e 0214 3130 2e02 272e 0206 2322
3801 2231 3801 3230 3138 0331 301e 0217
3022 0e01 0722 1e02 1730 2e02 271e 010e
0107 062e 0227 1614 0e01 0722 3e02 070e
012e 0127 1632 3e01 3738 0331 3e03 3316
3e01 2627 2e03 070e 0226 272e 0335 3c01
3e01 353e 0333 3216 3216 3330 3c02 313c
0226 3534 2e02 2734 1434 1435 1434 1434
1536 1434 1435 1434 1434 1534 3034 1435
303e 0237 3e03 3732 3632 3631 3416 3414
3514 3416 3415 3414 3414 3532 3e02 3534
1434 1435 1434 1434 1534 3034 1435 1434
1434 1534 1434 1435 1434 1434 1534 1434
3035 1434 1434 1534 1434 3035 1434 1434
1534 1434 1435 1434 1434 1534 1434 1435
1434 1434 1534 2226 0627 1434 1434 1535
0626 0626 072e 0327 3e03 3734 1434 1435
3222 0e01 072e 0206 2306 2606 2607 2e03
2714 3414 3415 3414 3414 3514 0e02 1734
1430 1431 0e03 150e 0307 143e 0237 0e03
1714 3e02 371e 0317 1e03 1736 1636 1637
1636 3236 1536 323e 0137 3e02 2615 01ff
0603 0507 0406 0806 0304 0401 0711 1a13
1420 170c 0101 0101 1419 1704 090e 1309
011e 2826 0704 0609 0504 0201 0303 0101
0407 0602 060c 0901 0404 0105 1b38 342c
0e07 1414 1306 070b 0907 0403 0603 0103
020a 0c10 0906 0f11 140c 090b 0601 0101
0104 0504 0203 0605 0603 0101 0101 0101
0203 0503 0205 0504 0301 0402 0201 0101
0202 0202 0407 0502 0505 0604 060a 0705
0102 0608 0c07 010e 1618 0907 0e0d 0c06
0102 0303 0203 0907 0501 090b 0701 0304
0401 0306 0505 0202 0304 0403 0402 0101
0101 0101 0104 080d 0811 2a30 351d 050a
0a0a 0501 0101 0106 0c0b 0c06 504f 1f01
0139 2617 1f21 0a0f 1007 020b 0f0b 0511
1617 0607 0502 0204 0709 0601 0303 0716
2b24 0709 0802 0a1b 1c1a 0901 0407 0803
0e22 2019 0711 1209 0929 1907 190a 0204
0605 0408 0502 0102 0506 0303 0705 0102
0207 0402 0705 0a09 0803 0102 0202 0103
0403 0203 0403 0104 0201 0402 0301 0503
0401 0101 0101 0101 0101 0101 0101 0101
0101 0101 0101 0101 0101 0302 0401 0302
0402 0303 0201 0101 0102 0101 0101 0101
0101 0101 0303 0503 0101 0101 0101 0101
0101 0101 0101 0101 0101 0102 0101 0101
0101 0101 0102 0102 0101 0201 0101 0101
0101 0101 0101 0101 0101 0101 0101 0101
0101 0101 0101 0101 0101 0102 0201 0101
0101 0101 0101 0101 0101 0104 0906 0407
0f0c 0b03 0101 0101 0106 0c0b 0201 0102
0101 0102 0104 090d 0c09 0101 0101 0101
0101 0101 0108 1620 1901 0201 0506 0704
0105 0f10 170b 0105 070b 0506 1316 1d10
0105 050a 0409 1819 1c0e 1e2a 1f10 0401
0101 0101 0101 0101 0103 0103 1266 6953
0100 0000 0004 0010 ffe3 01e6 01a7 004f
005b 006b 007b 0000 2533 3436 3c01 3534
2e02 273e 012e 0127 2e01 0e01 072a 0226
2322 0e02 073e 0337 0e03 070e 0214 171e
013e 0137 1e03 3332 3e02 3723 0e03 2322
2e02 272e 033d 0133 273e 0333 321e 0217
2325 1e01 1406 072e 0327 3e02 1617 012e
013e 0137 1e03 170e 0226 2701 6f76 0104
070b 0707 0701 0b09 0a21 2b34 1d02 0404
0402 2746 3828 090c 191c 1e11 0209 0b09
012d 3b1d 100b 2027 2d18 0b18 191a 0e24
4137 280c 7706 1216 1a0d 0e1a 1611 0702
0502 02c1 c101 0f19 2113 1221 190f 01b9
0112 0706 0506 0916 1a1d 1011 1e1a 1407
fe6f 0806 030d 0a07 1317 1d10 1220 1b16
07a6 0306 0606 040f 1d1b 1b0c 1324 1f1a
0a09 0703 0e0c 011a 2c3d 2410 1b17 1308
0109 0b09 022c 6359 450f 0c0a 020e 0b05
0906 0316 2737 200b 130d 0707 0d13 0b06
0a0c 0c06 013a 1220 170e 0e17 2012 ae06
1216 1a0f 0e19 1512 0607 0801 0607 fe6e
0819 1f24 1512 211d 190a 0809 0206 0700
0002 000f ffe0 01f1 01e0 0014 002a 0000
1322 0e02 1514 1e02 3332 3e02 3534 2e02
2317 140e 0223 3122 2e02 3534 3e02 3332
1e02 15ff 3459 4023 233f 5935 3659 4023
2441 5934 5904 1124 201f 2311 0406 1222
1d1d 2313 0601 e024 435e 3932 5e47 2b2b
475e 323a 5e42 24f9 2048 3d29 293d 4820
2546 3621 2137 4624 0006 0010 ffe0 01f0
01e0 003c 0060 00a5 00de 00fc 0120 0000
012a 010e 0107 3422 3801 353e 0327 342e
0223 2a02 0623 0e03 1714 1e02 1738 0114
3031 0e03 1514 1e02 3332 3e02 3534 2e02
2327 343e 0233 363a 0233 321e 0217 140e
0207 2e02 2207 220e 0207 222e 0227 130e
0307 2707 0622 0622 2322 2e02 272e 0327
3727 2634 2634 3534 3e02 373e 0337 1737
3632 3632 3332 1e02 171e 0317 0717 1614
1614 1514 0e02 0727 072e 0323 2707 0e03
0727 170e 0315 0717 3801 1430 3107 371e
0333 1737 3e03 3717 273e 0335 3727 3801
3430 3137 0732 363a 0133 3a03 3339 0116
321e 0117 0f01 2634 2e01 3526 3e02 3717
3901 0e03 2322 062a 0123 2a03 2331 2622
2e01 273f 0116 141e 0115 160e 0207 0100
0508 0909 0401 0303 0201 0104 0608 0501
0202 0201 0509 0702 0103 0405 0326 402e
1a26 4157 3232 5741 2626 4157 324a 0205
0604 0101 0201 0103 0505 0201 0101 0301
0103 0403 0201 0303 0201 0203 0301 01cb
0912 1315 0b15 0603 0606 0603 1223 211e
0d08 0e0c 0903 2328 0101 070e 130d 0912
1315 0b15 0603 0606 0603 1223 211e 0d08
0e0c 0903 2328 0101 070e 130d 0562 0306
0606 0319 0202 0504 0402 2017 0102 0101
363c 4a62 0306 0606 0319 0202 0504 0402
2017 0102 0101 363c 4a86 0103 0203 0101
0102 0101 0203 0303 0224 1b01 0101 0204
0a0f 0a23 0203 0404 0201 0302 0301 0101
0201 0102 0303 0302 241b 0101 0102 0206
0a06 01c0 0101 0101 0101 0505 0502 0405
0402 0101 0507 0804 0304 0303 0101 0b2c
3d4a 2932 5741 2626 4157 3232 5741 2608
0205 0404 0101 0204 0102 0302 0301 0101
0101 0102 0301 0202 0202 fe87 080e 0c09
0323 2801 0107 0e13 0d09 1213 150b 1506
0306 0606 0312 2321 1e0d 080e 0c09 0323
2801 0107 0e13 0d09 1213 150b 1506 0306
0606 0312 2321 1e0d fd4a 0102 0201 363c
0103 0304 020b 1803 0505 0603 1902 0162
4a01 0202 0136 3c01 0303 0402 0b18 0305
0506 0319 0201 624d 0101 0101 011b 2401
0203 0201 0a12 100b 0258 0102 0102 0101
0101 011b 2401 0203 0201 080f 0d0b 0400
0003 0022 fff8 01de 01ce 0078 007d 0082
0000 2527 2e01 3436 3f01 3e01 2e01 2f01
2e03 3f01 3634 2606 0f01 0e01 2e01 2f01
2e02 060f 010e 0222 2f01 260e 021f 0114
0e02 0f01 220e 0116 1f01 1e01 1406 0f01
0e01 1e01 3717 321e 020f 0106 1e01 323f
0136 321e 011f 011e 013e 013f 013e 0216
1f01 1e01 3e01 2f01 343e 023f 013e 0226
2707 2735 3715 3507 3517 1501 de2c 0504
0405 2c05 0402 0806 3b06 0a05 0102 1f02
0408 0645 050c 0c09 0419 0308 0808 0417
030a 0c0d 0629 050a 0804 0102 0407 0b06
2806 0702 0405 2c05 0404 052c 0504 0208
0636 060a 0502 021c 0201 0409 053f 060c
0c0b 041a 0309 0808 0317 030a 0c0c 062c
060a 0704 0102 0407 0b06 2806 0702 0405
c434 3434 34a7 2705 0a0c 0a05 2606 0707
0302 0501 050a 0a07 5607 0704 0202 2c02
0304 0607 2c06 0501 0704 2a04 0903 0312
0402 040a 052b 050e 0a08 010c 0806 0a04
2803 0c0a 0c03 2903 0906 0601 0807 080c
0555 0509 0304 2305 0208 0428 0506 0205
062c 0607 0501 0218 0102 0608 0828 080b
0c07 0309 0305 0908 0530 0135 0137 5301
8601 8400 0003 0007 ffe0 01f9 01e0 0021
003a 0053 0000 2503 2e03 2322 0e02 0703
0e01 1416 171e 0333 2132 3e02 373e 0134
2627 0714 0e02 2b01 222e 023d 0134 3e02
3b01 321e 021d 0135 140e 022b 0122 2e02
3d01 343e 023b 0132 1e02 1d01 01f9 c004
0c0f 1109 0911 0f0c 04c0 0403 0505 040c
0e10 0801 8008 100e 0c04 0505 0304 d903
0406 0320 0306 0502 0205 0603 2003 0604
0303 0406 0320 0306 0502 0205 0603 2003
0604 033d 0180 080d 0905 0509 0d08 fe80
0810 1010 0707 0b08 0404 080b 0707 1010
1008 0d03 0604 0303 0406 0320 0306 0403
0304 0603 2080 0306 0403 0304 0603 a003
0604 0303 0406 03a0 0002 0000 ffe0 0200
01e0 0032 0065 0000 1322 0e02 0714 1e02
3133 323e 0134 353e 0333 321e 0217 070e
0114 161f 0116 3e02 2f01 342e 020f 012e
0323 1322 0e01 1415 0e03 2322 2e02 2737
3e01 3426 2f01 260e 021f 0114 1e02 3f01
1e03 3332 3e02 3734 2e02 3123 fd33 5a45
2902 0202 032b 0304 0202 2034 4527 1427
2420 0d1e 0202 0304 7e04 0806 0302 1e03
0405 0321 1129 2d33 1ad1 0304 0202 2034
4526 1527 241f 0e1f 0102 0303 7f04 0806
0302 1e03 0405 0321 1129 2e32 1b32 5a45
2902 0202 032b 01e0 2641 5833 0304 0201
0203 0301 2742 321d 090f 170e 1d02 0505
0301 1901 0205 0a06 7402 0402 0102 1f12
1c13 0bfe fc02 0303 0127 4232 1d09 0f17
0e1d 0205 0503 0119 0102 050a 0674 0204
0201 021f 121c 130b 2641 5932 0404 0101
0004 0000 000b 01ab 01b6 001e 003c 0051
0066 0000 0133 1514 0706 0722 2726 3d01
0706 2322 2726 3534 3f01 2322 2726 3534
3736 3307 3633 3217 1615 160f 0133 3217
1615 1407 062b 0135 3437 3633 3217 161d
0137 2227 263d 0133 3217 1615 1407 062b
0115 1407 0623 2132 1716 1d01 2322 2726
3534 3736 3b01 3534 3736 1701 2586 0808
0b0b 0808 5708 0b0c 0708 0857 2a0b 0807
0708 0b98 080b 0c07 0701 0858 2a0b 0808
0808 0b85 0808 0b0b 0807 1b0b 0808 860b
0708 0807 0b50 0808 0b01 0b0b 0807 850b
0808 0808 0b50 0808 0b01 b686 0b08 0701
0809 0a2a 5708 0807 0c0b 0857 0808 0b0b
0808 f807 0708 0b0c 0758 0808 0b0b 0708
850b 0808 0808 0b2a 7a08 080b 8508 080b
0b07 0850 0b08 0808 070c 8508 080b 0b08
084f 0b08 0901 0000 0004 0000 000b 01aa
01b6 001e 0033 0048 0066 0000 3733 1514
0706 2322 2726 2735 0706 2322 2726 3534
3f01 2322 2726 3534 3736 3337 2227 263d
0133 3217 1617 1407 062b 0115 1407 0623
0532 1716 1d01 2322 2726 3536 3736 3b01
3534 3736 3337 3633 3217 1607 140f 0133
3217 1615 0607 062b 0135 3437 3633 1617
161d 0138 8306 060c 0b08 0701 5a08 0b0c
0708 0857 270a 0808 0808 0a18 0b08 086b
0b08 0701 0809 0a35 0808 0b01 0b0b 0807
6a0b 0808 0107 070c 3508 080b 2208 0b0b
0808 0107 582a 0b08 0801 0707 0c85 0807
0c0b 0807 c585 0c07 0808 090a 2e5b 0808
070c 0b08 5708 090a 0b08 0736 0807 0b6b
0808 0b0b 0708 360b 0708 3607 080b 6b08
080b 0b08 0835 0b08 07e9 0808 080b 0b08
5808 080b 0b07 0885 0b08 0801 0707 0c2a
0003 0000 001d 01e7 019f 0047 009e 00b3
0000 011e 0114 060f 010e 012e 012f 012e
0234 3732 362e 0127 2e02 0607 0e03 1527
3734 163e 0137 3e01 2e01 152e 0222 3527
361e 021f 011e 0317 1e02 3217 3632 3616
1707 171e 0114 0607 0e01 2e01 2f01 070e
0226 2f01 2e01 3436 3f01 272e 0222 070e
012e 0127 2e02 3435 3734 1e02 331e 0132
3637 3e01 2e01 2722 2e02 1537 143e 0116
1734 1e02 331e 0206 0706 141e 011f 0137
1717 3e01 3426 272e 0206 070e 0114 1617
1e01 3e01 3701 e703 0202 0322 0307 0607
0308 0203 0101 0202 0205 0406 0c0c 0a03
0105 0403 2f07 0101 0202 0502 0305 0f23
1e13 012c 3d2a 1806 2203 0101 0304 0205
0505 0202 0607 0502 c971 0605 0606 0610
0f0f 0667 6004 080a 0904 1903 0404 036e
3506 0b09 0a05 060c 0e0e 070f 0f07 030b
0f0d 0202 090c 0d07 0702 0306 0202 0c0f
0b03 0e17 1d0f 0304 0501 0a09 0401 0102
0407 0535 402e 2503 0303 0303 0808 0804
0303 0303 0408 0808 0301 1902 0706 0802
2401 0401 0203 0803 0406 0403 0706 0803
0706 0304 0202 0405 0301 3007 0101 0301
0305 0c08 0601 110f 0901 0d0d 0510 1705
2302 0c0c 0e04 0302 0301 0101 0201 5f65
070d 110f 0705 0701 0607 6c73 0502 0104
031b 020a 080a 0367 3208 0705 0103 0101
0504 0b18 180f 0104 0108 0909 0203 0909
0b10 0e06 020a 0808 0106 0107 0302 0a01
0302 0509 1112 1008 060b 080a 0537 4230
cf02 0908 0902 0402 0104 0204 0709 0704
0205 0102 0400 0000 0008 0000 ffe3 01fa
01d9 0141 0146 014b 014f 0154 0159 015e
0162 0000 0138 0226 3138 013c 0131 3802
3431 3034 2230 3538 0335 3022 3034 3138
0134 2231 3801 3422 3130 3438 0131 3026
3801 3130 2638 0131 2234 3801 3122 3034
3031 3022 3801 3127 2e01 2206 0f01 3802
2231 3801 1422 3138 0206 3138 0206 3138
0206 3138 0214 3122 3014 3031 2230 1430
3130 1422 3031 1438 0231 1430 2214 3130
1438 0131 301c 0130 3130 0638 0131 1430
1430 1d01 301c 0130 1538 0216 3138 0114
3031 1438 0231 1430 1630 1538 0315 3801
3214 3138 0214 3338 0114 3033 3014 3801
3130 1638 0131 3016 3801 3130 3214 3031
3032 1430 3130 3238 0131 171e 0232 333a
013e 013f 0138 0232 3138 0134 3033 3801
3430 3338 0236 3138 0236 3138 0234 3130
3234 3031 3036 3801 3130 3430 3231 3438
0231 3430 3630 3538 0335 3801 3430 3130
3638 0131 3430 3c01 3135 3430 3430 3527
1707 2735 2315 0727 3707 1707 3517 2737
1715 3727 3717 0717 3537 1707 3727 3715
01fa 0101 0101 0101 0101 0101 e703 0606
0603 e701 0101 0101 0101 0101 0101 0101
0101 0101 0101 01e7 0103 0303 0201 0403
0301 e701 0101 0101 0101 0101 01e7 aa4c
5e2c 5e4c aabb 3636 bbaa 4c5e 164d 4d4d
4d16 5e4c aabb 3636 0130 0101 0101 0101
0101 0101 0101 0101 019a 0202 0202 9a01
0101 0101 0101 0101 0101 0101 0101 0101
019a 0101 0101 0101 0101 0101 0101 0101
0101 0101 9a01 0201 0102 019a 0101 0101
0101 0101 0101 0101 0101 0101 0101 9a01
0101 6e71 333f 6565 3f33 719a 2424 48e2
7133 3f65 8b33 3333 338b 653f 3371 9a24
2448 0000 0003 0006 0026 0211 019b 0024
0035 0046 0000 2516 0706 0706 0706 0706
2706 2726 2726 2726 2726 3736 3736 3736
3736 3716 1716 1716 1716 1705 3637 3627
3627 2607 2607 0607 1617 1617 3706 0706
2706 2726 3526 3736 3716 1716 1702 110b
0b04 0d0f 1f20 213a 4b4e 3822 1f22 0c0e
030d 0d02 0f0c 221f 2238 4e4b 3a20 2120
0f0c 04fe fa27 1a1c 0101 1c1a 2726 1c1a
0101 1a1c 2636 010e 1115 180e 1001 110f
1715 100f 01ef 0f0f 0611 1321 2215 2a01
012a 1621 2014 1106 0e10 0513 1122 1f18
2901 0129 181f 2211 1404 6e01 1b1d 2528
1a1c 0101 1c1a 2825 1d1b 015f 170f 1102
0110 0e18 160f 0e03 010f 1115 0001 0000
0000 0000 0b92 f8d0 5f0f 3cf5 000b 0200
0000 0000 cf8d fdea 0000 0000 cf8d fdea
0000 ffe0 02d0 01e0 0000 0008 0002 0000
0000 0000 0001 0000 01e0 ffe0 0000 02d0
0000 0000 02d0 0001 0000 0000 0000 0000
0000 0000 0000 0014 0000 0000 0000 0000
0000 0000 0100 0000 0200 0000 02d0 0000
0200 001e 0200 0000 0200 0000 0200 0010
0200 000f 0200 0010 0200 0022 0200 0007
0200 0000 01ab 0000 01ab 0000 01e7 0000
01fa 0000 0217 0006 0000 0000 000a 0014
001e 00a4 0156 0182 01fe 03da 0488 04c4
0630 06f2 0764 07f0 087c 0908 0a0c 0b2a
0b9e 0000 0001 0000 0014 0198 0008 0000
0000 0002 0000 0000 0000 0000 0000 0000
0000 0000 0000 000e 00ae 0001 0000 0000
0001 000e 0000 0001 0000 0000 0002 000e
0047 0001 0000 0000 0003 000e 0024 0001
0000 0000 0004 000e 0055 0001 0000 0000
0005 0016 000e 0001 0000 0000 0006 0007
0032 0001 0000 0000 000a 0028 0063 0003
0001 0409 0001 000e 0000 0003 0001 0409
0002 000e 0047 0003 0001 0409 0003 000e
0024 0003 0001 0409 0004 000e 0055 0003
0001 0409 0005 0016 000e 0003 0001 0409
0006 000e 0039 0003 0001 0409 000a 0028
0063 0069 0063 006f 006d 006f 006f 006e
0056 0065 0072 0073 0069 006f 006e 0020
0031 002e 0030 0069 0063 006f 006d 006f
006f 006e 6963 6f6d 6f6f 6e00 6900 6300
6f00 6d00 6f00 6f00 6e00 5200 6500 6700
7500 6c00 6100 7200 6900 6300 6f00 6d00
6f00 6f00 6e00 4700 6500 6e00 6500 7200
6100 7400 6500 6400 2000 6200 7900 2000
4900 6300 6f00 4d00 6f00 6f00 6e00 0000
0003 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
774f 4646 4f54 544f 0000 14a0 000a 0000
0000 1458 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 4346 4620
0000 00f4 0000 10d6 0000 10d6 1df0 d628
4f53 2f32 0000 11cc 0000 0060 0000 0060
0822 fec5 636d 6170 0000 122c 0000 005c
0000 005c 026d b49b 6761 7370 0000 1288
0000 0008 0000 0008 0000 0010 6865 6164
0000 1290 0000 0036 0000 0036 010a 3c91
6868 6561 0000 12c8 0000 0024 0000 0024
04b2 02c5 686d 7478 0000 12ec 0000 0050
0000 0050 211e 007c 6d61 7870 0000 133c
0000 0006 0000 0006 0014 5000 6e61 6d65
0000 1344 0000 0139 0000 0139 4418 b4d6
706f 7374 0000 1480 0000 0020 0000 0020
0003 0000 0100 0404 0001 0101 0869 636f
6d6f 6f6e 0001 0200 0100 3af8 1c02 f81b
03f8 1804 1e0a 0019 53ff 8b8b 1e0a 0019
53ff 8b8b 0c07 8b6b f964 f874 051d 0000
00d0 0f1d 0000 00d5 111d 0000 0009 1d00
0010 cd12 0015 0101 080f 1113 161b 2025
2a2f 3439 3e43 484d 5257 5c61 6669 636f
6d6f 6f6e 6963 6f6d 6f6f 6e75 3075 3175
3230 7545 3630 3075 4536 3031 7545 3630
3275 4536 3033 7545 3630 3475 4536 3035
7545 3630 3675 4536 3037 7545 3630 3875
4536 3039 7545 3830 3575 4538 3036 7545
3830 3775 4538 3038 7545 3830 3975 4538
3046 0000 0201 8900 1200 1402 0001 0004
0007 000a 000d 0097 0183 01c8 0260 0460
0519 0565 0721 080a 089e 094a 0a92 0bd3
0ce2 0eec 0fcc fc94 0efc 940e fc94 0efb
940e f894 f813 1578 8277 8676 88a0 989c
a093 a377 7f74 8373 8678 9f70 986c 8b51
8b5c 5c8b 518b 838c 838d 8334 8f3d b558
cb82 7b85 798b 7808 8b67 9e6a a779 7a8b
7b90 7d93 8b8a 8b8b 8b8a 8b59 af60 bb81
8289 828a 818b 848b 858b 848d 9961 b26c
b98b 676e 5d7b 5a8b 0883 8b82 8b83 8cb9
6dc3 7ac6 8bf7 558b f5f7 348b f71f 8b8f
8b90 8b8f 9f9a 9d9e 99a0 080e f764 f76b
f7f3 15a6 8b92 7d9d 8e9e 8d7b ab7b a27b
a266 7f70 7b6f 7bfb 2533 8b8b 08f7 138b
058b 8bc6 caa7 8b08 fb6b 3b15 8bfb 6405
8b7a 997c 9d8b 8b8b f70f 8bf7 1a8b a38b
a1d6 a48b a08b 9c40 a08b f722 8bf7 138b
8b8b 9d8b 999a 8b9c 088b f764 fd64 8b05
f7b4 fb24 158b 7175 7571 8b08 fb24 8b05
708b 76a1 8ba5 088b bb05 8ba6 a0a0 a68b
08f7 248b 05a5 8ba1 768b 7008 8b5b 05f8
148b 158b 7175 7571 8b08 fb24 8b05 708b
76a1 8ba5 088b bb05 8ba6 a0a0 a68b 08f7
248b 05a5 8ba1 768b 7008 8b5b 05fb 6ff7
6915 9d88 9299 a68b a78b c64c 8b8b 08f7
138b 058b 8bfb 25e3 6f9b 709b 6697 7b74
7b74 7b6b 9e89 080e a9f8 7415 b4fc 61f7
4d58 f74d beb4 f861 fc58 8b05 f7fe fb2b
15fb 6c8b 9051 f762 8b7c fb41 fb08 6bfb
08ab 83e4 c48b 8f5e ca7a 8b8b ca9c 91d4
fb57 8b7b f73f f7af 8b86 5205 0ef7 15f7
9515 42f7 1305 bac5 d3b1 dc8b e98b dd59
b740 08fb 658b 0588 8b87 8b87 8b4e 8b58
617c 5308 f76f c815 f726 8b05 976e 916b
8b6a 8bfb 20fb 05fb 06fb 2089 08f4 f749
0599 a194 a48b a78b b07c ac73 a308 fb4d
2d15 8bbe b5b5 be8b be8b b561 8b58 8b58
6161 588b 588b 61b5 8bbe 08f7 14fb 1215
42fb 1305 fb0f 9d2c f68b f714 8bb9 97b5
a0b1 08f3 fb4a 05a0 5fb9 6cbf 8b97 8b97
8d96 8e08 0ef8 93f7 cd15 8565 058b 8b83
d180 a67c b383 8b8b 8b96 7089 7c8b 8b8b
8b78 be59 9c54 9d6d 8688 8a8a 8b8b 8b8a
8b8b 8b8c 8b8b 8b8b 8b8b 8b8b 8b08 8b8b
c880 967c 8b8b 718b 7284 898b eb7f 9f2b
8b8b 80a1 7e8f 9471 8959 8373 8a88 899c
7b92 9166 8551 727a 898a 9dc6 7e74 0844
fb01 36c6 66a5 9e87 b08f 9b98 8b8b 8b8b
8b8b 9d97 9694 9489 9488 9295 8393 8494
7996 7385 7a87 7678 6b9e 7299 8998 8b93
088b 8e8c 8e8c 8d8e 9393 8e90 8d93 8992
8993 878b 8d8b 8e8b 8f8b 8d8b 8f8a 908a
908a 9089 908b 8b8b 8b8b 8b8b 8b8b 8b8b
8b08 8c8b 8b8b 8b8b 8b8b 8b8b 8b8b 8b8c
8b8b 8b8b 8b8d 918f 9290 9190 928f 918f
908e 8e8d 8c8c 8c8b 8b8b 8b8c 8b8b 8c8b
8b8b 088b 8b8b 8b8b 8b8d 8d8f 8f8c 948b
8b8b 8b8b 8b8b 8b8b 8b8b 8b8b 8c8b 8b8b
8b8b 8b8b 8b8b 8b8b 8c8b 8b8b 8b8b 8b8b
8b8b 8b08 8b8c 8b8c 8b8c 8b8c 8b8b 8b8b
8b8b 8b8c 8b8b 8b8b 8b8b 8b8b 8b8b 8b8b
8b8b 8b8b 8b8b 8b8b 8b8b 8b8b 8b8b 8b8b
8b8b 8b8b 088a 8d88 8c7d 8b8b 8b8b 8b8b
8b08 8b8b 0586 8b84 8b81 8b7a 8b82 9b88
928f a197 9b9e 968b 8b8b 8b8b 8b8f 8d5a
8974 6f77 907a 8a7c 8888 8b88 8b86 8c81
947d 9c8a 9f08 8b8b 8b8b 8b8b 8b8b 8b8b
8b8b 8b8b 6d74 8f4b 8b8a 8b8a 8b8a 8380
8782 8b89 837c 8475 8569 8b8b 8f98 949a
8478 876e 8d5e 088b 8b8c 958e 998d 7094
69a2 63b8 3ecf 64d7 8598 8a99 8b98 8c8d
8b8c 8c8c 8b9b 8c9a 8d9b 8ff7 68be 74f7
958b 8b08 0ef8 03f7 3a15 f70a 8b05 8c93
8b93 8b94 8bb3 81b0 78ac 9ebe 8bb7 71a6
72a3 4887 406a 868b 858c 868b 248b 3444
732b abb4 ada9 b9a1 8787 7374 8786 08fb
0cfb 0b65 fb31 b463 aa6c c390 cbaa a97c
ad83 af8b eb8b ddc9 a9e1 08fb 0b8b 057a
6d6b 7767 8b66 8b6b 9f7a a984 9987 9b8b
9b08 8b8c f755 8b05 fb55 c515 8ebb b3b2
bd8b bc8b b364 8e5b 08fb 4d8b 05f7 a6f7
4215 9c7a 8b6c 7c64 73b1 67a8 619c b89e
b08e 9d78 08fc 25fc 2615 75a1 92b8 a6c1
9d5b ac62 b671 5b76 6487 789e 080e f793
f874 15fb 208b 2726 8bfb 2d8b fb1b ecfb
0ff7 238b f724 8bed f70f 8bf7 1b8b f72e
24ef fb1f 8b08 e4fb 8d15 8b36 87fb 0d36
8b08 8b8b 0538 8b87 f70d 8be0 8bee 95ea
d88b d88b 972b 8b29 080e f794 f854 157f
8b7f 8a80 898a 8c8b 8b8b 8c92 908e 9189
928a 9481 917f 8b89 8b88 8b88 8a7c 8881
808e 808c 8491 8693 898b 8b8b 8a8b 8b08
266e 422f 8bfb 028b fb19 f620 f719 8bf7
198b f6f6 8bf7 198b f719 20f6 fb19 8b08
4193 158a 9193 9295 8d8d 8c8d 8b8d 8b93
8b92 888c 868b 8789 8787 8887 8d87 8c86
8a87 8a87 8989 8786 8c87 8e8a 8f08 f75f
fc0d 1575 7570 7c6e 8208 76ae 8563 0583
8a83 8a83 8b5a 8b5e 9e68 ad75 a17c a682
a808 aea0 6391 058a 938a 938b 938b bc9e
b8ad aea1 a1a6 9aa8 9408 a068 91b3 0593
8c93 8c93 8bbc 8bb8 78ae 69a1 759a 7094
6e08 6876 b385 058c 838c 838b 838b 5a78
5e69 6808 86f7 9115 2941 0584 8e83 8e82
8b08 72c1 894f 0585 8885 8686 8608 6b96
a273 0588 8489 848b 8308 5572 c789 058b
8b8b 8a8b 8b08 4129 edd5 0592 8893 8894
8b08 a455 8dc7 0591 8e91 9090 9008 ab80
74a3 058e 928d 928b 9308 c1a4 4f8d 058b
8b8b 8c8b 8b08 d5ed 05fb 1041 158b 8b05
8188 158e 8c8f 8b8e 8b8d 8b8d 8b8d 8b08
8b8b 8b8b 0590 8a8f 8a8f 8908 6770 7067
058a 8e8a 8e8a 8e86 a59b a4a5 9108 ae33
158b 8b8b 8b05 8788 8589 868a 888a 878b
888b 898b 898b 898b 088b 8b05 868c 878c
878d 08af a6a6 af05 8c88 8c88 8c88 8f77
8276 7a81 080e f872 f73b 155f b305 7e96
8b9e 9896 08b7 b205 9897 8895 7a8d 0850
9105 7a8c 829a 919b 08aa e205 919b 8491
7c82 0846 6005 7d82 7890 829a 0872 b805
839a 7d8b 827c 0874 6205 837c 7785 7b92
0862 9e05 7c92 7f83 8c7a 088d 6105 8c7a
7e79 7b87 0863 8005 7b87 887e 987f 08b7
6405 9880 8b78 7e80 085f 6305 7e80 8e80
9c89 08c1 8405 9c89 947c 867b 086f 3705
867b 9284 9a94 08ca af05 9a94 9f86 957d
08a5 6405 947c 9a8c 929a 08a2 b805 939a
9e91 9b84 08b7 7405 9a84 9793 8a9c 0889
b405 8a9d 989c 9b90 08b3 9505 9b90 8e98
7e96 08fb 585c 1557 8b8b c1bf 8b8b 5505
8bdd 1557 8b8b f719 bf8b 8bfb 1905 0ef8
8dc8 15fb 54f8 1405 80a0 7599 738b 738b
757d 8076 08fb 54fc 1405 8177 8c73 9778
9678 a080 a18b 08f8 148b 05a1 8ba0 9696
9e97 9e8c a381 9f08 fb6d 7e15 8b82 8484
828b 086b 8b05 828b 8492 8b94 088b ab05
8b94 9292 948b 08ab 8b05 948b 9284 8b82
088b 6b05 8bf7 1415 8b82 8484 828b 086b
8b05 828b 8492 8b94 088b f734 058b 9492
9294 8b08 ab8b 0594 8b92 848b 8208 8bfb
3405 0ef7 91f8 7415 fb1c 8bfb 03fb 0085
fb1a 8a82 938a 8b8b 08b6 8b05 938b 8c90
8b8f 91f1 e0dd f28b c28b bd74 ae65 086d
6e05 8585 8b83 9489 08f7 1272 0596 8898
9386 9c08 6df7 0805 8a90 8492 8486 086a
6c05 5eba 4ba8 448b 08f7 65fb 9815 838b
8a86 8b87 8525 3639 258b 538b 5aa2 67b1
08aa a805 9091 8b93 838d 08fb 13a4 0580
8e7e 8390 7a08 a9fb 0805 8c86 9284 9290
08ac aa05 b85c cb6e d38b f71b 8bf7 03f7
0091 f71a 8c94 838c 8b8b 0860 8b05 0e36
f7b9 f84a 15f7 1a8b 8bfb 1a05 8b84 8885
8685 8586 8589 848a 848b 848e 8690 8591
8992 8b91 088b b534 3405 8686 8488 848b
838b 858e 8690 8690 8891 8b93 8b92 8e92
9090 08e2 e261 8b05 848b 858e 8590 8690
8991 8b93 8b92 8d92 9090 9190 918e 928b
08fb 2cfb 8c15 9090 928d 928b 938b 9189
9086 8f86 8e84 8b84 8c83 8885 8686 0833
33b5 8b05 928b 9289 9085 9186 8d84 8b84
8b84 8985 8586 8686 8488 848b 08fb 198b
8bf7 1905 8b92 8e92 9090 9191 918d 928b
928b 9189 9185 9086 8d84 8b84 088b 6105
a6f7 0e15 848b 848e 8690 8591 8991 8b92
088b f719 f71a 8b05 928b 9189 9085 9086
8e84 8b84 8b84 8885 8686 8686 8588 848b
083b 8b8b 3b05 8b84 8885 8685 8586 8588
848b 08f7 9f8b 1592 8b91 8891 8690 868d
858b 8308 8bfb 19fb 198b 0584 8b85 8e85
9086 9088 918b 938b 928e 9290 9091 9091
8e92 8b08 db8b 8bda 058b 938e 9190 9091
9191 8d92 8b08 0e36 c3f7 5915 f717 8b8b
fb19 058b 8389 8587 8687 8685 8883 8b84
8b85 8e85 9086 9189 918a 9208 8bb9 3130
0585 8685 8884 8b83 8b85 8e86 9086 9088
918b 938b 928e 9190 9108 e2e2 648b 0584
8b85 8e86 9086 9188 918b 928b 928e 9290
9090 9091 8d92 8b08 a3c1 1584 8b84 8e86
9085 9089 918b 9208 8bf6 f68b 0592 8b92
8990 8590 868e 848b 848b 8488 8586 8685
8685 8884 8b08 568b 8b55 058b 8488 8586
8685 8685 8884 8b08 f79f 5515 928b 9189
9186 9086 8d84 8b84 088b 2021 8b05 848b
848e 8690 8590 8991 8b93 8b92 8e92 9090
9090 918e 938b 08c0 8b8b c005 8b92 8e92
9090 9190 918d 928b 08ad f77d 1591 9091
8e92 8b92 8b91 8891 8690 868e 848a 848b
8389 8586 8608 3333 b58b 0592 8b92 8990
8591 868d 848b 848b 8488 8586 8686 8685
8883 8b08 fb19 8b8b f719 058b 928e 9290
9090 9191 8d93 8b92 8b92 8890 8690 868d
858b 8308 8b61 050e 72f8 7bf7 ad15 9284
8b80 8483 0869 6805 8384 818b 8392 0883
9405 8690 8894 8e90 918f 8996 8095 7c9c
778b 8383 8888 8180 8b8b 085c ba92 9305
8b8b 8d8c 8f90 9a9a 7b9b 8b8b 61b4 528b
8b8b 088a 9905 f709 aab7 579b 7b08 ad69
0593 8383 7497 7d91 8593 8990 8b91 8b96
8f90 8508 fb5d 2d15 f705 2505 9b7c 8a71
7b7a 7a7b 728b 7b9c 0824 f701 2bfb 0805
8281 7b8b 8195 0872 a505 8293 8b9c 9494
08f7 02f1 56be 057a 9c81 907d 877d 8677
8b78 9763 a58e bb8b 8b08 8e90 058b 8baf
7490 8890 879f 819d a79d a77c 9c86 8e87
8e67 a28b 8b08 8e90 058b 8bb5 a0b2 748b
8a94 868f 87a4 758b 7287 7787 788f 8499
7c08 c055 cbcc b95c 05b0 fb64 1594 938b
9a82 9382 937e 8b82 8383 838b 7d93 8394
8399 8993 9408 0e85 f88e f7c4 158b 8b8a
8b8b 8c8b 8b8b 8c8b 8c8b 8b8b 8b8b 8c8b
8b8a 8c8b 8c8b 8b8b 8b8b 8c8a 8b8b 8c8b
8b8b 8b8b 8c8a 8b8b 8b8b 8c8a 8b08 8b8c
8b8b 8b8b 8a8c 8b8b 8b8b 8a8c 8b8b 8b8b
8a8c 8b8b 8b8b 8a8b 8b8c 8b8b 8b8b 8a8b
8b8b 08fb 7bf7 2e05 8490 818b 8486 08fb
7bfb 2e05 8b8b 8b8b 8a8b 8b8b 8b8a 8a8b
8b8b 8b8b 8a8a 8b8b 8b8b 8a8a 8b8b 8b8b
8a8a 8b8b 8b8b 8b8a 8a8b 8b8a 8b8b 8a8b
8b8a 8b8b 088b 8b8b 8a8a 8b8b 8a8b 8b8b
8b8b 8a8b 8a8a 8b8b 8a8b 8b8b 8b8b 8a8b
8a8b 8b8b 8a8b 8b8a 8b8b 8a8b 8a8b 8a08
8bfb 2e05 8b8a 8b8a 8b8a 8c8b 8b8b 8b8a
8b8b 8b8a 8b8b 8b8a 8b8b 8b8b 8c8a 8b8a
8b8a 8b8b 8b8b 8b8a 8c8b 8b8a 8b8b 8b8b
8b8a 8c8b 088b 8b8b 8a8c 8b8b 8a8b 8b8b
8b8c 8a8b 8b8b 8b8c 8a8b 8b8b 8b8c 8b8b
8a8b 8b8c 8b8b 8a8b 8b8c 8b8b 8b8b 8b08
f77b fb2e 058f 888f 8a8f 8b8f 8b8f 8c8f
8e08 f77b f72e 058b 8b8c 8b8b 8b8b 8b8b
8c8c 8b8b 8b8b 8c8c 8b8b 8b8b 8b8c 8c8b
8b8b 8b8c 8c8b 8b8b 8b8b 8c8b 8b8c 8c8b
8b8c 8b8b 8c8b 8b08 8b8b 8b8c 8c8b 8b8c
8b8b 8b8b 8b8c 8c8c 8b8c 8b8b 8b8b 8b8c
8b8b 8b8c 8b8b 8b8c 8c8b 8b8b 8b8c 8b8c
8b8c 088b f72e 058b 8c8b 8c8b 8c08 fb7b
f702 15f7 3efb 053f 582d ca8b f005 5f8b
158b 262d 4c3f bef7 3ef7 0505 fb4f fb2e
15c1 6755 678b d305 f74f fb76 15fb 3ef7
05d7 bee9 4c8b 2605 a1f7 1f15 3ebe d8be
d858 3e58 05a1 fb1f 158b f0e9 cad7 58fb
3efb 0505 f74f f72e 1555 afc1 af8b 4305
0ea2 f8a5 f783 1593 818b 8183 8189 8785
8482 7f82 7f7c 7a75 7476 7576 7974 7c65
6f5f 7e58 8b58 8b5e 9865 a775 9a75 9e76
a075 a17c 9c82 9808 8297 8593 898e 8395
8b95 9395 8d8f 9093 9597 9497 9a9c a1a1
a0a0 a19e a19a b1a7 b899 be8b bd8b b87d
b16f a17c a178 a076 08a1 759a 7a95 7f94
7f90 838d 8708 fb99 fb01 15a4 8ba1 959d
9d9d 9d94 a18b a58b a582 a179 9d79 9d75
9472 8b71 8b75 8279 7979 7982 758b 718b
7194 759d 799d 79a1 81a5 8b08 c0e9 158b
7c86 7f81 8080 817f 857c 8c7c 8b7e 9081
9581 9585 988b 9a8b 9a90 9896 9496 9597
909a 8d99 8b98 8595 8195 8091 7f8b 7c08
0ef8 9414 f894 158b 0c0a 0000 0003 0200
0190 0005 0000 014c 0166 0000 0047 014c
0166 0000 00f5 0019 0084 0000 0000 0000
0000 0000 0000 0000 0001 1000 0000 0000
0000 0000 0000 0000 0000 0040 0000 e80f
01e0 ffe0 ffe0 01e0 0020 0000 0001 0000
0000 0000 0000 0000 0020 0000 0000 0002
0000 0003 0000 0014 0003 0001 0000 0014
0004 0048 0000 000e 0008 0002 0006 0001
0020 e609 e809 e80f fffd ffff 0000 0000
0020 e600 e805 e80f fffd ffff 0001 ffe3
1a04 1809 1804 0003 0001 0000 0000 0000
0000 0000 0000 0000 0001 0001 ffff 000f
0001 0000 0000 0000 5861 2408 5f0f 3cf5
000b 0200 0000 0000 cf8d fdea 0000 0000
cf8d fdea 0000 ffe0 02d0 01e0 0000 0008
0002 0000 0000 0000 0001 0000 01e0 ffe0
0000 02d0 0000 0000 02d0 0001 0000 0000
0000 0000 0000 0000 0000 0014 0000 0000
0000 0000 0000 0000 0100 0000 0200 0000
02d0 0000 0200 001e 0200 0000 0200 0000
0200 0010 0200 000f 0200 0010 0200 0022
0200 0007 0200 0000 01ab 0000 01ab 0000
01e7 0000 01fa 0000 0217 0006 0000 5000
0014 0000 0000 000e 00ae 0001 0000 0000
0001 000e 0000 0001 0000 0000 0002 000e
0047 0001 0000 0000 0003 000e 0024 0001
0000 0000 0004 000e 0055 0001 0000 0000
0005 0016 000e 0001 0000 0000 0006 0007
0032 0001 0000 0000 000a 0028 0063 0003
0001 0409 0001 000e 0000 0003 0001 0409
0002 000e 0047 0003 0001 0409 0003 000e
0024 0003 0001 0409 0004 000e 0055 0003
0001 0409 0005 0016 000e 0003 0001 0409
0006 000e 0039 0003 0001 0409 000a 0028
0063 0069 0063 006f 006d 006f 006f 006e
0056 0065 0072 0073 0069 006f 006e 0020
0031 002e 0030 0069 0063 006f 006d 006f
006f 006e 6963 6f6d 6f6f 6e00 6900 6300
6f00 6d00 6f00 6f00 6e00 5200 6500 6700
7500 6c00 6100 7200 6900 6300 6f00 6d00
6f00 6f00 6e00 4700 6500 6e00 6500 7200
6100 7400 6500 6400 2000 6200 7900 2000
4900 6300 6f00 4d00 6f00 6f00 6e00 0000
0003 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000