Commit 62f1b3dc 62f1b3dc1d9971b3ec8e406e9784edab533c873f by tailor

从bitbucket迁移过来

0 parents
Showing 247 changed files with 11866 additions and 0 deletions
# See http://help.github.com/ignore-files/ for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile ~/.gitignore_global
# Ignore bundler config
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
# Ignore all logfiles and tempfiles.
/log
/tmp
/www
# Load DSL and set up stages
require 'capistrano/setup'
# Include default deployment tasks
require 'capistrano/deploy'
# Include tasks from other gems included in your Gemfile
#
# For documentation on these, see for example:
#
# https://github.com/capistrano/rvm
# https://github.com/capistrano/rbenv
# https://github.com/capistrano/chruby
# https://github.com/capistrano/bundler
# https://github.com/capistrano/rails
# https://github.com/capistrano/passenger
#
require 'capistrano/rvm'
# require 'capistrano/rbenv'
# require 'capistrano/chruby'
require 'capistrano/bundler'
# require 'capistrano/rails/assets'
# require 'capistrano/rails/migrations'
# require 'capistrano/passenger'
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
source 'https://rubygems.org'
gem 'rails', '3.2.15'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'mysql2'
# 分页插件
gem "kaminari"
gem "awesome_print"
gem 'capistrano', '~> 3.4.0'
gem 'capistrano-bundler'
gem 'capistrano-rvm'
gem 'unicorn'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
# Use unicorn as the app server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'debugger'
GEM
remote: https://rubygems.org/
specs:
actionmailer (3.2.15)
actionpack (= 3.2.15)
mail (~> 2.5.4)
actionpack (3.2.15)
activemodel (= 3.2.15)
activesupport (= 3.2.15)
builder (~> 3.0.0)
erubis (~> 2.7.0)
journey (~> 1.0.4)
rack (~> 1.4.5)
rack-cache (~> 1.2)
rack-test (~> 0.6.1)
sprockets (~> 2.2.1)
activemodel (3.2.15)
activesupport (= 3.2.15)
builder (~> 3.0.0)
activerecord (3.2.15)
activemodel (= 3.2.15)
activesupport (= 3.2.15)
arel (~> 3.0.2)
tzinfo (~> 0.3.29)
activeresource (3.2.15)
activemodel (= 3.2.15)
activesupport (= 3.2.15)
activesupport (3.2.15)
i18n (~> 0.6, >= 0.6.4)
multi_json (~> 1.0)
arel (3.0.3)
awesome_print (1.6.1)
builder (3.0.4)
capistrano (3.4.0)
i18n
rake (>= 10.0.0)
sshkit (~> 1.3)
capistrano-bundler (1.1.4)
capistrano (~> 3.1)
sshkit (~> 1.2)
capistrano-rvm (0.1.2)
capistrano (~> 3.0)
sshkit (~> 1.2)
coffee-rails (3.2.2)
coffee-script (>= 2.2.0)
railties (~> 3.2.0)
coffee-script (2.3.0)
coffee-script-source
execjs
coffee-script-source (1.8.0)
colorize (0.7.7)
erubis (2.7.0)
execjs (2.2.2)
hike (1.2.3)
i18n (0.6.11)
journey (1.0.4)
jquery-rails (3.1.2)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
json (1.8.3)
kaminari (0.16.1)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
kgio (2.10.0)
mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.25.1)
multi_json (1.11.2)
mysql2 (0.3.16)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (3.0.1)
polyglot (0.3.5)
rack (1.4.7)
rack-cache (1.2)
rack (>= 0.4)
rack-ssl (1.3.4)
rack
rack-test (0.6.3)
rack (>= 1.0)
rails (3.2.15)
actionmailer (= 3.2.15)
actionpack (= 3.2.15)
activerecord (= 3.2.15)
activeresource (= 3.2.15)
activesupport (= 3.2.15)
bundler (~> 1.0)
railties (= 3.2.15)
railties (3.2.15)
actionpack (= 3.2.15)
activesupport (= 3.2.15)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (>= 0.14.6, < 2.0)
raindrops (0.15.0)
rake (10.4.2)
rdoc (3.12.2)
json (~> 1.4)
sass (3.4.6)
sass-rails (3.2.6)
railties (~> 3.2.0)
sass (>= 3.1.10)
tilt (~> 1.3)
sprockets (2.2.3)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sshkit (1.7.1)
colorize (>= 0.7.0)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
thor (0.19.1)
tilt (1.4.1)
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.42)
uglifier (2.5.3)
execjs (>= 0.3.0)
json (>= 1.8.0)
unicorn (5.0.1)
kgio (~> 2.6)
rack
raindrops (~> 0.7)
PLATFORMS
ruby
DEPENDENCIES
awesome_print
capistrano (~> 3.4.0)
capistrano-bundler
capistrano-rvm
coffee-rails (~> 3.2.1)
jquery-rails
kaminari
mysql2
rails (= 3.2.15)
sass-rails (~> 3.2.3)
uglifier (>= 1.0.3)
unicorn
BUNDLED WITH
1.16.2
山东诺正检测有限公司
\ No newline at end of file
#!/usr/bin/env rake
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
require File.expand_path('../config/application', __FILE__)
Nuozheng::Application.load_tasks
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
// GO AFTER THE REQUIRES BELOW.
//
//= require jquery
//= require jquery_ujs
//= require_directory ./plugin
(function(g,e,b,j,c,i,k){/*! Jssor */
new(function(){this.$DebugMode=c;this.$Log=function(c,d){var a=g.console||{},b=this.$DebugMode;if(b&&a.log)a.log(c);else b&&d&&alert(c)};this.$Error=function(b,d){var c=g.console||{},a=this.$DebugMode;if(a&&c.error)c.error(b);else a&&alert(b);if(a)throw d||new Error(b);};this.$Fail=function(a){throw new Error(a);};this.$Assert=function(b,c){var a=this.$DebugMode;if(a)if(!b)throw new Error("Assert failed "+c||"");};this.$Trace=function(c){var a=g.console||{},b=this.$DebugMode;b&&a.log&&a.log(c)};this.$Execute=function(b){var a=this.$DebugMode;a&&b()};this.$LiveStamp=function(c,d){var b=this.$DebugMode;if(b){var a=e.createElement("DIV");a.setAttribute("id",d);c.$Live=a}};this.$C_AbstractProperty=function(){throw new Error("The property is abstract, it should be implemented by subclass.");};this.$C_AbstractMethod=function(){throw new Error("The method is abstract, it should be implemented by subclass.");};function a(b){if(b.constructor===a.caller)throw new Error("Cannot create instance of an abstract class.");}this.$C_AbstractClass=a});var d=g.$JssorEasing$={$EaseSwing:function(a){return-b.cos(a*b.PI)/2+.5},$EaseLinear:function(a){return a},$EaseInQuad:function(a){return a*a},$EaseOutQuad:function(a){return-a*(a-2)},$EaseInOutQuad:function(a){return(a*=2)<1?1/2*a*a:-1/2*(--a*(a-2)-1)},$EaseInCubic:function(a){return a*a*a},$EaseOutCubic:function(a){return(a-=1)*a*a+1},$EaseInOutCubic:function(a){return(a*=2)<1?1/2*a*a*a:1/2*((a-=2)*a*a+2)},$EaseInQuart:function(a){return a*a*a*a},$EaseOutQuart:function(a){return-((a-=1)*a*a*a-1)},$EaseInOutQuart:function(a){return(a*=2)<1?1/2*a*a*a*a:-1/2*((a-=2)*a*a*a-2)},$EaseInQuint:function(a){return a*a*a*a*a},$EaseOutQuint:function(a){return(a-=1)*a*a*a*a+1},$EaseInOutQuint:function(a){return(a*=2)<1?1/2*a*a*a*a*a:1/2*((a-=2)*a*a*a*a+2)},$EaseInSine:function(a){return 1-b.cos(a*b.PI/2)},$EaseOutSine:function(a){return b.sin(a*b.PI/2)},$EaseInOutSine:function(a){return-1/2*(b.cos(b.PI*a)-1)},$EaseInExpo:function(a){return a==0?0:b.pow(2,10*(a-1))},$EaseOutExpo:function(a){return a==1?1:-b.pow(2,-10*a)+1},$EaseInOutExpo:function(a){return a==0||a==1?a:(a*=2)<1?1/2*b.pow(2,10*(a-1)):1/2*(-b.pow(2,-10*--a)+2)},$EaseInCirc:function(a){return-(b.sqrt(1-a*a)-1)},$EaseOutCirc:function(a){return b.sqrt(1-(a-=1)*a)},$EaseInOutCirc:function(a){return(a*=2)<1?-1/2*(b.sqrt(1-a*a)-1):1/2*(b.sqrt(1-(a-=2)*a)+1)},$EaseInElastic:function(a){if(!a||a==1)return a;var c=.3,d=.075;return-(b.pow(2,10*(a-=1))*b.sin((a-d)*2*b.PI/c))},$EaseOutElastic:function(a){if(!a||a==1)return a;var c=.3,d=.075;return b.pow(2,-10*a)*b.sin((a-d)*2*b.PI/c)+1},$EaseInOutElastic:function(a){if(!a||a==1)return a;var c=.45,d=.1125;return(a*=2)<1?-.5*b.pow(2,10*(a-=1))*b.sin((a-d)*2*b.PI/c):b.pow(2,-10*(a-=1))*b.sin((a-d)*2*b.PI/c)*.5+1},$EaseInBack:function(a){var b=1.70158;return a*a*((b+1)*a-b)},$EaseOutBack:function(a){var b=1.70158;return(a-=1)*a*((b+1)*a+b)+1},$EaseInOutBack:function(a){var b=1.70158;return(a*=2)<1?1/2*a*a*(((b*=1.525)+1)*a-b):1/2*((a-=2)*a*(((b*=1.525)+1)*a+b)+2)},$EaseInBounce:function(a){return 1-d.$EaseOutBounce(1-a)},$EaseOutBounce:function(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},$EaseInOutBounce:function(a){return a<1/2?d.$EaseInBounce(a*2)*.5:d.$EaseOutBounce(a*2-1)*.5+.5},$EaseGoBack:function(a){return 1-b.abs(2-1)},$EaseInWave:function(a){return 1-b.cos(a*b.PI*2)},$EaseOutWave:function(a){return b.sin(a*b.PI*2)},$EaseOutJump:function(a){return 1-((a*=2)<1?(a=1-a)*a*a:(a-=1)*a*a)},$EaseInJump:function(a){return(a*=2)<1?a*a*a:(a=2-a)*a*a}},f=g.$Jease$={$Swing:d.$EaseSwing,$Linear:d.$EaseLinear,$InQuad:d.$EaseInQuad,$OutQuad:d.$EaseOutQuad,$InOutQuad:d.$EaseInOutQuad,$InCubic:d.$EaseInCubic,$OutCubic:d.$EaseOutCubic,$InOutCubic:d.$EaseInOutCubic,$InQuart:d.$EaseInQuart,$OutQuart:d.$EaseOutQuart,$InOutQuart:d.$EaseInOutQuart,$InQuint:d.$EaseInQuint,$OutQuint:d.$EaseOutQuint,$InOutQuint:d.$EaseInOutQuint,$InSine:d.$EaseInSine,$OutSine:d.$EaseOutSine,$InOutSine:d.$EaseInOutSine,$InExpo:d.$EaseInExpo,$OutExpo:d.$EaseOutExpo,$InOutExpo:d.$EaseInOutExpo,$InCirc:d.$EaseInCirc,$OutCirc:d.$EaseOutCirc,$InOutCirc:d.$EaseInOutCirc,$InElastic:d.$EaseInElastic,$OutElastic:d.$EaseOutElastic,$InOutElastic:d.$EaseInOutElastic,$InBack:d.$EaseInBack,$OutBack:d.$EaseOutBack,$InOutBack:d.$EaseInOutBack,$InBounce:d.$EaseInBounce,$OutBounce:d.$EaseOutBounce,$InOutBounce:d.$EaseInOutBounce,$GoBack:d.$EaseGoBack,$InWave:d.$EaseInWave,$OutWave:d.$EaseOutWave,$OutJump:d.$EaseOutJump,$InJump:d.$EaseInJump};g.$JssorDirection$={$TO_LEFT:1,$TO_RIGHT:2,$TO_TOP:4,$TO_BOTTOM:8,$HORIZONTAL:3,$VERTICAL:12,$GetDirectionHorizontal:function(a){return a&3},$GetDirectionVertical:function(a){return a&12},$IsHorizontal:function(a){return a&3},$IsVertical:function(a){return a&12}};var a=g.$Jssor$=new function(){var f=this,zb=/\S+/g,S=1,fb=2,jb=3,ib=4,nb=5,I,s=0,l=0,q=0,J=0,C=0,y=navigator,sb=y.appName,n=y.userAgent,v=e.documentElement;function Ib(){if(!I){I={$Touchable:"ontouchstart"in g||"createTouch"in e};var a;if(y.pointerEnabled||(a=y.msPointerEnabled))I.$TouchActionAttr=a?"msTouchAction":"touchAction"}return I}function t(i){if(!s){s=-1;if(sb=="Microsoft Internet Explorer"&&!!g.attachEvent&&!!g.ActiveXObject){var f=n.indexOf("MSIE");s=S;q=o(n.substring(f+5,n.indexOf(";",f)));/*@cc_on J=@_jscript_version@*/;l=e.documentMode||q}else if(sb=="Netscape"&&!!g.addEventListener){var d=n.indexOf("Firefox"),b=n.indexOf("Safari"),h=n.indexOf("Chrome"),c=n.indexOf("AppleWebKit");if(d>=0){s=fb;l=o(n.substring(d+8))}else if(b>=0){var j=n.substring(0,b).lastIndexOf("/");s=h>=0?ib:jb;l=o(n.substring(j+1,b))}else{var a=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/i.exec(n);if(a){s=S;l=q=o(a[1])}}if(c>=0)C=o(n.substring(c+12))}else{var a=/(opera)(?:.*version|)[ \/]([\w.]+)/i.exec(n);if(a){s=nb;l=o(a[2])}}}return i==s}function p(){return t(S)}function N(){return p()&&(l<6||e.compatMode=="BackCompat")}function Ab(){return t(fb)}function hb(){return t(jb)}function Db(){return t(ib)}function mb(){return t(nb)}function ab(){return hb()&&C>534&&C<535}function L(){return p()&&l<9}function cb(a){var b;return function(d){if(!b){b=a;var c=a.substr(0,1).toUpperCase()+a.substr(1);m([a].concat(["WebKit","ms","Moz","O","webkit"]),function(g,f){var e=a;if(f)e=g+c;if(d.style[e]!=k)return b=e})}return b}}var bb=cb("transform");function rb(a){return{}.toString.call(a)}var H;function Fb(){if(!H){H={};m(["Boolean","Number","String","Function","Array","Date","RegExp","Object"],function(a){H["[object "+a+"]"]=a.toLowerCase()})}return H}function m(a,d){if(rb(a)=="[object Array]"){for(var b=0;b<a.length;b++)if(d(a[b],b,a))return c}else for(var e in a)if(d(a[e],e,a))return c}function A(a){return a==j?String(a):Fb()[rb(a)]||"object"}function pb(a){for(var b in a)return c}function x(a){try{return A(a)=="object"&&!a.nodeType&&a!=a.window&&(!a.constructor||{}.hasOwnProperty.call(a.constructor.prototype,"isPrototypeOf"))}catch(b){}}function w(a,b){return{x:a,y:b}}function vb(b,a){setTimeout(b,a||0)}function F(b,d,c){var a=!b||b=="inherit"?"":b;m(d,function(c){var b=c.exec(a);if(b){var d=a.substr(0,b.index),e=a.substr(b.lastIndex+1,a.length-(b.lastIndex+1));a=d+e}});a=c+(a.indexOf(" ")!=0?" ":"")+a;return a}function eb(b,a){if(l<9)b.style.filter=a}function Bb(g,a,i){if(!J||J<9){var d=a.$ScaleX,e=a.$ScaleY,j=(a.$Rotate||0)%360,h="";if(j||d!=k||e!=k){if(d==k)d=1;if(e==k)e=1;var c=f.$CreateMatrix(j/180*b.PI,d||1,e||1),i=f.$GetMatrixOffset(c,a.$OriginalWidth,a.$OriginalHeight);f.$CssMarginTop(g,i.y);f.$CssMarginLeft(g,i.x);h="progid:DXImageTransform.Microsoft.Matrix(M11="+c[0][0]+", M12="+c[0][1]+", M21="+c[1][0]+", M22="+c[1][1]+", SizingMethod='auto expand')"}var m=g.style.filter,n=new RegExp(/[\s]*progid:DXImageTransform\.Microsoft\.Matrix\([^\)]*\)/g),l=F(m,[n],h);eb(g,l)}}f.$Device=Ib;f.$IsBrowserIE=p;f.$IsBrowserIeQuirks=N;f.$IsBrowserFireFox=Ab;f.$IsBrowserSafari=hb;f.$IsBrowserChrome=Db;f.$IsBrowserOpera=mb;f.$IsBrowserBadTransform=ab;f.$IsBrowserIe9Earlier=L;f.$BrowserVersion=function(){return l};f.$BrowserEngineVersion=function(){return q||l};f.$WebKitVersion=function(){t();return C};f.$Delay=vb;f.$Inherit=function(a,b){b.call(a);return z({},a)};function V(a){a.constructor===V.caller&&a.$Construct&&a.$Construct.apply(a,V.caller.arguments)}f.$Construct=V;f.$GetElement=function(a){if(f.$IsString(a))a=e.getElementById(a);return a};function r(a){return a||g.event}f.$GetEvent=r;f.$EvtSrc=function(a){a=r(a);return a.target||a.srcElement||e};f.$EvtTarget=function(a){a=r(a);return a.relatedTarget||a.toElement};f.$EvtWhich=function(a){a=r(a);return a.which||([0,1,3,0,2])[a.button]||a.charCode||a.keyCode};f.$MousePosition=function(a){a=r(a);return{x:a.pageX||a.clientX||0,y:a.pageY||a.clientY||0}};f.$PageScroll=function(){var a=e.body;return{x:(g.pageXOffset||v.scrollLeft||a.scrollLeft||0)-(v.clientLeft||a.clientLeft||0),y:(g.pageYOffset||v.scrollTop||a.scrollTop||0)-(v.clientTop||a.clientTop||0)}};f.$WindowSize=function(){var a=e.body;return{x:a.clientWidth||v.clientWidth,y:a.clientHeight||v.clientHeight}};function B(c,d,a){if(a!==k)c.style[d]=a==k?"":a;else{var b=c.currentStyle||c.style;a=b[d];if(a==""&&g.getComputedStyle){b=c.ownerDocument.defaultView.getComputedStyle(c,j);b&&(a=b.getPropertyValue(d)||b[d])}return a}}function X(b,c,a,d){if(a!==k){if(a==j)a="";else d&&(a+="px");B(b,c,a)}else return o(B(b,c))}function Jb(b,d,a){return X(b,d,a,c)}function h(c,a){var d=a?X:B,b;if(a&4)b=cb(c);return function(e,f){return d(e,b?b(e):c,f,a&2)}}function Cb(b){if(p()&&q<9){var a=/opacity=([^)]*)/.exec(b.style.filter||"");return a?o(a[1])/100:1}else return o(b.style.opacity||"1")}function Eb(c,a,f){if(p()&&q<9){var h=c.style.filter||"",i=new RegExp(/[\s]*alpha\([^\)]*\)/g),e=b.round(100*a),d="";if(e<100||f)d="alpha(opacity="+e+") ";var g=F(h,[i],d);eb(c,g)}else c.style.opacity=a==1?"":b.round(a*100)/100}var xb={$Rotate:["rotate"],$RotateX:["rotateX"],$RotateY:["rotateY"],$ScaleX:["scaleX",2],$ScaleY:["scaleY",2],$TranslateX:["translateX",1],$TranslateY:["translateY",1],$TranslateZ:["translateZ",1],$SkewX:["skewX"],$SkewY:["skewY"]};function Z(e,c){if(p()&&l&&l<10){delete c.$RotateX;delete c.$RotateY}var d=bb(e);if(d){var b="";a.$Each(c,function(e,c){var a=xb[c];if(a){var d=a[1]||0;b+=(b?" ":"")+a[0]+"("+e+(["deg","px",""])[d]+")"}});e.style[d]=b}}f.$SetStyleTransform=function(b,a){if(ab())vb(f.$CreateCallback(j,Z,b,a));else(L()?Bb:Z)(b,a)};f.$CssTransformOrigin=h("transformOrigin",4);f.$CssBackfaceVisibility=h("backfaceVisibility",4);f.$CssTransformStyle=h("transformStyle",4);f.$CssPerspective=h("perspective",6);f.$CssPerspectiveOrigin=h("perspectiveOrigin",4);f.$CssScale=function(a,c){if(p()&&q<9||q<10&&N())a.style.zoom=c==1?"":c;else{var b=bb(a);if(b){var f="scale("+c+")",e=a.style[b],g=new RegExp(/[\s]*scale\(.*?\)/g),d=F(e,[g],f);a.style[b]=d}}};var lb=0,gb=0;f.$WindowResizeFilter=function(b,a){return L()?function(){var g=c,d=N()?b.document.body:b.document.documentElement;if(d){var f=d.offsetWidth-lb,e=d.offsetHeight-gb;if(f||e){lb+=f;gb+=e}else g=i}g&&a()}:a};f.$MouseOverOutFilter=function(b,a){return function(c){c=r(c);var e=c.type,d=c.relatedTarget||(e=="mouseout"?c.toElement:c.fromElement);(!d||d!==a&&!f.$IsChild(a,d))&&b(c)}};f.$AddEvent=function(a,c,d,b){a=f.$GetElement(a);if(a.addEventListener){c=="mousewheel"&&a.addEventListener("DOMMouseScroll",d,b);a.addEventListener(c,d,b)}else if(a.attachEvent){a.attachEvent("on"+c,d);b&&a.setCapture&&a.setCapture()}};f.$RemoveEvent=function(a,c,d,b){a=f.$GetElement(a);if(a.removeEventListener){c=="mousewheel"&&a.removeEventListener("DOMMouseScroll",d,b);a.removeEventListener(c,d,b)}else if(a.detachEvent){a.detachEvent("on"+c,d);b&&a.releaseCapture&&a.releaseCapture()}};f.$FireEvent=function(c,b){var a;if(e.createEvent){a=e.createEvent("HTMLEvents");a.initEvent(b,i,i);c.dispatchEvent(a)}else{var d="on"+b;a=e.createEventObject();c.fireEvent(d,a)}};f.$CancelEvent=function(a){a=r(a);a.preventDefault&&a.preventDefault();a.cancel=c;a.returnValue=i};f.$StopEvent=function(a){a=r(a);a.stopPropagation&&a.stopPropagation();a.cancelBubble=c};f.$CreateCallback=function(d,c){var a=[].slice.call(arguments,2),b=function(){var b=a.concat([].slice.call(arguments,0));return c.apply(d,b)};return b};f.$InnerText=function(a,b){if(b==k)return a.textContent||a.innerText;var c=e.createTextNode(b);f.$Empty(a);a.appendChild(c)};f.$InnerHtml=function(a,b){if(b==k)return a.innerHTML;a.innerHTML=b};f.$GetClientRect=function(b){var a=b.getBoundingClientRect();return{x:a.left,y:a.top,w:a.right-a.left,h:a.bottom-a.top}};f.$ClearInnerHtml=function(a){a.innerHTML=""};f.$EncodeHtml=function(b){var a=f.$CreateDiv();f.$InnerText(a,b);return f.$InnerHtml(a)};f.$DecodeHtml=function(b){var a=f.$CreateDiv();f.$InnerHtml(a,b);return f.$InnerText(a)};f.$SelectElement=function(c){var b;if(g.getSelection)b=g.getSelection();var a=j;if(e.createRange){a=e.createRange();a.selectNode(c)}else{a=e.body.createTextRange();a.moveToElementText(c);a.select()}b&&b.addRange(a)};f.$DeselectElements=function(){if(e.selection)e.selection.empty();else g.getSelection&&g.getSelection().removeAllRanges()};f.$Children=function(d,c){for(var b=[],a=d.firstChild;a;a=a.nextSibling)(c||a.nodeType==1)&&b.push(a);return b};function qb(a,c,e,b){b=b||"u";for(a=a?a.firstChild:j;a;a=a.nextSibling)if(a.nodeType==1){if(R(a,b)==c)return a;if(!e){var d=qb(a,c,e,b);if(d)return d}}}f.$FindChild=qb;function P(a,d,f,b){b=b||"u";var c=[];for(a=a?a.firstChild:j;a;a=a.nextSibling)if(a.nodeType==1){R(a,b)==d&&c.push(a);if(!f){var e=P(a,d,f,b);if(e.length)c=c.concat(e)}}return c}function kb(a,c,d){for(a=a?a.firstChild:j;a;a=a.nextSibling)if(a.nodeType==1){if(a.tagName==c)return a;if(!d){var b=kb(a,c,d);if(b)return b}}}f.$FindChildByTag=kb;function db(a,c,e){var b=[];for(a=a?a.firstChild:j;a;a=a.nextSibling)if(a.nodeType==1){(!c||a.tagName==c)&&b.push(a);if(!e){var d=db(a,c,e);if(d.length)b=b.concat(d)}}return b}f.$FindChildrenByTag=db;f.$GetElementsByTag=function(b,a){return b.getElementsByTagName(a)};function z(){var e=arguments,d,c,b,a,g=1&e[0],f=1+g;d=e[f-1]||{};for(;f<e.length;f++)if(c=e[f])for(b in c){a=c[b];if(a!==k){a=c[b];var h=d[b];d[b]=g&&(x(h)||x(a))?z(g,{},h,a):a}}return d}f.$Extend=z;function W(f,g){var d={},c,a,b;for(c in f){a=f[c];b=g[c];if(a!==b){var e;if(x(a)&&x(b)){a=W(a,b);e=!pb(a)}!e&&(d[c]=a)}}return d}f.$Unextend=W;f.$IsFunction=function(a){return A(a)=="function"};f.$IsArray=function(a){return A(a)=="array"};f.$IsString=function(a){return A(a)=="string"};f.$IsNumeric=function(a){return!isNaN(o(a))&&isFinite(a)};f.$Type=A;f.$Each=m;f.$IsNotEmpty=pb;f.$IsPlainObject=x;function O(a){return e.createElement(a)}f.$CreateElement=O;f.$CreateDiv=function(){return O("DIV")};f.$CreateSpan=function(){return O("SPAN")};f.$EmptyFunction=function(){};function T(b,c,a){if(a==k)return b.getAttribute(c);b.setAttribute(c,a)}function R(a,b){return T(a,b)||T(a,"data-"+b)}f.$Attribute=T;f.$AttributeEx=R;function u(b,a){if(a==k)return b.className;b.className=a}f.$ClassName=u;function ub(b){var a={};m(b,function(b){a[b]=b});return a}function Hb(b){var a=[];m(b,function(b){a.push(b)});return a}function wb(b,a){return b.match(a||zb)}function M(b,a){return ub(wb(b||"",a))}f.$ToHash=ub;f.$FromHash=Hb;f.$Split=wb;function Y(b,c){var a="";m(c,function(c){a&&(a+=b);a+=c});return a}function E(a,c,b){u(a,Y(" ",z(W(M(u(a)),M(c)),M(b))))}f.$Join=Y;f.$AddClass=function(b,a){E(b,j,a)};f.$RemoveClass=E;f.$ReplaceClass=E;f.$ParentNode=function(a){return a.parentNode};f.$HideElement=function(a){f.$CssDisplay(a,"none")};f.$EnableElement=function(a,b){if(b)f.$Attribute(a,"disabled",c);else f.$RemoveAttribute(a,"disabled")};f.$HideElements=function(b){for(var a=0;a<b.length;a++)f.$HideElement(b[a])};f.$ShowElement=function(a,b){f.$CssDisplay(a,b?"none":"")};f.$ShowElements=function(b,c){for(var a=0;a<b.length;a++)f.$ShowElement(b[a],c)};f.$RemoveAttribute=function(b,a){b.removeAttribute(a)};f.$CanClearClip=function(){return p()&&l<10};f.$SetStyleClip=function(d,c){if(c)d.style.clip="rect("+b.round(c.$Top)+"px "+b.round(c.$Right)+"px "+b.round(c.$Bottom)+"px "+b.round(c.$Left)+"px)";else{var g=d.style.cssText,f=[new RegExp(/[\s]*clip: rect\(.*?\)[;]?/i),new RegExp(/[\s]*cliptop: .*?[;]?/i),new RegExp(/[\s]*clipright: .*?[;]?/i),new RegExp(/[\s]*clipbottom: .*?[;]?/i),new RegExp(/[\s]*clipleft: .*?[;]?/i)],e=F(g,f,"");a.$CssCssText(d,e)}};f.$GetNow=function(){return+new Date};f.$AppendChild=function(b,a){b.appendChild(a)};f.$AppendChildren=function(b,a){m(a,function(a){f.$AppendChild(b,a)})};f.$InsertBefore=function(b,a,c){(c||a.parentNode).insertBefore(b,a)};f.$InsertAfter=function(b,a,c){f.$InsertBefore(b,a.nextSibling,c||a.parentNode)};f.$InsertAdjacentHtml=function(b,a,c){b.insertAdjacentHTML(a,c)};f.$RemoveElement=function(a,b){(b||a.parentNode).removeChild(a)};f.$RemoveElements=function(a,b){m(a,function(a){f.$RemoveElement(a,b)})};f.$Empty=function(a){f.$RemoveElements(f.$Children(a,c),a)};f.$CenterElement=function(a,b){var c=f.$ParentNode(a);b&1&&f.$CssLeft(a,(f.$CssWidth(c)-f.$CssWidth(a))/2);b&2&&f.$CssTop(a,(f.$CssHeight(c)-f.$CssHeight(a))/2)};f.$ParseInt=function(b,a){return parseInt(b,a||10)};var o=parseFloat;f.$ParseFloat=o;f.$IsChild=function(b,a){var c=e.body;while(a&&b!==a&&c!==a)try{a=a.parentNode}catch(d){return i}return b===a};function U(d,c,b){var a=d.cloneNode(!c);!b&&f.$RemoveAttribute(a,"id");return a}f.$CloneNode=U;f.$LoadImage=function(e,g){var a=new Image;function b(e,c){f.$RemoveEvent(a,"load",b);f.$RemoveEvent(a,"abort",d);f.$RemoveEvent(a,"error",d);g&&g(a,c)}function d(a){b(a,c)}if(mb()&&l<11.6||!e)b(!e);else{f.$AddEvent(a,"load",b);f.$AddEvent(a,"abort",d);f.$AddEvent(a,"error",d);a.src=e}};f.$LoadImages=function(d,a,e){var c=d.length+1;function b(b){c--;if(a&&b&&b.src==a.src)a=b;!c&&e&&e(a)}m(d,function(a){f.$LoadImage(a.src,b)});b()};f.$BuildElement=function(b,g,i,h){if(h)b=U(b);var c=P(b,g);if(!c.length)c=a.$GetElementsByTag(b,g);for(var f=c.length-1;f>-1;f--){var d=c[f],e=U(i);u(e,u(d));a.$CssCssText(e,d.style.cssText);a.$InsertBefore(e,d);a.$RemoveElement(d)}return b};function Gb(b){var l=this,p="",r=["av","pv","ds","dn"],g=[],q,j=0,h=0,d=0;function i(){E(b,q,g[d||j||h&2||h]);a.$Css(b,"pointer-events",d?"none":"")}function c(){j=0;i();f.$RemoveEvent(e,"mouseup",c);f.$RemoveEvent(e,"touchend",c);f.$RemoveEvent(e,"touchcancel",c)}function o(a){if(d)f.$CancelEvent(a);else{j=4;i();f.$AddEvent(e,"mouseup",c);f.$AddEvent(e,"touchend",c);f.$AddEvent(e,"touchcancel",c)}}l.$Selected=function(a){if(a===k)return h;h=a&2||a&1;i()};l.$Enable=function(a){if(a===k)return!d;d=a?0:3;i()};l.$Elmt=b=f.$GetElement(b);var n=a.$Split(u(b));if(n)p=n.shift();m(r,function(a){g.push(p+a)});q=Y(" ",g);g.unshift("");f.$AddEvent(b,"mousedown",o);f.$AddEvent(b,"touchstart",o)}f.$Buttonize=function(a){return new Gb(a)};f.$Css=B;f.$CssN=X;f.$CssP=Jb;f.$CssOverflow=h("overflow");f.$CssTop=h("top",2);f.$CssLeft=h("left",2);f.$CssWidth=h("width",2);f.$CssHeight=h("height",2);f.$CssMarginLeft=h("marginLeft",2);f.$CssMarginTop=h("marginTop",2);f.$CssPosition=h("position");f.$CssDisplay=h("display");f.$CssZIndex=h("zIndex",1);f.$CssFloat=function(b,a){return B(b,p()?"styleFloat":"cssFloat",a)};f.$CssOpacity=function(b,a,c){if(a!=k)Eb(b,a,c);else return Cb(b)};f.$CssCssText=function(a,b){if(b!=k)a.style.cssText=b;else return a.style.cssText};var Q={$Opacity:f.$CssOpacity,$Top:f.$CssTop,$Left:f.$CssLeft,$Width:f.$CssWidth,$Height:f.$CssHeight,$Position:f.$CssPosition,$Display:f.$CssDisplay,$ZIndex:f.$CssZIndex},K;function G(){if(!K)K=z({$MarginTop:f.$CssMarginTop,$MarginLeft:f.$CssMarginLeft,$Clip:f.$SetStyleClip,$Transform:f.$SetStyleTransform},Q);return K}function ob(){var a={};a.$Transform=a.$Transform;a.$Transform=a.$Rotate;a.$Transform=a.$RotateX;a.$Transform=a.$RotateY;a.$Transform=a.$SkewX;a.$Transform=a.$SkewY;a.$Transform=a.$TranslateX;a.$Transform=a.$TranslateY;a.$Transform=a.$TranslateZ;return G()}f.$StyleSetter=G;f.$StyleSetterEx=ob;f.$GetStyles=function(c,b){G();var a={};m(b,function(d,b){if(Q[b])a[b]=Q[b](c)});return a};f.$SetStyles=function(c,b){var a=G();m(b,function(d,b){a[b]&&a[b](c,d)})};f.$SetStylesEx=function(b,a){ob();f.$SetStyles(b,a)};var D=new function(){var a=this;function b(d,g){for(var j=d[0].length,i=d.length,h=g[0].length,f=[],c=0;c<i;c++)for(var k=f[c]=[],b=0;b<h;b++){for(var e=0,a=0;a<j;a++)e+=d[c][a]*g[a][b];k[b]=e}return f}a.$ScaleX=function(b,c){return a.$ScaleXY(b,c,0)};a.$ScaleY=function(b,c){return a.$ScaleXY(b,0,c)};a.$ScaleXY=function(a,c,d){return b(a,[[c,0],[0,d]])};a.$TransformPoint=function(d,c){var a=b(d,[[c.x],[c.y]]);return w(a[0][0],a[1][0])}};f.$CreateMatrix=function(d,a,c){var e=b.cos(d),f=b.sin(d);return[[e*a,-f*c],[f*a,e*c]]};f.$GetMatrixOffset=function(d,c,a){var e=D.$TransformPoint(d,w(-c/2,-a/2)),f=D.$TransformPoint(d,w(c/2,-a/2)),g=D.$TransformPoint(d,w(c/2,a/2)),h=D.$TransformPoint(d,w(-c/2,a/2));return w(b.min(e.x,f.x,g.x,h.x)+c/2,b.min(e.y,f.y,g.y,h.y)+a/2)};var yb={$Zoom:1,$ScaleX:1,$ScaleY:1,$Rotate:0,$RotateX:0,$RotateY:0,$TranslateX:0,$TranslateY:0,$TranslateZ:0,$SkewX:0,$SkewY:0};f.$FormatEasings=function(b){var c=b||{};if(b)if(a.$IsFunction(b))c={$Default:c};else if(a.$IsFunction(b.$Clip))c.$Clip={$Default:b.$Clip};return c};function tb(c,a){var b={};m(c,function(c,d){var e=c;if(a[d]!=k)if(f.$IsNumeric(c))e=c+a[d];else e=tb(c,a[d]);b[d]=e});return b}f.$AddDif=tb;f.$Cast=function(h,i,w,n,y,z,o){var c=i;if(h){c={};for(var g in i){var A=z[g]||1,v=y[g]||[0,1],e=(w-v[0])/v[1];e=b.min(b.max(e,0),1);e=e*A;var u=b.floor(e);if(e!=u)e-=u;var l=n.$Default||d.$EaseSwing,m,B=h[g],q=i[g];if(a.$IsNumeric(q)){l=n[g]||l;var x=l(e);m=B+q*x}else{m=a.$Extend({$Offset:{}},h[g]);a.$Each(q.$Offset||q,function(d,a){if(n.$Clip)l=n.$Clip[a]||n.$Clip.$Default||l;var c=l(e),b=d*c;m.$Offset[a]=b;m[a]+=b})}c[g]=m}var t,f={$OriginalWidth:o.$OriginalWidth,$OriginalHeight:o.$OriginalHeight};a.$Each(yb,function(d,a){t=t||i[a];var b=c[a];if(b!=k){if(b!=d)f[a]=b;delete c[a]}else if(h[a]!=k&&h[a]!=d)f[a]=h[a]});if(i.$Zoom&&f.$Zoom){f.$ScaleX=f.$Zoom;f.$ScaleY=f.$Zoom}c.$Transform=f}if(i.$Clip&&o.$Move){var p=c.$Clip.$Offset,s=(p.$Top||0)+(p.$Bottom||0),r=(p.$Left||0)+(p.$Right||0);c.$Left=(c.$Left||0)+r;c.$Top=(c.$Top||0)+s;c.$Clip.$Left-=r;c.$Clip.$Right-=r;c.$Clip.$Top-=s;c.$Clip.$Bottom-=s}if(c.$Clip&&a.$CanClearClip()&&!c.$Clip.$Top&&!c.$Clip.$Left&&c.$Clip.$Right==o.$OriginalWidth&&c.$Clip.$Bottom==o.$OriginalHeight)c.$Clip=j;return c}};function m(){var b=this,d=[],c=[];function i(a,b){d.push({$EventName:a,$Handler:b})}function h(b,c){a.$Each(d,function(a,e){a.$EventName==b&&a.$Handler===c&&d.splice(e,1)})}function f(){d=[]}function e(){a.$Each(c,function(b){a.$RemoveEvent(b.$Obj,b.$EventName,b.$Handler)});c=[]}b.$Listen=function(e,b,d,f){a.$AddEvent(e,b,d,f);c.push({$Obj:e,$EventName:b,$Handler:d})};b.$Unlisten=function(e,b,d){a.$Each(c,function(f,g){if(f.$Obj===e&&f.$EventName==b&&f.$Handler===d){a.$RemoveEvent(e,b,d);c.splice(g,1)}})};b.$UnlistenAll=e;b.$On=b.addEventListener=i;b.$Off=b.removeEventListener=h;b.$TriggerEvent=function(b){var c=[].slice.call(arguments,1);a.$Each(d,function(a){a.$EventName==b&&a.$Handler.apply(g,c)})};b.$Destroy=function(){e();f();for(var a in b)delete b[a]}}var l=g.$JssorAnimator$=function(y,C,k,P,N,J){y=y||0;var d=this,q,M,n,o,v,z=0,H,I,G,B,x=0,h=0,m=0,D,l,s,f,e,p,w=[],A;function O(a){f+=a;e+=a;l+=a;s+=a;h+=a;m+=a;x+=a}function u(n){var g=n;if(p&&(g>=e||g<=f))g=((g-f)%p+p)%p+f;if(!D||v||h!=g){var i=b.min(g,e);i=b.max(i,f);if(!D||v||i!=m){if(J){var j=(i-l)/(C||1);if(k.$Reverse)j=1-j;var o=a.$Cast(N,J,j,H,G,I,k);a.$Each(o,function(b,a){A[a]&&A[a](P,b)})}d.$OnInnerOffsetChange(m-l,i-l);m=i;a.$Each(w,function(b,c){var a=n<h?w[w.length-c-1]:b;a.$GoToPosition(m-x)});var r=h,q=m;h=g;D=c;d.$OnPositionChange(r,q)}}}function E(a,c,d){c&&a.$Shift(e);if(!d){f=b.min(f,a.$GetPosition_OuterBegin()+x);e=b.max(e,a.$GetPosition_OuterEnd()+x)}w.push(a)}var r=g.requestAnimationFrame||g.webkitRequestAnimationFrame||g.mozRequestAnimationFrame||g.msRequestAnimationFrame;if(a.$IsBrowserSafari()&&a.$BrowserVersion()<7)r=j;r=r||function(b){a.$Delay(b,k.$Interval)};function K(){if(q){var d=a.$GetNow(),e=b.min(d-z,k.$IntervalMax),c=h+e*o;z=d;if(c*o>=n*o)c=n;u(c);if(!v&&c*o>=n*o)L(B);else r(K)}}function t(g,i,j){if(!q){q=c;v=j;B=i;g=b.max(g,f);g=b.min(g,e);n=g;o=n<h?-1:1;d.$OnStart();z=a.$GetNow();r(K)}}function L(a){if(q){v=q=B=i;d.$OnStop();a&&a()}}d.$Play=function(a,b,c){t(a?h+a:e,b,c)};d.$PlayToPosition=t;d.$PlayToBegin=function(a,b){t(f,a,b)};d.$PlayToEnd=function(a,b){t(e,a,b)};d.$Stop=L;d.$Continue=function(a){t(a)};d.$GetPosition=function(){return h};d.$GetPlayToPosition=function(){return n};d.$GetPosition_Display=function(){return m};d.$GoToPosition=u;d.$GoToBegin=function(){u(f,c)};d.$GoToEnd=function(){u(e,c)};d.$Move=function(a){u(h+a)};d.$CombineMode=function(){return M};d.$GetDuration=function(){return C};d.$IsPlaying=function(){return q};d.$IsOnTheWay=function(){return h>l&&h<=s};d.$SetLoopLength=function(a){p=a};d.$Shift=O;d.$Join=E;d.$Combine=function(a,b){E(a,0,b)};d.$Chain=function(a){E(a,1)};d.$Expand=function(a){e+=a};d.$GetPosition_InnerBegin=function(){return l};d.$GetPosition_InnerEnd=function(){return s};d.$GetPosition_OuterBegin=function(){return f};d.$GetPosition_OuterEnd=function(){return e};d.$OnPositionChange=d.$OnStart=d.$OnStop=d.$OnInnerOffsetChange=a.$EmptyFunction;d.$Version=a.$GetNow();k=a.$Extend({$Interval:16,$IntervalMax:50},k);p=k.$LoopLength;A=a.$Extend({},a.$StyleSetter(),k.$Setter);f=l=y;e=s=y+C;I=k.$Round||{};G=k.$During||{};H=a.$FormatEasings(k.$Easing)};var o=g.$JssorSlideshowFormations$=new function(){var h=this,d=0,a=1,f=2,e=3,s=1,r=2,t=4,q=8,w=256,x=512,v=1024,u=2048,j=u+s,i=u+r,o=x+s,m=x+r,n=w+t,k=w+q,l=v+t,p=v+q;function y(a){return(a&r)==r}function z(a){return(a&t)==t}function g(b,a,c){c.push(a);b[a]=b[a]||[];b[a].push(c)}h.$FormationStraight=function(f){for(var d=f.$Cols,e=f.$Rows,s=f.$Assembly,t=f.$Count,r=[],a=0,b=0,p=d-1,q=e-1,h=t-1,c,b=0;b<e;b++)for(a=0;a<d;a++){switch(s){case j:c=h-(a*e+(q-b));break;case l:c=h-(b*d+(p-a));break;case o:c=h-(a*e+b);case n:c=h-(b*d+a);break;case i:c=a*e+b;break;case k:c=b*d+(p-a);break;case m:c=a*e+(q-b);break;default:c=b*d+a}g(r,c,[b,a])}return r};h.$FormationSwirl=function(q){var x=q.$Cols,y=q.$Rows,B=q.$Assembly,w=q.$Count,A=[],z=[],u=0,b=0,h=0,r=x-1,s=y-1,t,p,v=0;switch(B){case j:b=r;h=0;p=[f,a,e,d];break;case l:b=0;h=s;p=[d,e,a,f];break;case o:b=r;h=s;p=[e,a,f,d];break;case n:b=r;h=s;p=[a,e,d,f];break;case i:b=0;h=0;p=[f,d,e,a];break;case k:b=r;h=0;p=[a,f,d,e];break;case m:b=0;h=s;p=[e,d,f,a];break;default:b=0;h=0;p=[d,f,a,e]}u=0;while(u<w){t=h+","+b;if(b>=0&&b<x&&h>=0&&h<y&&!z[t]){z[t]=c;g(A,u++,[h,b])}else switch(p[v++%p.length]){case d:b--;break;case f:h--;break;case a:b++;break;case e:h++}switch(p[v%p.length]){case d:b++;break;case f:h++;break;case a:b--;break;case e:h--}}return A};h.$FormationZigZag=function(p){var w=p.$Cols,x=p.$Rows,z=p.$Assembly,v=p.$Count,t=[],u=0,b=0,c=0,q=w-1,r=x-1,y,h,s=0;switch(z){case j:b=q;c=0;h=[f,a,e,a];break;case l:b=0;c=r;h=[d,e,a,e];break;case o:b=q;c=r;h=[e,a,f,a];break;case n:b=q;c=r;h=[a,e,d,e];break;case i:b=0;c=0;h=[f,d,e,d];break;case k:b=q;c=0;h=[a,f,d,f];break;case m:b=0;c=r;h=[e,d,f,d];break;default:b=0;c=0;h=[d,f,a,f]}u=0;while(u<v){y=c+","+b;if(b>=0&&b<w&&c>=0&&c<x&&typeof t[y]=="undefined"){g(t,u++,[c,b]);switch(h[s%h.length]){case d:b++;break;case f:c++;break;case a:b--;break;case e:c--}}else{switch(h[s++%h.length]){case d:b--;break;case f:c--;break;case a:b++;break;case e:c++}switch(h[s++%h.length]){case d:b++;break;case f:c++;break;case a:b--;break;case e:c--}}}return t};h.$FormationStraightStairs=function(q){var u=q.$Cols,v=q.$Rows,e=q.$Assembly,t=q.$Count,r=[],s=0,c=0,d=0,f=u-1,h=v-1,x=t-1;switch(e){case j:case m:case o:case i:var a=0,b=0;break;case k:case l:case n:case p:var a=f,b=0;break;default:e=p;var a=f,b=0}c=a;d=b;while(s<t){if(z(e)||y(e))g(r,x-s++,[d,c]);else g(r,s++,[d,c]);switch(e){case j:case m:c--;d++;break;case o:case i:c++;d--;break;case k:case l:c--;d--;break;case p:case n:default:c++;d++}if(c<0||d<0||c>f||d>h){switch(e){case j:case m:a++;break;case k:case l:case o:case i:b++;break;case p:case n:default:a--}if(a<0||b<0||a>f||b>h){switch(e){case j:case m:a=f;b++;break;case o:case i:b=h;a++;break;case k:case l:b=h;a--;break;case p:case n:default:a=0;b++}if(b>h)b=h;else if(b<0)b=0;else if(a>f)a=f;else if(a<0)a=0}d=b;c=a}}return r};h.$FormationSquare=function(i){var a=i.$Cols||1,c=i.$Rows||1,j=[],d,e,f,h,k;f=a<c?(c-a)/2:0;h=a>c?(a-c)/2:0;k=b.round(b.max(a/2,c/2))+1;for(d=0;d<a;d++)for(e=0;e<c;e++)g(j,k-b.min(d+1+f,e+1+h,a-d+f,c-e+h),[e,d]);return j};h.$FormationRectangle=function(f){var d=f.$Cols||1,e=f.$Rows||1,h=[],a,c,i;i=b.round(b.min(d/2,e/2))+1;for(a=0;a<d;a++)for(c=0;c<e;c++)g(h,i-b.min(a+1,c+1,d-a,e-c),[c,a]);return h};h.$FormationRandom=function(d){for(var e=[],a,c=0;c<d.$Rows;c++)for(a=0;a<d.$Cols;a++)g(e,b.ceil(1e5*b.random())%13,[c,a]);return e};h.$FormationCircle=function(d){for(var e=d.$Cols||1,f=d.$Rows||1,h=[],a,i=e/2-.5,j=f/2-.5,c=0;c<e;c++)for(a=0;a<f;a++)g(h,b.round(b.sqrt(b.pow(c-i,2)+b.pow(a-j,2))),[a,c]);return h};h.$FormationCross=function(d){for(var e=d.$Cols||1,f=d.$Rows||1,h=[],a,i=e/2-.5,j=f/2-.5,c=0;c<e;c++)for(a=0;a<f;a++)g(h,b.round(b.min(b.abs(c-i),b.abs(a-j))),[a,c]);return h};h.$FormationRectangleCross=function(f){for(var h=f.$Cols||1,i=f.$Rows||1,j=[],a,d=h/2-.5,e=i/2-.5,k=b.max(d,e)+1,c=0;c<h;c++)for(a=0;a<i;a++)g(j,b.round(k-b.max(d-b.abs(c-d),e-b.abs(a-e)))-1,[a,c]);return j}};g.$JssorSlideshowRunner$=function(n,s,q,t,y){var f=this,u,g,e,x=0,w=t.$TransitionsOrder,r,h=8;function k(g,f){var e={$Interval:f,$Duration:1,$Delay:0,$Cols:1,$Rows:1,$Opacity:0,$Zoom:0,$Clip:0,$Move:i,$SlideOut:i,$Reverse:i,$Formation:o.$FormationRandom,$Assembly:1032,$ChessMode:{$Column:0,$Row:0},$Easing:d.$EaseSwing,$Round:{},$Blocks:[],$During:{}};a.$Extend(e,g);e.$Count=e.$Cols*e.$Rows;e.$Easing=a.$FormatEasings(e.$Easing);e.$FramesCount=b.ceil(e.$Duration/e.$Interval);e.$GetBlocks=function(b,a){b/=e.$Cols;a/=e.$Rows;var f=b+"x"+a;if(!e.$Blocks[f]){e.$Blocks[f]={$Width:b,$Height:a};for(var c=0;c<e.$Cols;c++)for(var d=0;d<e.$Rows;d++)e.$Blocks[f][d+","+c]={$Top:d*a,$Right:c*b+b,$Bottom:d*a+a,$Left:c*b}}return e.$Blocks[f]};if(e.$Brother){e.$Brother=k(e.$Brother,f);e.$SlideOut=c}return e}function p(A,h,d,v,n,l){var y=this,t,u={},j={},m=[],f,e,r,p=d.$ChessMode.$Column||0,q=d.$ChessMode.$Row||0,g=d.$GetBlocks(n,l),o=B(d),C=o.length-1,s=d.$Duration+d.$Delay*C,w=v+s,k=d.$SlideOut,x;w+=50;function B(a){var b=a.$Formation(a);return a.$Reverse?b.reverse():b}y.$EndTime=w;y.$ShowFrame=function(c){c-=v;var e=c<s;if(e||x){x=e;if(!k)c=s-c;var f=b.ceil(c/d.$Interval);a.$Each(j,function(c,e){var d=b.max(f,c.$Min);d=b.min(d,c.length-1);if(c.$LastFrameIndex!=d){if(!c.$LastFrameIndex&&!k)a.$ShowElement(m[e]);else d==c.$Max&&k&&a.$HideElement(m[e]);c.$LastFrameIndex=d;a.$SetStylesEx(m[e],c[d])}})}};h=a.$CloneNode(h);if(a.$IsBrowserIe9Earlier()){var D=!h["no-image"],z=a.$FindChildrenByTag(h);a.$Each(z,function(b){(D||b["jssor-slider"])&&a.$CssOpacity(b,a.$CssOpacity(b),c)})}a.$Each(o,function(h,m){a.$Each(h,function(G){var K=G[0],J=G[1],v=K+","+J,o=i,s=i,x=i;if(p&&J%2){if(p&3)o=!o;if(p&12)s=!s;if(p&16)x=!x}if(q&&K%2){if(q&3)o=!o;if(q&12)s=!s;if(q&16)x=!x}d.$Top=d.$Top||d.$Clip&4;d.$Bottom=d.$Bottom||d.$Clip&8;d.$Left=d.$Left||d.$Clip&1;d.$Right=d.$Right||d.$Clip&2;var C=s?d.$Bottom:d.$Top,z=s?d.$Top:d.$Bottom,B=o?d.$Right:d.$Left,A=o?d.$Left:d.$Right;d.$Clip=C||z||B||A;r={};e={$Top:0,$Left:0,$Opacity:1,$Width:n,$Height:l};f=a.$Extend({},e);t=a.$Extend({},g[v]);if(d.$Opacity)e.$Opacity=2-d.$Opacity;if(d.$ZIndex){e.$ZIndex=d.$ZIndex;f.$ZIndex=0}var I=d.$Cols*d.$Rows>1||d.$Clip;if(d.$Zoom||d.$Rotate){var H=c;if(a.$IsBrowserIe9Earlier())if(d.$Cols*d.$Rows>1)H=i;else I=i;if(H){e.$Zoom=d.$Zoom?d.$Zoom-1:1;f.$Zoom=1;if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera())e.$Zoom=b.min(e.$Zoom,2);var N=d.$Rotate||0;e.$Rotate=N*360*(x?-1:1);f.$Rotate=0}}if(I){var h=t.$Offset={};if(d.$Clip){var w=d.$ScaleClip||1;if(C&&z){h.$Top=g.$Height/2*w;h.$Bottom=-h.$Top}else if(C)h.$Bottom=-g.$Height*w;else if(z)h.$Top=g.$Height*w;if(B&&A){h.$Left=g.$Width/2*w;h.$Right=-h.$Left}else if(B)h.$Right=-g.$Width*w;else if(A)h.$Left=g.$Width*w}r.$Clip=t;f.$Clip=g[v]}var L=o?1:-1,M=s?1:-1;if(d.x)e.$Left+=n*d.x*L;if(d.y)e.$Top+=l*d.y*M;a.$Each(e,function(b,c){if(a.$IsNumeric(b))if(b!=f[c])r[c]=b-f[c]});u[v]=k?f:e;var D=d.$FramesCount,y=b.round(m*d.$Delay/d.$Interval);j[v]=new Array(y);j[v].$Min=y;j[v].$Max=y+D-1;for(var F=0;F<=D;F++){var E=a.$Cast(f,r,F/D,d.$Easing,d.$During,d.$Round,{$Move:d.$Move,$OriginalWidth:n,$OriginalHeight:l});E.$ZIndex=E.$ZIndex||1;j[v].push(E)}})});o.reverse();a.$Each(o,function(b){a.$Each(b,function(c){var f=c[0],e=c[1],d=f+","+e,b=h;if(e||f)b=a.$CloneNode(h);a.$SetStyles(b,u[d]);a.$CssOverflow(b,"hidden");a.$CssPosition(b,"absolute");A.$AddClipElement(b);m[d]=b;a.$ShowElement(b,!k)})})}function v(){var a=this,b=0;l.call(a,0,u);a.$OnPositionChange=function(c,a){if(a-b>h){b=a;e&&e.$ShowFrame(a);g&&g.$ShowFrame(a)}};a.$Transition=r}f.$GetTransition=function(){var a=0,c=t.$Transitions,d=c.length;if(w)a=x++%d;else a=b.floor(b.random()*d);c[a]&&(c[a].$Index=a);return c[a]};f.$Initialize=function(w,x,j,l,a){r=a;a=k(a,h);var i=l.$Item,d=j.$Item;i["no-image"]=!l.$Image;d["no-image"]=!j.$Image;var m=i,o=d,v=a,c=a.$Brother||k({},h);if(!a.$SlideOut){m=d;o=i}var t=c.$Shift||0;g=new p(n,o,c,b.max(t-c.$Interval,0),s,q);e=new p(n,m,v,b.max(c.$Interval-t,0),s,q);g.$ShowFrame(0);e.$ShowFrame(0);u=b.max(g.$EndTime,e.$EndTime);f.$Index=w};f.$Clear=function(){n.$Clear();g=j;e=j};f.$GetProcessor=function(){var a=j;if(e)a=new v;return a};if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera()||y&&a.$WebKitVersion()<537)h=16;m.call(f);l.call(f,-1e7,1e7)};var h=g.$JssorSlider$=function(q,fc){var o=this;function Ec(){var a=this;l.call(a,-1e8,2e8);a.$GetCurrentSlideInfo=function(){var c=a.$GetPosition_Display(),d=b.floor(c),f=t(d),e=c-b.floor(c);return{$Index:f,$VirtualIndex:d,$Position:e}};a.$OnPositionChange=function(d,a){var e=b.floor(a);if(e!=a&&a>d)e++;Ub(e,c);o.$TriggerEvent(h.$EVT_POSITION_CHANGE,t(a),t(d),a,d)}}function Dc(){var b=this;l.call(b,0,0,{$LoopLength:r});a.$Each(C,function(a){D&1&&a.$SetLoopLength(r);b.$Chain(a);a.$Shift(fb/bc)})}function Cc(){var a=this,b=Tb.$Elmt;l.call(a,-1,2,{$Easing:d.$EaseLinear,$Setter:{$Position:Zb},$LoopLength:r},b,{$Position:1},{$Position:-2});a.$Wrapper=b}function qc(n,m){var a=this,d,e,g,k,b;l.call(a,-1e8,2e8,{$IntervalMax:100});a.$OnStart=function(){O=c;R=j;o.$TriggerEvent(h.$EVT_SWIPE_START,t(w.$GetPosition()),w.$GetPosition())};a.$OnStop=function(){O=i;k=i;var a=w.$GetCurrentSlideInfo();o.$TriggerEvent(h.$EVT_SWIPE_END,t(w.$GetPosition()),w.$GetPosition());!a.$Position&&Gc(a.$VirtualIndex,s)};a.$OnPositionChange=function(i,h){var a;if(k)a=b;else{a=e;if(g){var c=h/g;a=f.$SlideEasing(c)*(e-d)+d}}w.$GoToPosition(a)};a.$PlayCarousel=function(b,f,c,h){d=b;e=f;g=c;w.$GoToPosition(b);a.$GoToPosition(0);a.$PlayToPosition(c,h)};a.$StandBy=function(d){k=c;b=d;a.$Play(d,j,c)};a.$SetStandByPosition=function(a){b=a};a.$MoveCarouselTo=function(a){w.$GoToPosition(a)};w=new Ec;w.$Combine(n);w.$Combine(m)}function rc(){var c=this,b=Xb();a.$CssZIndex(b,0);a.$Css(b,"pointerEvents","none");c.$Elmt=b;c.$AddClipElement=function(c){a.$AppendChild(b,c);a.$ShowElement(b)};c.$Clear=function(){a.$HideElement(b);a.$Empty(b)}}function Bc(k,e){var d=this,q,H,x,n,y=[],w,B,W,G,Q,F,g,v,p,eb;l.call(d,-u,u+1,{$SlideItemAnimator:c});function E(b){q&&q.$Revert();T(k,b,0);F=c;q=new I.$Class(k,I,a.$ParseFloat(a.$AttributeEx(k,"idle"))||pc);q.$GoToPosition(0)}function Y(){q.$Version<I.$Version&&E()}function N(p,r,m){if(!G){G=c;if(n&&m){var g=m.width,b=m.height,l=g,k=b;if(g&&b&&f.$FillMode){if(f.$FillMode&3&&(!(f.$FillMode&4)||g>K||b>J)){var j=i,q=K/J*b/g;if(f.$FillMode&1)j=q>1;else if(f.$FillMode&2)j=q<1;l=j?g*J/b:K;k=j?J:b*K/g}a.$CssWidth(n,l);a.$CssHeight(n,k);a.$CssTop(n,(J-k)/2);a.$CssLeft(n,(K-l)/2)}a.$CssPosition(n,"absolute");o.$TriggerEvent(h.$EVT_LOAD_END,e)}}a.$HideElement(r);p&&p(d)}function X(b,c,f,g){if(g==R&&s==e&&P)if(!Fc){var a=t(b);A.$Initialize(a,e,c,d,f);c.$HideContentForSlideshow();U.$Shift(a-U.$GetPosition_OuterBegin()-1);U.$GoToPosition(a);z.$PlayCarousel(b,b,0)}}function ab(b){if(b==R&&s==e){if(!g){var a=j;if(A)if(A.$Index==e)a=A.$GetProcessor();else A.$Clear();Y();g=new yc(k,e,a,q);g.$SetPlayer(p)}!g.$IsPlaying()&&g.$Replay()}}function S(c,h,l){if(c==e){if(c!=h)C[h]&&C[h].$ParkOut();else!l&&g&&g.$AdjustIdleOnPark();p&&p.$Enable();var m=R=a.$GetNow();d.$LoadImage(a.$CreateCallback(j,ab,m))}else{var k=b.min(e,c),i=b.max(e,c),o=b.min(i-k,k+r-i),n=u+f.$LazyLoading-1;(!Q||o<=n)&&d.$LoadImage()}}function bb(){if(s==e&&g){g.$Stop();p&&p.$Quit();p&&p.$Disable();g.$OpenSlideshowPanel()}}function db(){s==e&&g&&g.$Stop()}function Z(a){!M&&o.$TriggerEvent(h.$EVT_CLICK,e,a)}function O(){p=v.pInstance;g&&g.$SetPlayer(p)}d.$LoadImage=function(d,b){b=b||x;if(y.length&&!G){a.$ShowElement(b);if(!W){W=c;o.$TriggerEvent(h.$EVT_LOAD_START,e);a.$Each(y,function(b){if(!a.$Attribute(b,"src")){b.src=a.$AttributeEx(b,"src2");a.$CssDisplay(b,b["display-origin"])}})}a.$LoadImages(y,n,a.$CreateCallback(j,N,d,b))}else N(d,b)};d.$GoForNextSlide=function(){var h=e;if(f.$AutoPlaySteps<0)h-=r;var c=h+f.$AutoPlaySteps*wc;if(D&2)c=t(c);if(!(D&1))c=b.max(0,b.min(c,r-u));if(c!=e){if(A){var d=A.$GetTransition(r);if(d){var i=R=a.$GetNow(),g=C[t(c)];return g.$LoadImage(a.$CreateCallback(j,X,c,g,d,i),x)}}nb(c)}};d.$TryActivate=function(){S(e,e,c)};d.$ParkOut=function(){p&&p.$Quit();p&&p.$Disable();d.$UnhideContentForSlideshow();g&&g.$Abort();g=j;E()};d.$StampSlideItemElements=function(a){a=eb+"_"+a};d.$HideContentForSlideshow=function(){a.$HideElement(k)};d.$UnhideContentForSlideshow=function(){a.$ShowElement(k)};d.$EnablePlayer=function(){p&&p.$Enable()};function T(b,d,e){if(a.$Attribute(b,"jssor-slider"))return;if(!F){if(b.tagName=="IMG"){y.push(b);if(!a.$Attribute(b,"src")){Q=c;b["display-origin"]=a.$CssDisplay(b);a.$HideElement(b)}}a.$IsBrowserIe9Earlier()&&a.$CssZIndex(b,(a.$CssZIndex(b)||0)+1)}var f=a.$Children(b);a.$Each(f,function(f){var h=f.tagName,j=a.$AttributeEx(f,"u");if(j=="player"&&!v){v=f;if(v.pInstance)O();else a.$AddEvent(v,"dataavailable",O)}if(j=="caption"){if(d){a.$CssTransformOrigin(f,a.$AttributeEx(f,"to"));a.$CssBackfaceVisibility(f,a.$AttributeEx(f,"bf"));a.$CssTransformStyle(f,"preserve-3d")}else if(!a.$IsBrowserIE()){var g=a.$CloneNode(f,i,c);a.$InsertBefore(g,f,b);a.$RemoveElement(f,b);f=g;d=c}}else if(!F&&!e&&!n){if(h=="A"){if(a.$AttributeEx(f,"u")=="image")n=a.$FindChildByTag(f,"IMG");else n=a.$FindChild(f,"image",c);if(n){w=f;a.$CssDisplay(w,"block");a.$SetStyles(w,V);B=a.$CloneNode(w,c);a.$CssPosition(w,"relative");a.$CssOpacity(B,0);a.$Css(B,"backgroundColor","#000")}}else if(h=="IMG"&&a.$AttributeEx(f,"u")=="image")n=f;if(n){n.border=0;a.$SetStyles(n,V)}}T(f,d,e+1)})}d.$OnInnerOffsetChange=function(c,b){var a=u-b;Zb(H,a)};d.$Index=e;m.call(d);a.$CssPerspective(k,a.$AttributeEx(k,"p"));a.$CssPerspectiveOrigin(k,a.$AttributeEx(k,"po"));var L=a.$FindChild(k,"thumb",c);if(L){d.$Thumb=a.$CloneNode(L);a.$HideElement(L)}a.$ShowElement(k);x=a.$CloneNode(cb);a.$CssZIndex(x,1e3);a.$AddEvent(k,"click",Z);E(c);d.$Image=n;d.$Link=B;d.$Item=k;d.$Wrapper=H=k;a.$AppendChild(H,x);o.$On(203,S);o.$On(28,db);o.$On(24,bb)}function yc(y,f,p,q){var b=this,m=0,u=0,g,j,e,d,k,t,r,n=C[f];l.call(b,0,0);function v(){a.$Empty(N);dc&&k&&n.$Link&&a.$AppendChild(N,n.$Link);a.$ShowElement(N,!k&&n.$Image)}function w(){b.$Replay()}function x(a){r=a;b.$Stop();b.$Replay()}b.$Replay=function(){var a=b.$GetPosition_Display();if(!B&&!O&&!r&&s==f){if(!a){if(g&&!k){k=c;b.$OpenSlideshowPanel(c);o.$TriggerEvent(h.$EVT_SLIDESHOW_START,f,m,u,g,d)}v()}var i,p=h.$EVT_STATE_CHANGE;if(a!=d)if(a==e)i=d;else if(a==j)i=e;else if(!a)i=j;else i=b.$GetPlayToPosition();o.$TriggerEvent(p,f,a,m,j,e,d);var l=P&&(!E||F);if(a==d)(e!=d&&!(E&12)||l)&&n.$GoForNextSlide();else(l||a!=e)&&b.$PlayToPosition(i,w)}};b.$AdjustIdleOnPark=function(){e==d&&e==b.$GetPosition_Display()&&b.$GoToPosition(j)};b.$Abort=function(){A&&A.$Index==f&&A.$Clear();var a=b.$GetPosition_Display();a<d&&o.$TriggerEvent(h.$EVT_STATE_CHANGE,f,-a-1,m,j,e,d)};b.$OpenSlideshowPanel=function(b){p&&a.$CssOverflow(hb,b&&p.$Transition.$Outside?"":"hidden")};b.$OnInnerOffsetChange=function(b,a){if(k&&a>=g){k=i;v();n.$UnhideContentForSlideshow();A.$Clear();o.$TriggerEvent(h.$EVT_SLIDESHOW_END,f,m,u,g,d)}o.$TriggerEvent(h.$EVT_PROGRESS_CHANGE,f,a,m,j,e,d)};b.$SetPlayer=function(a){if(a&&!t){t=a;a.$On($JssorPlayer$.$EVT_SWITCH,x)}};p&&b.$Chain(p);g=b.$GetPosition_OuterEnd();b.$Chain(q);j=g+q.$IdleBegin;e=g+q.$IdleEnd;d=b.$GetPosition_OuterEnd()}function Zb(g,f){var e=x>0?x:gb,c=Bb*f*(e&1),d=Cb*f*(e>>1&1);c=b.round(c);d=b.round(d);a.$CssLeft(g,c);a.$CssTop(g,d)}function Pb(){pb=O;Kb=z.$GetPlayToPosition();G=w.$GetPosition()}function gc(){Pb();if(B||!F&&E&12){z.$Stop();o.$TriggerEvent(h.$EVT_FREEZE)}}function ec(e){if(!B&&(F||!(E&12))&&!z.$IsPlaying()){var c=w.$GetPosition(),a=b.ceil(G);if(e&&b.abs(H)>=f.$MinDragOffsetToSlide){a=b.ceil(c);a+=eb}if(!(D&1))a=b.min(r-u,b.max(a,0));var d=b.abs(a-c);d=1-b.pow(1-d,5);if(!M&&pb)z.$Continue(Kb);else if(c==a){tb.$EnablePlayer();tb.$TryActivate()}else z.$PlayCarousel(c,a,d*Vb)}}function Ib(b){!a.$AttributeEx(a.$EvtSrc(b),"nodrag")&&a.$CancelEvent(b)}function uc(a){Yb(a,1)}function Yb(b,d){b=a.$GetEvent(b);var k=a.$EvtSrc(b);if(!L&&!a.$AttributeEx(k,"nodrag")&&vc()&&(!d||b.touches.length==1)){B=c;Ab=i;R=j;a.$AddEvent(e,d?"touchmove":"mousemove",Db);a.$GetNow();M=0;gc();if(!pb)x=0;if(d){var g=b.touches[0];vb=g.clientX;wb=g.clientY}else{var f=a.$MousePosition(b);vb=f.x;wb=f.y}H=0;bb=0;eb=0;o.$TriggerEvent(h.$EVT_DRAG_START,t(G),G,b)}}function Db(e){if(B){e=a.$GetEvent(e);var f;if(e.type!="mousemove"){var l=e.touches[0];f={x:l.clientX,y:l.clientY}}else f=a.$MousePosition(e);if(f){var j=f.x-vb,k=f.y-wb;if(b.floor(G)!=G)x=x||gb&L;if((j||k)&&!x){if(L==3)if(b.abs(k)>b.abs(j))x=2;else x=1;else x=L;if(jb&&x==1&&b.abs(k)-b.abs(j)>3)Ab=c}if(x){var d=k,i=Cb;if(x==1){d=j;i=Bb}if(!(D&1)){if(d>0){var g=i*s,h=d-g;if(h>0)d=g+b.sqrt(h)*5}if(d<0){var g=i*(r-u-s),h=-d-g;if(h>0)d=-g-b.sqrt(h)*5}}if(H-bb<-2)eb=0;else if(H-bb>2)eb=-1;bb=H;H=d;sb=G-H/i/(Z||1);if(H&&x&&!Ab){a.$CancelEvent(e);if(!O)z.$StandBy(sb);else z.$SetStandByPosition(sb)}}}}}function mb(){sc();if(B){B=i;a.$GetNow();a.$RemoveEvent(e,"mousemove",Db);a.$RemoveEvent(e,"touchmove",Db);M=H;z.$Stop();var b=w.$GetPosition();o.$TriggerEvent(h.$EVT_DRAG_END,t(b),b,t(G),G);E&12&&Pb();ec(c)}}function kc(c){if(M){a.$StopEvent(c);var b=a.$EvtSrc(c);while(b&&v!==b){b.tagName=="A"&&a.$CancelEvent(c);try{b=b.parentNode}catch(d){break}}}}function oc(a){C[s];s=t(a);tb=C[s];Ub(a);return s}function Gc(a,b){x=0;oc(a);o.$TriggerEvent(h.$EVT_PARK,t(a),b)}function Ub(b,c){yb=b;a.$Each(S,function(a){a.$SetCurrentIndex(t(b),b,c)})}function vc(){var b=h.$DragRegistry||0,a=Y;if(jb)a&1&&(a&=1);h.$DragRegistry|=a;return L=a&~b}function sc(){if(L){h.$DragRegistry&=~Y;L=0}}function Xb(){var b=a.$CreateDiv();a.$SetStyles(b,V);a.$CssPosition(b,"absolute");return b}function t(a){return(a%r+r)%r}function lc(a,c){if(c)if(!D){a=b.min(b.max(a+yb,0),r-u);c=i}else if(D&2){a=t(a+yb);c=i}nb(a,f.$SlideDuration,c)}function zb(){a.$Each(S,function(a){a.$Show(a.$Options.$ChanceToShow<=F)})}function ic(){if(!F){F=1;zb();if(!B){E&12&&ec();E&3&&C[s].$TryActivate()}}}function hc(){if(F){F=0;zb();B||!(E&12)||gc()}}function jc(){V={$Width:K,$Height:J,$Top:0,$Left:0};a.$Each(T,function(b){a.$SetStyles(b,V);a.$CssPosition(b,"absolute");a.$CssOverflow(b,"hidden");a.$HideElement(b)});a.$SetStyles(cb,V)}function lb(b,a){nb(b,a,c)}function nb(g,e,l){if(Rb&&(!B&&(F||!(E&12))||f.$NaviQuitDrag)){O=c;B=i;z.$Stop();if(e==k)e=Vb;var d=Eb.$GetPosition_Display(),a=g;if(l){a=d+g;if(g>0)a=b.ceil(a);else a=b.floor(a)}if(D&2)a=t(a);if(!(D&1))a=b.max(0,b.min(a,r-u));var j=(a-d)%r;a=d+j;var h=d==a?0:e*b.abs(j);h=b.min(h,e*u*1.5);z.$PlayCarousel(d,a,h||1)}}o.$PlayTo=nb;o.$GoTo=function(a){w.$GoToPosition(a)};o.$Next=function(){lb(1)};o.$Prev=function(){lb(-1)};o.$Pause=function(){P=i};o.$Play=function(){if(!P){P=c;C[s]&&C[s].$TryActivate()}};o.$SetSlideshowTransitions=function(a){f.$SlideshowOptions.$Transitions=a};o.$SetCaptionTransitions=function(b){I.$Transitions=b;I.$Version=a.$GetNow()};o.$SlidesCount=function(){return T.length};o.$CurrentIndex=function(){return s};o.$IsAutoPlaying=function(){return P};o.$IsDragging=function(){return B};o.$IsSliding=function(){return O};o.$IsMouseOver=function(){return!F};o.$LastDragSucceded=function(){return M};function X(){return a.$CssWidth(y||q)}function ib(){return a.$CssHeight(y||q)}o.$OriginalWidth=o.$GetOriginalWidth=X;o.$OriginalHeight=o.$GetOriginalHeight=ib;function Gb(c,d){if(c==k)return a.$CssWidth(q);if(!y){var b=a.$CreateDiv(e);a.$ClassName(b,a.$ClassName(q));a.$CssCssText(b,a.$CssCssText(q));a.$CssDisplay(b,"block");a.$CssPosition(b,"relative");a.$CssTop(b,0);a.$CssLeft(b,0);a.$CssOverflow(b,"visible");y=a.$CreateDiv(e);a.$CssPosition(y,"absolute");a.$CssTop(y,0);a.$CssLeft(y,0);a.$CssWidth(y,a.$CssWidth(q));a.$CssHeight(y,a.$CssHeight(q));a.$CssTransformOrigin(y,"0 0");a.$AppendChild(y,b);var h=a.$Children(q);a.$AppendChild(q,y);a.$Css(q,"backgroundImage","");a.$Each(h,function(c){a.$AppendChild(a.$AttributeEx(c,"noscale")?q:b,c);a.$AttributeEx(c,"autocenter")&&Lb.push(c)})}Z=c/(d?a.$CssHeight:a.$CssWidth)(y);a.$CssScale(y,Z);var g=d?Z*X():c,f=d?c:Z*ib();a.$CssWidth(q,g);a.$CssHeight(q,f);a.$Each(Lb,function(b){var c=a.$ParseInt(a.$AttributeEx(b,"autocenter"));a.$CenterElement(b,c)})}o.$ScaleHeight=o.$GetScaleHeight=function(b){if(b==k)return a.$CssHeight(q);Gb(b,c)};o.$ScaleWidth=o.$SetScaleWidth=o.$GetScaleWidth=Gb;o.$GetVirtualIndex=function(a){var d=b.ceil(t(fb/bc)),c=t(a-s+d);if(c>u){if(a-s>r/2)a-=r;else if(a-s<=-r/2)a+=r}else a=s+c-d;return a};m.call(o);o.$Elmt=q=a.$GetElement(q);var f=a.$Extend({$FillMode:0,$LazyLoading:1,$ArrowKeyNavigation:1,$StartIndex:0,$AutoPlay:i,$Loop:1,$NaviQuitDrag:c,$AutoPlaySteps:1,$AutoPlayInterval:3e3,$PauseOnHover:1,$SlideDuration:500,$SlideEasing:d.$EaseOutQuad,$MinDragOffsetToSlide:20,$SlideSpacing:0,$Cols:1,$Align:0,$UISearchMode:1,$PlayOrientation:1,$DragOrientation:1},fc);if(f.$Idle!=k)f.$AutoPlayInterval=f.$Idle;if(f.$DisplayPieces!=k)f.$Cols=f.$DisplayPieces;if(f.$ParkingPosition!=k)f.$Align=f.$ParkingPosition;var gb=f.$PlayOrientation&3,wc=(f.$PlayOrientation&4)/-4||1,db=f.$SlideshowOptions,I=a.$Extend({$Class:p,$PlayInMode:1,$PlayOutMode:1},f.$CaptionSliderOptions);I.$Transitions=I.$Transitions||I.$CaptionTransitions;var qb=f.$BulletNavigatorOptions,W=f.$ArrowNavigatorOptions,ab=f.$ThumbnailNavigatorOptions,Q=!f.$UISearchMode,y,v=a.$FindChild(q,"slides",Q),cb=a.$FindChild(q,"loading",Q)||a.$CreateDiv(e),Jb=a.$FindChild(q,"navigator",Q),cc=a.$FindChild(q,"arrowleft",Q),ac=a.$FindChild(q,"arrowright",Q),Hb=a.$FindChild(q,"thumbnavigator",Q),nc=a.$CssWidth(v),mc=a.$CssHeight(v),V,T=[],xc=a.$Children(v);a.$Each(xc,function(b){if(b.tagName=="DIV"&&!a.$AttributeEx(b,"u"))T.push(b);else a.$IsBrowserIe9Earlier()&&a.$CssZIndex(b,(a.$CssZIndex(b)||0)+1)});var s=-1,yb,tb,r=T.length,K=f.$SlideWidth||nc,J=f.$SlideHeight||mc,Wb=f.$SlideSpacing,Bb=K+Wb,Cb=J+Wb,bc=gb&1?Bb:Cb,u=b.min(f.$Cols,r),hb,x,L,Ab,S=[],Qb,Sb,Ob,dc,Fc,P,E=f.$PauseOnHover,pc=f.$AutoPlayInterval,Vb=f.$SlideDuration,rb,ub,fb,Rb=u<r,D=Rb?f.$Loop:0,Y,M,F=1,O,B,R,vb=0,wb=0,H,bb,eb,Eb,w,U,z,Tb=new rc,Z,Lb=[];P=f.$AutoPlay;o.$Options=fc;jc();a.$Attribute(q,"jssor-slider",c);a.$CssZIndex(v,a.$CssZIndex(v)||0);a.$CssPosition(v,"absolute");hb=a.$CloneNode(v,c);a.$InsertBefore(hb,v);if(db){dc=db.$ShowLink;rb=db.$Class;ub=u==1&&r>1&&rb&&(!a.$IsBrowserIE()||a.$BrowserVersion()>=8)}fb=ub||u>=r||!(D&1)?0:f.$Align;Y=(u>1||fb?gb:-1)&f.$DragOrientation;var xb=v,C=[],A,N,Fb=a.$Device(),jb=Fb.$Touchable,G,pb,Kb,sb;Fb.$TouchActionAttr&&a.$Css(xb,Fb.$TouchActionAttr,([j,"pan-y","pan-x","none"])[Y]||"");U=new Cc;if(ub)A=new rb(Tb,K,J,db,jb);a.$AppendChild(hb,U.$Wrapper);a.$CssOverflow(v,"hidden");N=Xb();a.$Css(N,"backgroundColor","#000");a.$CssOpacity(N,0);a.$InsertBefore(N,xb.firstChild,xb);for(var ob=0;ob<T.length;ob++){var zc=T[ob],Ac=new Bc(zc,ob);C.push(Ac)}a.$HideElement(cb);Eb=new Dc;z=new qc(Eb,U);if(Y){a.$AddEvent(v,"mousedown",Yb);a.$AddEvent(v,"touchstart",uc);a.$AddEvent(v,"dragstart",Ib);a.$AddEvent(v,"selectstart",Ib);a.$AddEvent(e,"mouseup",mb);a.$AddEvent(e,"touchend",mb);a.$AddEvent(e,"touchcancel",mb);a.$AddEvent(g,"blur",mb)}E&=jb?10:5;if(Jb&&qb){Qb=new qb.$Class(Jb,qb,X(),ib());S.push(Qb)}if(W&&cc&&ac){W.$Loop=D;W.$Cols=u;Sb=new W.$Class(cc,ac,W,X(),ib());S.push(Sb)}if(Hb&&ab){ab.$StartIndex=f.$StartIndex;Ob=new ab.$Class(Hb,ab);S.push(Ob)}a.$Each(S,function(a){a.$Reset(r,C,cb);a.$On(n.$NAVIGATIONREQUEST,lc)});a.$Css(q,"visibility","visible");Gb(X());a.$AddEvent(v,"click",kc);a.$AddEvent(q,"mouseout",a.$MouseOverOutFilter(ic,q));a.$AddEvent(q,"mouseover",a.$MouseOverOutFilter(hc,q));zb();f.$ArrowKeyNavigation&&a.$AddEvent(e,"keydown",function(a){if(a.keyCode==37)lb(-f.$ArrowKeyNavigation);else a.keyCode==39&&lb(f.$ArrowKeyNavigation)});var kb=f.$StartIndex;if(!(D&1))kb=b.max(0,b.min(kb,r-u));z.$PlayCarousel(kb,kb,0)};h.$EVT_CLICK=21;h.$EVT_DRAG_START=22;h.$EVT_DRAG_END=23;h.$EVT_SWIPE_START=24;h.$EVT_SWIPE_END=25;h.$EVT_LOAD_START=26;h.$EVT_LOAD_END=27;h.$EVT_FREEZE=28;h.$EVT_POSITION_CHANGE=202;h.$EVT_PARK=203;h.$EVT_SLIDESHOW_START=206;h.$EVT_SLIDESHOW_END=207;h.$EVT_PROGRESS_CHANGE=208;h.$EVT_STATE_CHANGE=209;var n={$NAVIGATIONREQUEST:1,$INDEXCHANGE:2,$RESET:3};g.$JssorBulletNavigator$=function(e,C){var f=this;m.call(f);e=a.$GetElement(e);var s,A,z,r,l=0,d,o,k,w,x,h,g,q,p,B=[],y=[];function v(a){a!=-1&&y[a].$Selected(a==l)}function t(a){f.$TriggerEvent(n.$NAVIGATIONREQUEST,a*o)}f.$Elmt=e;f.$GetCurrentIndex=function(){return r};f.$SetCurrentIndex=function(a){if(a!=r){var d=l,c=b.floor(a/o);l=c;r=a;v(d);v(c)}};f.$Show=function(b){a.$ShowElement(e,b)};var u;f.$Reset=function(E){if(!u){s=b.ceil(E/o);l=0;var n=q+w,r=p+x,m=b.ceil(s/k)-1;A=q+n*(!h?m:k-1);z=p+r*(h?m:k-1);a.$CssWidth(e,A);a.$CssHeight(e,z);for(var f=0;f<s;f++){var C=a.$CreateSpan();a.$InnerText(C,f+1);var i=a.$BuildElement(g,"numbertemplate",C,c);a.$CssPosition(i,"absolute");var v=f%(m+1);a.$CssLeft(i,!h?n*v:f%k*n);a.$CssTop(i,h?r*v:b.floor(f/(m+1))*r);a.$AppendChild(e,i);B[f]=i;d.$ActionMode&1&&a.$AddEvent(i,"click",a.$CreateCallback(j,t,f));d.$ActionMode&2&&a.$AddEvent(i,"mouseover",a.$MouseOverOutFilter(a.$CreateCallback(j,t,f),i));y[f]=a.$Buttonize(i)}u=c}};f.$Options=d=a.$Extend({$SpacingX:10,$SpacingY:10,$Orientation:1,$ActionMode:1},C);g=a.$FindChild(e,"prototype");q=a.$CssWidth(g);p=a.$CssHeight(g);a.$RemoveElement(g,e);o=d.$Steps||1;k=d.$Lanes||1;w=d.$SpacingX;x=d.$SpacingY;h=d.$Orientation-1;d.$Scale==i&&a.$Attribute(e,"noscale",c);d.$AutoCenter&&a.$Attribute(e,"autocenter",d.$AutoCenter)};g.$JssorArrowNavigator$=function(b,g,h){var d=this;m.call(d);var r,q,e,f,k;a.$CssWidth(b);a.$CssHeight(b);function l(a){d.$TriggerEvent(n.$NAVIGATIONREQUEST,a,c)}function p(c){a.$ShowElement(b,c||!h.$Loop&&e==0);a.$ShowElement(g,c||!h.$Loop&&e>=q-h.$Cols);r=c}d.$GetCurrentIndex=function(){return e};d.$SetCurrentIndex=function(b,a,c){if(c)e=a;else{e=b;p(r)}};d.$Show=p;var o;d.$Reset=function(d){q=d;e=0;if(!o){a.$AddEvent(b,"click",a.$CreateCallback(j,l,-k));a.$AddEvent(g,"click",a.$CreateCallback(j,l,k));a.$Buttonize(b);a.$Buttonize(g);o=c}};d.$Options=f=a.$Extend({$Steps:1},h);k=f.$Steps;if(f.$Scale==i){a.$Attribute(b,"noscale",c);a.$Attribute(g,"noscale",c)}if(f.$AutoCenter){a.$Attribute(b,"autocenter",f.$AutoCenter);a.$Attribute(g,"autocenter",f.$AutoCenter)}};g.$JssorThumbnailNavigator$=function(g,C){var l=this,z,q,d,w=[],A,y,e,r,s,v,u,p,t,f,o;m.call(l);g=a.$GetElement(g);function B(m,f){var g=this,b,k,i;function p(){k.$Selected(q==f)}function h(d){if(d||!t.$LastDragSucceded()){var a=e-f%e,b=t.$GetVirtualIndex((f+a)/e-1),c=b*e+e-a;l.$TriggerEvent(n.$NAVIGATIONREQUEST,c)}}g.$Index=f;g.$Highlight=p;i=m.$Thumb||m.$Image||a.$CreateDiv();g.$Wrapper=b=a.$BuildElement(o,"thumbnailtemplate",i,c);k=a.$Buttonize(b);d.$ActionMode&1&&a.$AddEvent(b,"click",a.$CreateCallback(j,h,0));d.$ActionMode&2&&a.$AddEvent(b,"mouseover",a.$MouseOverOutFilter(a.$CreateCallback(j,h,1),b))}l.$GetCurrentIndex=function(){return q};l.$SetCurrentIndex=function(c,d,f){var a=q;q=c;a!=-1&&w[a].$Highlight();w[c].$Highlight();!f&&t.$PlayTo(t.$GetVirtualIndex(b.floor(d/e)))};l.$Show=function(b){a.$ShowElement(g,b)};var x;l.$Reset=function(F,C){if(!x){z=F;b.ceil(z/e);q=-1;p=b.min(p,C.length);var j=d.$Orientation&1,m=v+(v+r)*(e-1)*(1-j),l=u+(u+s)*(e-1)*j,o=m+(m+r)*(p-1)*j,n=l+(l+s)*(p-1)*(1-j);a.$CssPosition(f,"absolute");a.$CssOverflow(f,"hidden");d.$AutoCenter&1&&a.$CssLeft(f,(A-o)/2);d.$AutoCenter&2&&a.$CssTop(f,(y-n)/2);a.$CssWidth(f,o);a.$CssHeight(f,n);var k=[];a.$Each(C,function(l,g){var h=new B(l,g),d=h.$Wrapper,c=b.floor(g/e),i=g%e;a.$CssLeft(d,(v+r)*i*(1-j));a.$CssTop(d,(u+s)*i*j);if(!k[c]){k[c]=a.$CreateDiv();a.$AppendChild(f,k[c])}a.$AppendChild(k[c],d);w.push(h)});var E=a.$Extend({$AutoPlay:i,$NaviQuitDrag:i,$SlideWidth:m,$SlideHeight:l,$SlideSpacing:r*j+s*(1-j),$MinDragOffsetToSlide:12,$SlideDuration:200,$PauseOnHover:1,$PlayOrientation:d.$Orientation,$DragOrientation:d.$NoDrag||d.$DisableDrag?0:d.$Orientation},d);t=new h(g,E);x=c}};l.$Options=d=a.$Extend({$SpacingX:0,$SpacingY:0,$Cols:1,$Orientation:1,$AutoCenter:3,$ActionMode:1},C);if(d.$DisplayPieces!=k)d.$Cols=d.$DisplayPieces;if(d.$Rows!=k)d.$Lanes=d.$Rows;A=a.$CssWidth(g);y=a.$CssHeight(g);f=a.$FindChild(g,"slides",c);o=a.$FindChild(f,"prototype");v=a.$CssWidth(o);u=a.$CssHeight(o);a.$RemoveElement(o,f);e=d.$Lanes||1;r=d.$SpacingX;s=d.$SpacingY;p=d.$Cols;d.$Scale==i&&a.$Attribute(g,"noscale",c)};function p(e,d,c){var b=this;l.call(b,0,c);b.$Revert=a.$EmptyFunction;b.$IdleBegin=0;b.$IdleEnd=c}g.$JssorCaptionSlider$=function(h,f,i){var c=this;l.call(c,0,0);var e,d;function g(p,h,f){var c=this,g,n=f?h.$PlayInMode:h.$PlayOutMode,e=h.$Transitions,o={$Transition:"t",$Delay:"d",$Duration:"du",x:"x",y:"y",$Rotate:"r",$Zoom:"z",$Opacity:"f",$BeginTime:"b"},d={$Default:function(b,a){if(!isNaN(a.$Value))b=a.$Value;else b*=a.$Percent;return b},$Opacity:function(b,a){return this.$Default(b-1,a)}};d.$Zoom=d.$Opacity;l.call(c,0,0);function j(r,m){var l=[],i,k=[],c=[];function h(c,d){var b={};a.$Each(o,function(g,h){var e=a.$AttributeEx(c,g+(d||""));if(e){var f={};if(g=="t")f.$Value=e;else if(e.indexOf("%")+1)f.$Percent=a.$ParseFloat(e)/100;else f.$Value=a.$ParseFloat(e);b[h]=f}});return b}function p(){return e[b.floor(b.random()*e.length)]}function g(f){var h;if(f=="*")h=p();else if(f){var d=e[a.$ParseInt(f)]||e[f];if(a.$IsArray(d)){if(f!=i){i=f;c[f]=0;k[f]=d[b.floor(b.random()*d.length)]}else c[f]++;d=k[f];if(a.$IsArray(d)){d=d.length&&d[c[f]%d.length];if(a.$IsArray(d))d=d[b.floor(b.random()*d.length)]}}h=d;if(a.$IsString(h))h=g(h)}return h}var q=a.$Children(r);a.$Each(q,function(b){var c=[];c.$Elmt=b;var e=a.$AttributeEx(b,"u")=="caption";a.$Each(f?[0,3]:[2],function(l,o){if(e){var k,f;if(l!=2||!a.$AttributeEx(b,"t3")){f=h(b,l);if(l==2&&!f.$Transition){f.$Delay=f.$Delay||{$Value:0};f=a.$Extend(h(b,0),f)}}if(f&&f.$Transition){k=g(f.$Transition.$Value);if(k){var i=a.$Extend({$Delay:0},k);a.$Each(f,function(c,a){var b=(d[a]||d.$Default).apply(d,[i[a],f[a]]);if(!isNaN(b))i[a]=b});if(!o)if(f.$BeginTime)i.$BeginTime=f.$BeginTime.$Value||0;else if(n&2)i.$BeginTime=0}}c.push(i)}if(m%2&&!o)c.$Children=j(b,m+1)});l.push(c)});return l}function m(w,c,z){var g={$Easing:c.$Easing,$Round:c.$Round,$During:c.$During,$Reverse:f&&!z},m=w,r=a.$ParentNode(w),k=a.$CssWidth(m),j=a.$CssHeight(m),y=a.$CssWidth(r),x=a.$CssHeight(r),h={},e={},i=c.$ScaleClip||1;if(c.$Opacity)e.$Opacity=1-c.$Opacity;g.$OriginalWidth=k;g.$OriginalHeight=j;if(c.$Zoom||c.$Rotate){e.$Zoom=(c.$Zoom||2)-2;if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera())e.$Zoom=b.min(e.$Zoom,1);h.$Zoom=1;var B=c.$Rotate||0;e.$Rotate=B*360;h.$Rotate=0}else if(c.$Clip){var s={$Top:0,$Right:k,$Bottom:j,$Left:0},v=a.$Extend({},s),d=v.$Offset={},u=c.$Clip&4,p=c.$Clip&8,t=c.$Clip&1,q=c.$Clip&2;if(u&&p){d.$Top=j/2*i;d.$Bottom=-d.$Top}else if(u)d.$Bottom=-j*i;else if(p)d.$Top=j*i;if(t&&q){d.$Left=k/2*i;d.$Right=-d.$Left}else if(t)d.$Right=-k*i;else if(q)d.$Left=k*i;g.$Move=c.$Move;e.$Clip=v;h.$Clip=s}var n=0,o=0;if(c.x)n-=y*c.x;if(c.y)o-=x*c.y;if(n||o||g.$Move){e.$Left=n;e.$Top=o}var A=c.$Duration;h=a.$Extend(h,a.$GetStyles(m,e));g.$Setter=a.$StyleSetterEx();return new l(c.$Delay,A,g,m,h,e)}function i(b,d){a.$Each(d,function(d){var a,h=d.$Elmt,e=d[0],j=d[1];if(e){a=m(h,e);e.$BeginTime==k&&a.$Shift(b);b=a.$GetPosition_OuterEnd()}b=i(b,d.$Children);if(j){var f=m(h,j,1);f.$Shift(b);c.$Combine(f);g.$Combine(f)}a&&c.$Combine(a)});return b}c.$Revert=function(){c.$GoToPosition(c.$GetPosition_OuterEnd()*(f||0));g.$GoToPosition(0)};g=new l(0,0);i(0,n?j(p,1):[])}c.$Revert=function(){d.$Revert();e.$Revert()};e=new g(h,f,1);c.$IdleBegin=e.$GetPosition_OuterEnd();c.$IdleEnd=c.$IdleBegin+i;d=new g(h,f);d.$Shift(c.$IdleEnd);c.$Combine(d);c.$Combine(e)};g.$JssorCaptionSlideo$=function(n,g,m){var b=this,o,h={},i=g.$Transitions,d=new l(0,0);l.call(b,0,0);function j(d,c){var b={};a.$Each(d,function(d,f){var e=h[f];if(e){if(a.$IsPlainObject(d))d=j(d,c||f=="e");else if(c)if(a.$IsNumeric(d))d=o[d];b[e]=d}});return b}function k(e,c){var b=[],d=a.$Children(e);a.$Each(d,function(d){var h=a.$AttributeEx(d,"u")=="caption";if(h){var e=a.$AttributeEx(d,"t"),g=i[a.$ParseInt(e)]||i[e],f={$Elmt:d,$Transition:g};b.push(f)}if(c<5)b=b.concat(k(d,c+1))});return b}function r(c,e,b){a.$Each(e,function(f){var e=j(f),g={$Easing:a.$FormatEasings(e.$Easing),$Setter:a.$StyleSetterEx(),$OriginalWidth:b.$Width,$OriginalHeight:b.$Height},h=new l(f.b,f.d,g,c,b,e);d.$Combine(h);b=a.$AddDif(b,e)});return b}function q(b){a.$Each(b,function(e){var b=e.$Elmt,d=a.$CssWidth(b),c=a.$CssHeight(b),f={$Left:a.$CssLeft(b),$Top:a.$CssTop(b),$Opacity:1,$ZIndex:a.$CssZIndex(b)||0,$Rotate:0,$RotateX:0,$RotateY:0,$ScaleX:1,$ScaleY:1,$TranslateX:0,$TranslateY:0,$TranslateZ:0,$SkewX:0,$SkewY:0,$Width:d,$Height:c,$Clip:{$Top:0,$Right:d,$Bottom:c,$Left:0}};r(b,e.$Transition,f)})}function t(g,f,h){var e=g.b-f;if(e){var a=new l(f,e);a.$Combine(d,c);a.$Shift(h);b.$Combine(a)}b.$Expand(g.d);return e}function s(f){var c=d.$GetPosition_OuterBegin(),e=0;a.$Each(f,function(d,f){d=a.$Extend({d:m},d);t(d,c,e);c=d.b;e+=d.d;if(!f||d.t==2){b.$IdleBegin=c;b.$IdleEnd=c+d.d}})}b.$Revert=function(){b.$GoToPosition(-1,c)};o=[f.$Swing,f.$Linear,f.$InQuad,f.$OutQuad,f.$InOutQuad,f.$InCubic,f.$OutCubic,f.$InOutCubic,f.$InQuart,f.$OutQuart,f.$InOutQuart,f.$InQuint,f.$OutQuint,f.$InOutQuint,f.$InSine,f.$OutSine,f.$InOutSine,f.$InExpo,f.$OutExpo,f.$InOutExpo,f.$InCirc,f.$OutCirc,f.$InOutCirc,f.$InElastic,f.$OutElastic,f.$InOutElastic,f.$InBack,f.$OutBack,f.$InOutBack,f.$InBounce,f.$OutBounce,f.$InOutBounce,f.$GoBack,f.$InWave,f.$OutWave,f.$OutJump,f.$InJump];var u={$Top:"y",$Left:"x",$Bottom:"m",$Right:"t",$Rotate:"r",$RotateX:"rX",$RotateY:"rY",$ScaleX:"sX",$ScaleY:"sY",$TranslateX:"tX",$TranslateY:"tY",$TranslateZ:"tZ",$SkewX:"kX",$SkewY:"kY",$Opacity:"o",$Easing:"e",$ZIndex:"i",$Clip:"c"};a.$Each(u,function(b,a){h[b]=a});q(k(n,1));d.$GoToPosition(-1);var p=g.$Breaks||[],e=[].concat(p[a.$ParseInt(a.$AttributeEx(n,"b"))]||[]);e.push({b:d.$GetPosition_OuterEnd(),d:e.length?0:m});s(e);b.$GoToPosition(-1)}})(window,document,Math,null,true,false)
\ No newline at end of file
(function() {
var MutationObserver, Util, WeakMap, getComputedStyle, getComputedStyleRX,
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
Util = (function() {
function Util() {}
Util.prototype.extend = function(custom, defaults) {
var key, value;
for (key in defaults) {
value = defaults[key];
if (custom[key] == null) {
custom[key] = value;
}
}
return custom;
};
Util.prototype.isMobile = function(agent) {
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(agent);
};
Util.prototype.addEvent = function(elem, event, fn) {
if (elem.addEventListener != null) {
return elem.addEventListener(event, fn, false);
} else if (elem.attachEvent != null) {
return elem.attachEvent("on" + event, fn);
} else {
return elem[event] = fn;
}
};
Util.prototype.removeEvent = function(elem, event, fn) {
if (elem.removeEventListener != null) {
return elem.removeEventListener(event, fn, false);
} else if (elem.detachEvent != null) {
return elem.detachEvent("on" + event, fn);
} else {
return delete elem[event];
}
};
Util.prototype.innerHeight = function() {
if ('innerHeight' in window) {
return window.innerHeight;
} else {
return document.documentElement.clientHeight;
}
};
return Util;
})();
WeakMap = this.WeakMap || this.MozWeakMap || (WeakMap = (function() {
function WeakMap() {
this.keys = [];
this.values = [];
}
WeakMap.prototype.get = function(key) {
var i, item, _i, _len, _ref;
_ref = this.keys;
for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
item = _ref[i];
if (item === key) {
return this.values[i];
}
}
};
WeakMap.prototype.set = function(key, value) {
var i, item, _i, _len, _ref;
_ref = this.keys;
for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
item = _ref[i];
if (item === key) {
this.values[i] = value;
return;
}
}
this.keys.push(key);
return this.values.push(value);
};
return WeakMap;
})());
MutationObserver = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (MutationObserver = (function() {
function MutationObserver() {
if (typeof console !== "undefined" && console !== null) {
console.warn('MutationObserver is not supported by your browser.');
}
if (typeof console !== "undefined" && console !== null) {
console.warn('WOW.js cannot detect dom mutations, please call .sync() after loading new content.');
}
}
MutationObserver.notSupported = true;
MutationObserver.prototype.observe = function() {};
return MutationObserver;
})());
getComputedStyle = this.getComputedStyle || function(el, pseudo) {
this.getPropertyValue = function(prop) {
var _ref;
if (prop === 'float') {
prop = 'styleFloat';
}
if (getComputedStyleRX.test(prop)) {
prop.replace(getComputedStyleRX, function(_, char) {
return char.toUpperCase();
});
}
return ((_ref = el.currentStyle) != null ? _ref[prop] : void 0) || null;
};
return this;
};
getComputedStyleRX = /(\-([a-z]){1})/g;
this.WOW = (function() {
WOW.prototype.defaults = {
boxClass: 'wow',
animateClass: 'animated',
offset: 0,
mobile: true,
live: true
};
function WOW(options) {
if (options == null) {
options = {};
}
this.scrollCallback = __bind(this.scrollCallback, this);
this.scrollHandler = __bind(this.scrollHandler, this);
this.start = __bind(this.start, this);
this.scrolled = true;
this.config = this.util().extend(options, this.defaults);
this.animationNameCache = new WeakMap();
}
WOW.prototype.init = function() {
var _ref;
this.element = window.document.documentElement;
if ((_ref = document.readyState) === "interactive" || _ref === "complete") {
this.start();
} else {
this.util().addEvent(document, 'DOMContentLoaded', this.start);
}
return this.finished = [];
};
WOW.prototype.start = function() {
var box, _i, _len, _ref;
this.stopped = false;
this.boxes = (function() {
var _i, _len, _ref, _results;
_ref = this.element.querySelectorAll("." + this.config.boxClass);
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
box = _ref[_i];
_results.push(box);
}
return _results;
}).call(this);
this.all = (function() {
var _i, _len, _ref, _results;
_ref = this.boxes;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
box = _ref[_i];
_results.push(box);
}
return _results;
}).call(this);
if (this.boxes.length) {
if (this.disabled()) {
this.resetStyle();
} else {
_ref = this.boxes;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
box = _ref[_i];
this.applyStyle(box, true);
}
this.util().addEvent(window, 'scroll', this.scrollHandler);
this.util().addEvent(window, 'resize', this.scrollHandler);
this.interval = setInterval(this.scrollCallback, 50);
}
}
if (this.config.live) {
return new MutationObserver((function(_this) {
return function(records) {
var node, record, _j, _len1, _results;
_results = [];
for (_j = 0, _len1 = records.length; _j < _len1; _j++) {
record = records[_j];
_results.push((function() {
var _k, _len2, _ref1, _results1;
_ref1 = record.addedNodes || [];
_results1 = [];
for (_k = 0, _len2 = _ref1.length; _k < _len2; _k++) {
node = _ref1[_k];
_results1.push(this.doSync(node));
}
return _results1;
}).call(_this));
}
return _results;
};
})(this)).observe(document.body, {
childList: true,
subtree: true
});
}
};
WOW.prototype.stop = function() {
this.stopped = true;
this.util().removeEvent(window, 'scroll', this.scrollHandler);
this.util().removeEvent(window, 'resize', this.scrollHandler);
if (this.interval != null) {
return clearInterval(this.interval);
}
};
WOW.prototype.sync = function(element) {
if (MutationObserver.notSupported) {
return this.doSync(this.element);
}
};
WOW.prototype.doSync = function(element) {
var box, _i, _len, _ref, _results;
if (!this.stopped) {
if (element == null) {
element = this.element;
}
if (element.nodeType !== 1) {
return;
}
element = element.parentNode || element;
_ref = element.querySelectorAll("." + this.config.boxClass);
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
box = _ref[_i];
if (__indexOf.call(this.all, box) < 0) {
this.applyStyle(box, true);
this.boxes.push(box);
this.all.push(box);
_results.push(this.scrolled = true);
} else {
_results.push(void 0);
}
}
return _results;
}
};
WOW.prototype.show = function(box) {
this.applyStyle(box);
return box.className = "" + box.className + " " + this.config.animateClass;
};
WOW.prototype.applyStyle = function(box, hidden) {
var delay, duration, iteration;
duration = box.getAttribute('data-wow-duration');
delay = box.getAttribute('data-wow-delay');
iteration = box.getAttribute('data-wow-iteration');
return this.animate((function(_this) {
return function() {
return _this.customStyle(box, hidden, duration, delay, iteration);
};
})(this));
};
WOW.prototype.animate = (function() {
if ('requestAnimationFrame' in window) {
return function(callback) {
return window.requestAnimationFrame(callback);
};
} else {
return function(callback) {
return callback();
};
}
})();
WOW.prototype.resetStyle = function() {
var box, _i, _len, _ref, _results;
_ref = this.boxes;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
box = _ref[_i];
_results.push(box.setAttribute('style', 'visibility: visible;'));
}
return _results;
};
WOW.prototype.customStyle = function(box, hidden, duration, delay, iteration) {
if (hidden) {
this.cacheAnimationName(box);
}
box.style.visibility = hidden ? 'hidden' : 'visible';
if (duration) {
this.vendorSet(box.style, {
animationDuration: duration
});
}
if (delay) {
this.vendorSet(box.style, {
animationDelay: delay
});
}
if (iteration) {
this.vendorSet(box.style, {
animationIterationCount: iteration
});
}
this.vendorSet(box.style, {
animationName: hidden ? 'none' : this.cachedAnimationName(box)
});
return box;
};
WOW.prototype.vendors = ["moz", "webkit"];
WOW.prototype.vendorSet = function(elem, properties) {
var name, value, vendor, _results;
_results = [];
for (name in properties) {
value = properties[name];
elem["" + name] = value;
_results.push((function() {
var _i, _len, _ref, _results1;
_ref = this.vendors;
_results1 = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
vendor = _ref[_i];
_results1.push(elem["" + vendor + (name.charAt(0).toUpperCase()) + (name.substr(1))] = value);
}
return _results1;
}).call(this));
}
return _results;
};
WOW.prototype.vendorCSS = function(elem, property) {
var result, style, vendor, _i, _len, _ref;
style = getComputedStyle(elem);
result = style.getPropertyCSSValue(property);
_ref = this.vendors;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
vendor = _ref[_i];
result = result || style.getPropertyCSSValue("-" + vendor + "-" + property);
}
return result;
};
WOW.prototype.animationName = function(box) {
var animationName;
try {
animationName = this.vendorCSS(box, 'animation-name').cssText;
} catch (_error) {
animationName = getComputedStyle(box).getPropertyValue('animation-name');
}
if (animationName === 'none') {
return '';
} else {
return animationName;
}
};
WOW.prototype.cacheAnimationName = function(box) {
return this.animationNameCache.set(box, this.animationName(box));
};
WOW.prototype.cachedAnimationName = function(box) {
return this.animationNameCache.get(box);
};
WOW.prototype.scrollHandler = function() {
return this.scrolled = true;
};
WOW.prototype.scrollCallback = function() {
var box;
if (this.scrolled) {
this.scrolled = false;
this.boxes = (function() {
var _i, _len, _ref, _results;
_ref = this.boxes;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
box = _ref[_i];
if (!(box)) {
continue;
}
if (this.isVisible(box)) {
this.show(box);
continue;
}
_results.push(box);
}
return _results;
}).call(this);
if (!(this.boxes.length || this.config.live)) {
return this.stop();
}
}
};
WOW.prototype.offsetTop = function(element) {
var top;
while (element.offsetTop === void 0) {
element = element.parentNode;
}
top = element.offsetTop;
while (element = element.offsetParent) {
top += element.offsetTop;
}
return top;
};
WOW.prototype.isVisible = function(box) {
var bottom, offset, top, viewBottom, viewTop;
offset = box.getAttribute('data-wow-offset') || this.config.offset;
viewTop = window.pageYOffset;
viewBottom = viewTop + Math.min(this.element.clientHeight, this.util().innerHeight()) - offset;
top = this.offsetTop(box);
bottom = top + box.clientHeight;
return top <= viewBottom && bottom >= viewTop;
};
WOW.prototype.util = function() {
return this._util != null ? this._util : this._util = new Util();
};
WOW.prototype.disabled = function() {
return !this.config.mobile && this.util().isMobile(navigator.userAgent);
};
return WOW;
})();
}).call(this);
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file per style scope.
*
*= require_self
*= require_directory ./admin
*/
input:focus,
textarea:focus{
outline: none;
}
.posts a:link, .posts a:visited{
color: #7594B3;
}
.posts a:hover{
color: #f78927;
}
.posts a{
text-decoration: none;
}
.postdetail{
padding: 20px 0;
margin-bottom: 50px;
border-bottom: 3px solid #ccc;
min-height:400px;
}
.postdetail li{
margin: 0.5em auto;
line-height: 26px;
}
.postdetail p{
line-height: 30px;
margin: 0.5em auto;
}
.postdetail img,
.mp4 video,
.mp4 object{
max-width: 100%;
height: auto;
}
.postdetail > table,
.posts > table{
width: 100%;
border-collapse: collapse;
empty-cells: show;
border: 1px solid #ddd;
}
.postdetail > table th,
.posts > table th{
font-size: 13px;
height: 30px;
line-height: 30px;
font-weight: bold;
text-align: center;
background: #EEEEEE;
position: relative;
}
.postdetail > table td,
.posts > table td{
text-align: center;
font-size: 12px;
color: #666;
line-height: 30px;
padding-left: 10px;
border: 1px solid #ddd;
}
.posts{
width: 96%;
max-width: 960px;
margin: 50px auto;
}
.posts > table th input{
position: absolute;
left: 2%;
top: 17%;
width: 100px;
}
.posts h3.title{
position: relative;
}
.posts h3.title small{
position: absolute;
right: 0;
bottom: 0;
font-weight: normal;
font-size: 14px;
}
.posts textarea{
resize:none;
}
.posts .field{
margin-bottom: 20px;
font-size: 14px;
}
.posts .field span{
margin-right: 10px;
}
.posts .field input{
width: 300px;
line-height: 21px;
padding: 2px 5px;
}
.posts .field select{
width: 100px;
}
.postdetail form .field{
margin: auto auto 20px auto;
}
.postdetail form .field label{
width: 70px;
display: inline-block;
vertical-align: middle;
overflow: hidden;
font-size: 14px;
padding: 0 20px 0 0;
}
.postdetail form .field input,
.postdetail form .field textarea{
width: 320px;
line-height: 20px;
border: 1px solid #2aad6f;
font-size: 12px;
padding: .5em .8em;
border-radius: 2px;
vertical-align: middle;
background: #ffffff;
}
.postdetail form .field input.captcha{
width: 160px;
}
.postdetail form .field input.submit{
width: 120px;
padding: 0 30px;
border: none;
color: #fff;
background-color: #2aad6f;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
line-height: 34px;
font-size: 14px;
cursor: pointer;
}
.postdetail form .field textarea{
height: 120px;
resize: none;
}
.pagination {
margin: 10px auto;
overflow: hidden;
padding: 10px 0;
}
.pagination li{
display: inline-block;
margin: auto 2px;
}
.pagination li.disabled a{
background-color: #cccccc;
}
.pagination li.active a{
border: 1px solid #398439;
color: #ffffff;
background-color: #00AA91;
}
.pagination a {
border: 1px solid #cccccc;
color: #666666;
height: 26px;
line-height: 26px;
display: inline-block;
padding: 0 10px;
}
.pagination li.disabled a:hover,
.pagination li.disabled a:active{
color: #666666;
}
.pagination a:hover,
.pagination a:active {
color: #990000;
}
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file per style scope.
*
*= require_self
*= require_directory ./plugin
*= require_directory ./website
*/
/*
*= require_directory ./mobile
*/
.gallery-view .image-container{position:relative;overflow:hidden;border:2px solid white}.gallery-view .image-container img{position:absolute;top:-9999px;bottom:-9999px;left:-9999px;right:-9999px;margin:auto}.imageView .has-no-header{top:0px !important}.imageView .close-btn{font-weight:900;border:2px solid;position:absolute;right:5px;border-radius:5px}.imageView .headerView{background-image:none;background-color:black}.imageView .gallery-slide-view{width:98%;background-color:transparent}.imageView .image-subtitle{color:white;position:absolute;bottom:0px;left:10px;width:95%;height:15%;z-index:100}.imageView .listContainer{width:100%;height:100%;background-color:black}.imageView .hideAll{display:none}.imageView img{display:block;width:100%;height:auto}.imageView .scroll-view{position:absolute;width:100%;height:100%}.imageView .scroll-view .scroll{min-height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:center;-moz-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:center;-moz-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
.post-detail img{
max-width: 100%;
}
\ No newline at end of file
@charset "UTF-8";
/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT
Copyright (c) 2014 Daniel Eden
*/
.animated {
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
.animated.infinite {
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
}
.animated.hinge {
-webkit-animation-duration: 2s;
animation-duration: 2s;
}
@-webkit-keyframes bounce {
0%, 20%, 53%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
40%, 43% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0);
}
70% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
}
90% {
-webkit-transform: translate3d(0,-4px,0);
transform: translate3d(0,-4px,0);
}
}
@keyframes bounce {
0%, 20%, 53%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
40%, 43% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0);
}
70% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
}
90% {
-webkit-transform: translate3d(0,-4px,0);
transform: translate3d(0,-4px,0);
}
}
.bounce {
-webkit-animation-name: bounce;
animation-name: bounce;
-webkit-transform-origin: center bottom;
-ms-transform-origin: center bottom;
transform-origin: center bottom;
}
@-webkit-keyframes flash {
0%, 50%, 100% {
opacity: 1;
}
25%, 75% {
opacity: 0;
}
}
@keyframes flash {
0%, 50%, 100% {
opacity: 1;
}
25%, 75% {
opacity: 0;
}
}
.flash {
-webkit-animation-name: flash;
animation-name: flash;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
0% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
50% {
-webkit-transform: scale3d(1.05, 1.05, 1.05);
transform: scale3d(1.05, 1.05, 1.05);
}
100% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
@keyframes pulse {
0% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
50% {
-webkit-transform: scale3d(1.05, 1.05, 1.05);
transform: scale3d(1.05, 1.05, 1.05);
}
100% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
.pulse {
-webkit-animation-name: pulse;
animation-name: pulse;
}
@-webkit-keyframes rubberBand {
0% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
30% {
-webkit-transform: scale3d(1.25, 0.75, 1);
transform: scale3d(1.25, 0.75, 1);
}
40% {
-webkit-transform: scale3d(0.75, 1.25, 1);
transform: scale3d(0.75, 1.25, 1);
}
50% {
-webkit-transform: scale3d(1.15, 0.85, 1);
transform: scale3d(1.15, 0.85, 1);
}
65% {
-webkit-transform: scale3d(.95, 1.05, 1);
transform: scale3d(.95, 1.05, 1);
}
75% {
-webkit-transform: scale3d(1.05, .95, 1);
transform: scale3d(1.05, .95, 1);
}
100% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
@keyframes rubberBand {
0% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
30% {
-webkit-transform: scale3d(1.25, 0.75, 1);
transform: scale3d(1.25, 0.75, 1);
}
40% {
-webkit-transform: scale3d(0.75, 1.25, 1);
transform: scale3d(0.75, 1.25, 1);
}
50% {
-webkit-transform: scale3d(1.15, 0.85, 1);
transform: scale3d(1.15, 0.85, 1);
}
65% {
-webkit-transform: scale3d(.95, 1.05, 1);
transform: scale3d(.95, 1.05, 1);
}
75% {
-webkit-transform: scale3d(1.05, .95, 1);
transform: scale3d(1.05, .95, 1);
}
100% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
.rubberBand {
-webkit-animation-name: rubberBand;
animation-name: rubberBand;
}
@-webkit-keyframes shake {
0%, 100% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
10%, 30%, 50%, 70%, 90% {
-webkit-transform: translate3d(-10px, 0, 0);
transform: translate3d(-10px, 0, 0);
}
20%, 40%, 60%, 80% {
-webkit-transform: translate3d(10px, 0, 0);
transform: translate3d(10px, 0, 0);
}
}
@keyframes shake {
0%, 100% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
10%, 30%, 50%, 70%, 90% {
-webkit-transform: translate3d(-10px, 0, 0);
transform: translate3d(-10px, 0, 0);
}
20%, 40%, 60%, 80% {
-webkit-transform: translate3d(10px, 0, 0);
transform: translate3d(10px, 0, 0);
}
}
.shake {
-webkit-animation-name: shake;
animation-name: shake;
}
@-webkit-keyframes swing {
20% {
-webkit-transform: rotate3d(0, 0, 1, 15deg);
transform: rotate3d(0, 0, 1, 15deg);
}
40% {
-webkit-transform: rotate3d(0, 0, 1, -10deg);
transform: rotate3d(0, 0, 1, -10deg);
}
60% {
-webkit-transform: rotate3d(0, 0, 1, 5deg);
transform: rotate3d(0, 0, 1, 5deg);
}
80% {
-webkit-transform: rotate3d(0, 0, 1, -5deg);
transform: rotate3d(0, 0, 1, -5deg);
}
100% {
-webkit-transform: rotate3d(0, 0, 1, 0deg);
transform: rotate3d(0, 0, 1, 0deg);
}
}
@keyframes swing {
20% {
-webkit-transform: rotate3d(0, 0, 1, 15deg);
transform: rotate3d(0, 0, 1, 15deg);
}
40% {
-webkit-transform: rotate3d(0, 0, 1, -10deg);
transform: rotate3d(0, 0, 1, -10deg);
}
60% {
-webkit-transform: rotate3d(0, 0, 1, 5deg);
transform: rotate3d(0, 0, 1, 5deg);
}
80% {
-webkit-transform: rotate3d(0, 0, 1, -5deg);
transform: rotate3d(0, 0, 1, -5deg);
}
100% {
-webkit-transform: rotate3d(0, 0, 1, 0deg);
transform: rotate3d(0, 0, 1, 0deg);
}
}
.swing {
-webkit-transform-origin: top center;
-ms-transform-origin: top center;
transform-origin: top center;
-webkit-animation-name: swing;
animation-name: swing;
}
@-webkit-keyframes tada {
0% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
10%, 20% {
-webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
}
30%, 50%, 70%, 90% {
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
}
40%, 60%, 80% {
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
}
100% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
@keyframes tada {
0% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
10%, 20% {
-webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
}
30%, 50%, 70%, 90% {
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
}
40%, 60%, 80% {
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
}
100% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
.tada {
-webkit-animation-name: tada;
animation-name: tada;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
0% {
-webkit-transform: none;
transform: none;
}
15% {
-webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
}
30% {
-webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
}
45% {
-webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
}
60% {
-webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
}
75% {
-webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
}
100% {
-webkit-transform: none;
transform: none;
}
}
@keyframes wobble {
0% {
-webkit-transform: none;
transform: none;
}
15% {
-webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
}
30% {
-webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
}
45% {
-webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
}
60% {
-webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
}
75% {
-webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
}
100% {
-webkit-transform: none;
transform: none;
}
}
.wobble {
-webkit-animation-name: wobble;
animation-name: wobble;
}
@-webkit-keyframes bounceIn {
0%, 20%, 40%, 60%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}
20% {
-webkit-transform: scale3d(1.1, 1.1, 1.1);
transform: scale3d(1.1, 1.1, 1.1);
}
40% {
-webkit-transform: scale3d(.9, .9, .9);
transform: scale3d(.9, .9, .9);
}
60% {
opacity: 1;
-webkit-transform: scale3d(1.03, 1.03, 1.03);
transform: scale3d(1.03, 1.03, 1.03);
}
80% {
-webkit-transform: scale3d(.97, .97, .97);
transform: scale3d(.97, .97, .97);
}
100% {
opacity: 1;
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
@keyframes bounceIn {
0%, 20%, 40%, 60%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}
20% {
-webkit-transform: scale3d(1.1, 1.1, 1.1);
transform: scale3d(1.1, 1.1, 1.1);
}
40% {
-webkit-transform: scale3d(.9, .9, .9);
transform: scale3d(.9, .9, .9);
}
60% {
opacity: 1;
-webkit-transform: scale3d(1.03, 1.03, 1.03);
transform: scale3d(1.03, 1.03, 1.03);
}
80% {
-webkit-transform: scale3d(.97, .97, .97);
transform: scale3d(.97, .97, .97);
}
100% {
opacity: 1;
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
.bounceIn {
-webkit-animation-name: bounceIn;
animation-name: bounceIn;
-webkit-animation-duration: .75s;
animation-duration: .75s;
}
@-webkit-keyframes bounceInDown {
0%, 60%, 75%, 90%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
-webkit-transform: translate3d(0, -3000px, 0);
transform: translate3d(0, -3000px, 0);
}
60% {
opacity: 1;
-webkit-transform: translate3d(0, 25px, 0);
transform: translate3d(0, 25px, 0);
}
75% {
-webkit-transform: translate3d(0, -10px, 0);
transform: translate3d(0, -10px, 0);
}
90% {
-webkit-transform: translate3d(0, 5px, 0);
transform: translate3d(0, 5px, 0);
}
100% {
-webkit-transform: none;
transform: none;
}
}
@keyframes bounceInDown {
0%, 60%, 75%, 90%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
-webkit-transform: translate3d(0, -3000px, 0);
transform: translate3d(0, -3000px, 0);
}
60% {
opacity: 1;
-webkit-transform: translate3d(0, 25px, 0);
transform: translate3d(0, 25px, 0);
}
75% {
-webkit-transform: translate3d(0, -10px, 0);
transform: translate3d(0, -10px, 0);
}
90% {
-webkit-transform: translate3d(0, 5px, 0);
transform: translate3d(0, 5px, 0);
}
100% {
-webkit-transform: none;
transform: none;
}
}
.bounceInDown {
-webkit-animation-name: bounceInDown;
animation-name: bounceInDown;
}
@-webkit-keyframes bounceInLeft {
0%, 60%, 75%, 90%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
-webkit-transform: translate3d(-3000px, 0, 0);
transform: translate3d(-3000px, 0, 0);
}
60% {
opacity: 1;
-webkit-transform: translate3d(25px, 0, 0);
transform: translate3d(25px, 0, 0);
}
75% {
-webkit-transform: translate3d(-10px, 0, 0);
transform: translate3d(-10px, 0, 0);
}
90% {
-webkit-transform: translate3d(5px, 0, 0);
transform: translate3d(5px, 0, 0);
}
100% {
-webkit-transform: none;
transform: none;
}
}
@keyframes bounceInLeft {
0%, 60%, 75%, 90%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
-webkit-transform: translate3d(-3000px, 0, 0);
transform: translate3d(-3000px, 0, 0);
}
60% {
opacity: 1;
-webkit-transform: translate3d(25px, 0, 0);
transform: translate3d(25px, 0, 0);
}
75% {
-webkit-transform: translate3d(-10px, 0, 0);
transform: translate3d(-10px, 0, 0);
}
90% {
-webkit-transform: translate3d(5px, 0, 0);
transform: translate3d(5px, 0, 0);
}
100% {
-webkit-transform: none;
transform: none;
}
}
.bounceInLeft {
-webkit-animation-name: bounceInLeft;
animation-name: bounceInLeft;
}
@-webkit-keyframes bounceInRight {
0%, 60%, 75%, 90%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
-webkit-transform: translate3d(3000px, 0, 0);
transform: translate3d(3000px, 0, 0);
}
60% {
opacity: 1;
-webkit-transform: translate3d(-25px, 0, 0);
transform: translate3d(-25px, 0, 0);
}
75% {
-webkit-transform: translate3d(10px, 0, 0);
transform: translate3d(10px, 0, 0);
}
90% {
-webkit-transform: translate3d(-5px, 0, 0);
transform: translate3d(-5px, 0, 0);
}
100% {
-webkit-transform: none;
transform: none;
}
}
@keyframes bounceInRight {
0%, 60%, 75%, 90%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
-webkit-transform: translate3d(3000px, 0, 0);
transform: translate3d(3000px, 0, 0);
}
60% {
opacity: 1;
-webkit-transform: translate3d(-25px, 0, 0);
transform: translate3d(-25px, 0, 0);
}
75% {
-webkit-transform: translate3d(10px, 0, 0);
transform: translate3d(10px, 0, 0);
}
90% {
-webkit-transform: translate3d(-5px, 0, 0);
transform: translate3d(-5px, 0, 0);
}
100% {
-webkit-transform: none;
transform: none;
}
}
.bounceInRight {
-webkit-animation-name: bounceInRight;
animation-name: bounceInRight;
}
@-webkit-keyframes bounceInUp {
0%, 60%, 75%, 90%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
-webkit-transform: translate3d(0, 3000px, 0);
transform: translate3d(0, 3000px, 0);
}
60% {
opacity: 1;
-webkit-transform: translate3d(0, -20px, 0);
transform: translate3d(0, -20px, 0);
}
75% {
-webkit-transform: translate3d(0, 10px, 0);
transform: translate3d(0, 10px, 0);
}
90% {
-webkit-transform: translate3d(0, -5px, 0);
transform: translate3d(0, -5px, 0);
}
100% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
@keyframes bounceInUp {
0%, 60%, 75%, 90%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
-webkit-transform: translate3d(0, 3000px, 0);
transform: translate3d(0, 3000px, 0);
}
60% {
opacity: 1;
-webkit-transform: translate3d(0, -20px, 0);
transform: translate3d(0, -20px, 0);
}
75% {
-webkit-transform: translate3d(0, 10px, 0);
transform: translate3d(0, 10px, 0);
}
90% {
-webkit-transform: translate3d(0, -5px, 0);
transform: translate3d(0, -5px, 0);
}
100% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
.bounceInUp {
-webkit-animation-name: bounceInUp;
animation-name: bounceInUp;
}
@-webkit-keyframes bounceOut {
20% {
-webkit-transform: scale3d(.9, .9, .9);
transform: scale3d(.9, .9, .9);
}
50%, 55% {
opacity: 1;
-webkit-transform: scale3d(1.1, 1.1, 1.1);
transform: scale3d(1.1, 1.1, 1.1);
}
100% {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}
}
@keyframes bounceOut {
20% {
-webkit-transform: scale3d(.9, .9, .9);
transform: scale3d(.9, .9, .9);
}
50%, 55% {
opacity: 1;
-webkit-transform: scale3d(1.1, 1.1, 1.1);
transform: scale3d(1.1, 1.1, 1.1);
}
100% {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}
}
.bounceOut {
-webkit-animation-name: bounceOut;
animation-name: bounceOut;
-webkit-animation-duration: .75s;
animation-duration: .75s;
}
@-webkit-keyframes bounceOutDown {
20% {
-webkit-transform: translate3d(0, 10px, 0);
transform: translate3d(0, 10px, 0);
}
40%, 45% {
opacity: 1;
-webkit-transform: translate3d(0, -20px, 0);
transform: translate3d(0, -20px, 0);
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, 2000px, 0);
transform: translate3d(0, 2000px, 0);
}
}
@keyframes bounceOutDown {
20% {
-webkit-transform: translate3d(0, 10px, 0);
transform: translate3d(0, 10px, 0);
}
40%, 45% {
opacity: 1;
-webkit-transform: translate3d(0, -20px, 0);
transform: translate3d(0, -20px, 0);
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, 2000px, 0);
transform: translate3d(0, 2000px, 0);
}
}
.bounceOutDown {
-webkit-animation-name: bounceOutDown;
animation-name: bounceOutDown;
}
@-webkit-keyframes bounceOutLeft {
20% {
opacity: 1;
-webkit-transform: translate3d(20px, 0, 0);
transform: translate3d(20px, 0, 0);
}
100% {
opacity: 0;
-webkit-transform: translate3d(-2000px, 0, 0);
transform: translate3d(-2000px, 0, 0);
}
}
@keyframes bounceOutLeft {
20% {
opacity: 1;
-webkit-transform: translate3d(20px, 0, 0);
transform: translate3d(20px, 0, 0);
}
100% {
opacity: 0;
-webkit-transform: translate3d(-2000px, 0, 0);
transform: translate3d(-2000px, 0, 0);
}
}
.bounceOutLeft {
-webkit-animation-name: bounceOutLeft;
animation-name: bounceOutLeft;
}
@-webkit-keyframes bounceOutRight {
20% {
opacity: 1;
-webkit-transform: translate3d(-20px, 0, 0);
transform: translate3d(-20px, 0, 0);
}
100% {
opacity: 0;
-webkit-transform: translate3d(2000px, 0, 0);
transform: translate3d(2000px, 0, 0);
}
}
@keyframes bounceOutRight {
20% {
opacity: 1;
-webkit-transform: translate3d(-20px, 0, 0);
transform: translate3d(-20px, 0, 0);
}
100% {
opacity: 0;
-webkit-transform: translate3d(2000px, 0, 0);
transform: translate3d(2000px, 0, 0);
}
}
.bounceOutRight {
-webkit-animation-name: bounceOutRight;
animation-name: bounceOutRight;
}
@-webkit-keyframes bounceOutUp {
20% {
-webkit-transform: translate3d(0, -10px, 0);
transform: translate3d(0, -10px, 0);
}
40%, 45% {
opacity: 1;
-webkit-transform: translate3d(0, 20px, 0);
transform: translate3d(0, 20px, 0);
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, -2000px, 0);
transform: translate3d(0, -2000px, 0);
}
}
@keyframes bounceOutUp {
20% {
-webkit-transform: translate3d(0, -10px, 0);
transform: translate3d(0, -10px, 0);
}
40%, 45% {
opacity: 1;
-webkit-transform: translate3d(0, 20px, 0);
transform: translate3d(0, 20px, 0);
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, -2000px, 0);
transform: translate3d(0, -2000px, 0);
}
}
.bounceOutUp {
-webkit-animation-name: bounceOutUp;
animation-name: bounceOutUp;
}
@-webkit-keyframes fadeIn {
0% {opacity: 0;}
100% {opacity: 1;}
}
@keyframes fadeIn {
0% {opacity: 0;}
100% {opacity: 1;}
}
.fadeIn {
-webkit-animation-name: fadeIn;
animation-name: fadeIn;
}
@-webkit-keyframes fadeInDown {
0% {
opacity: 0;
-webkit-transform: translate3d(0, -100%, 0);
transform: translate3d(0, -100%, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@keyframes fadeInDown {
0% {
opacity: 0;
-webkit-transform: translate3d(0, -100%, 0);
transform: translate3d(0, -100%, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
.fadeInDown {
-webkit-animation-name: fadeInDown;
animation-name: fadeInDown;
}
@-webkit-keyframes fadeInDownBig {
0% {
opacity: 0;
-webkit-transform: translate3d(0, -2000px, 0);
transform: translate3d(0, -2000px, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@keyframes fadeInDownBig {
0% {
opacity: 0;
-webkit-transform: translate3d(0, -2000px, 0);
transform: translate3d(0, -2000px, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
.fadeInDownBig {
-webkit-animation-name: fadeInDownBig;
animation-name: fadeInDownBig;
}
@-webkit-keyframes fadeInLeft {
0% {
opacity: 0;
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@keyframes fadeInLeft {
0% {
opacity: 0;
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
.fadeInLeft {
-webkit-animation-name: fadeInLeft;
animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInLeftBig {
0% {
opacity: 0;
-webkit-transform: translate3d(-2000px, 0, 0);
transform: translate3d(-2000px, 0, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@keyframes fadeInLeftBig {
0% {
opacity: 0;
-webkit-transform: translate3d(-2000px, 0, 0);
transform: translate3d(-2000px, 0, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
.fadeInLeftBig {
-webkit-animation-name: fadeInLeftBig;
animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRight {
0% {
opacity: 0;
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@keyframes fadeInRight {
0% {
opacity: 0;
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
.fadeInRight {
-webkit-animation-name: fadeInRight;
animation-name: fadeInRight;
}
@-webkit-keyframes fadeInRightBig {
0% {
opacity: 0;
-webkit-transform: translate3d(2000px, 0, 0);
transform: translate3d(2000px, 0, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@keyframes fadeInRightBig {
0% {
opacity: 0;
-webkit-transform: translate3d(2000px, 0, 0);
transform: translate3d(2000px, 0, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
.fadeInRightBig {
-webkit-animation-name: fadeInRightBig;
animation-name: fadeInRightBig;
}
@-webkit-keyframes fadeInUp {
0% {
opacity: 0;
-webkit-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@keyframes fadeInUp {
0% {
opacity: 0;
-webkit-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
.fadeInUp {
-webkit-animation-name: fadeInUp;
animation-name: fadeInUp;
}
@-webkit-keyframes fadeInUpBig {
0% {
opacity: 0;
-webkit-transform: translate3d(0, 2000px, 0);
transform: translate3d(0, 2000px, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@keyframes fadeInUpBig {
0% {
opacity: 0;
-webkit-transform: translate3d(0, 2000px, 0);
transform: translate3d(0, 2000px, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
.fadeInUpBig {
-webkit-animation-name: fadeInUpBig;
animation-name: fadeInUpBig;
}
@-webkit-keyframes fadeOut {
0% {opacity: 1;}
100% {opacity: 0;}
}
@keyframes fadeOut {
0% {opacity: 1;}
100% {opacity: 0;}
}
.fadeOut {
-webkit-animation-name: fadeOut;
animation-name: fadeOut;
}
@-webkit-keyframes fadeOutDown {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
}
}
@keyframes fadeOutDown {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
}
}
.fadeOutDown {
-webkit-animation-name: fadeOutDown;
animation-name: fadeOutDown;
}
@-webkit-keyframes fadeOutDownBig {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, 2000px, 0);
transform: translate3d(0, 2000px, 0);
}
}
@keyframes fadeOutDownBig {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, 2000px, 0);
transform: translate3d(0, 2000px, 0);
}
}
.fadeOutDownBig {
-webkit-animation-name: fadeOutDownBig;
animation-name: fadeOutDownBig;
}
@-webkit-keyframes fadeOutLeft {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
@keyframes fadeOutLeft {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
.fadeOutLeft {
-webkit-animation-name: fadeOutLeft;
animation-name: fadeOutLeft;
}
@-webkit-keyframes fadeOutLeftBig {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(-2000px, 0, 0);
transform: translate3d(-2000px, 0, 0);
}
}
@keyframes fadeOutLeftBig {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(-2000px, 0, 0);
transform: translate3d(-2000px, 0, 0);
}
}
.fadeOutLeftBig {
-webkit-animation-name: fadeOutLeftBig;
animation-name: fadeOutLeftBig;
}
@-webkit-keyframes fadeOutRight {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
}
@keyframes fadeOutRight {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
}
.fadeOutRight {
-webkit-animation-name: fadeOutRight;
animation-name: fadeOutRight;
}
@-webkit-keyframes fadeOutRightBig {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(2000px, 0, 0);
transform: translate3d(2000px, 0, 0);
}
}
@keyframes fadeOutRightBig {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(2000px, 0, 0);
transform: translate3d(2000px, 0, 0);
}
}
.fadeOutRightBig {
-webkit-animation-name: fadeOutRightBig;
animation-name: fadeOutRightBig;
}
@-webkit-keyframes fadeOutUp {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, -100%, 0);
transform: translate3d(0, -100%, 0);
}
}
@keyframes fadeOutUp {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, -100%, 0);
transform: translate3d(0, -100%, 0);
}
}
.fadeOutUp {
-webkit-animation-name: fadeOutUp;
animation-name: fadeOutUp;
}
@-webkit-keyframes fadeOutUpBig {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, -2000px, 0);
transform: translate3d(0, -2000px, 0);
}
}
@keyframes fadeOutUpBig {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(0, -2000px, 0);
transform: translate3d(0, -2000px, 0);
}
}
.fadeOutUpBig {
-webkit-animation-name: fadeOutUpBig;
animation-name: fadeOutUpBig;
}
@-webkit-keyframes flip {
0% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
40% {
-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
50% {
-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
80% {
-webkit-transform: perspective(400px) scale3d(.95, .95, .95);
transform: perspective(400px) scale3d(.95, .95, .95);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
100% {
-webkit-transform: perspective(400px);
transform: perspective(400px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
}
@keyframes flip {
0% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
40% {
-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
50% {
-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
80% {
-webkit-transform: perspective(400px) scale3d(.95, .95, .95);
transform: perspective(400px) scale3d(.95, .95, .95);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
100% {
-webkit-transform: perspective(400px);
transform: perspective(400px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
}
.animated.flip {
-webkit-backface-visibility: visible;
backface-visibility: visible;
-webkit-animation-name: flip;
animation-name: flip;
}
@-webkit-keyframes flipInX {
0% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
-webkit-transition-timing-function: ease-in;
transition-timing-function: ease-in;
opacity: 0;
}
40% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
-webkit-transition-timing-function: ease-in;
transition-timing-function: ease-in;
}
60% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
opacity: 1;
}
80% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
}
100% {
-webkit-transform: perspective(400px);
transform: perspective(400px);
}
}
@keyframes flipInX {
0% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
-webkit-transition-timing-function: ease-in;
transition-timing-function: ease-in;
opacity: 0;
}
40% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
-webkit-transition-timing-function: ease-in;
transition-timing-function: ease-in;
}
60% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
opacity: 1;
}
80% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
}
100% {
-webkit-transform: perspective(400px);
transform: perspective(400px);
}
}
.flipInX {
-webkit-backface-visibility: visible !important;
backface-visibility: visible !important;
-webkit-animation-name: flipInX;
animation-name: flipInX;
}
@-webkit-keyframes flipInY {
0% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
-webkit-transition-timing-function: ease-in;
transition-timing-function: ease-in;
opacity: 0;
}
40% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
-webkit-transition-timing-function: ease-in;
transition-timing-function: ease-in;
}
60% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
opacity: 1;
}
80% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
}
100% {
-webkit-transform: perspective(400px);
transform: perspective(400px);
}
}
@keyframes flipInY {
0% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
-webkit-transition-timing-function: ease-in;
transition-timing-function: ease-in;
opacity: 0;
}
40% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
-webkit-transition-timing-function: ease-in;
transition-timing-function: ease-in;
}
60% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
opacity: 1;
}
80% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
}
100% {
-webkit-transform: perspective(400px);
transform: perspective(400px);
}
}
.flipInY {
-webkit-backface-visibility: visible !important;
backface-visibility: visible !important;
-webkit-animation-name: flipInY;
animation-name: flipInY;
}
@-webkit-keyframes flipOutX {
0% {
-webkit-transform: perspective(400px);
transform: perspective(400px);
}
30% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
opacity: 1;
}
100% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
opacity: 0;
}
}
@keyframes flipOutX {
0% {
-webkit-transform: perspective(400px);
transform: perspective(400px);
}
30% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
opacity: 1;
}
100% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
opacity: 0;
}
}
.flipOutX {
-webkit-animation-name: flipOutX;
animation-name: flipOutX;
-webkit-animation-duration: .75s;
animation-duration: .75s;
-webkit-backface-visibility: visible !important;
backface-visibility: visible !important;
}
@-webkit-keyframes flipOutY {
0% {
-webkit-transform: perspective(400px);
transform: perspective(400px);
}
30% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
opacity: 1;
}
100% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
opacity: 0;
}
}
@keyframes flipOutY {
0% {
-webkit-transform: perspective(400px);
transform: perspective(400px);
}
30% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
opacity: 1;
}
100% {
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
opacity: 0;
}
}
.flipOutY {
-webkit-backface-visibility: visible !important;
backface-visibility: visible !important;
-webkit-animation-name: flipOutY;
animation-name: flipOutY;
-webkit-animation-duration: .75s;
animation-duration: .75s;
}
@-webkit-keyframes lightSpeedIn {
0% {
-webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
transform: translate3d(100%, 0, 0) skewX(-30deg);
opacity: 0;
}
60% {
-webkit-transform: skewX(20deg);
transform: skewX(20deg);
opacity: 1;
}
80% {
-webkit-transform: skewX(-5deg);
transform: skewX(-5deg);
opacity: 1;
}
100% {
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
@keyframes lightSpeedIn {
0% {
-webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
transform: translate3d(100%, 0, 0) skewX(-30deg);
opacity: 0;
}
60% {
-webkit-transform: skewX(20deg);
transform: skewX(20deg);
opacity: 1;
}
80% {
-webkit-transform: skewX(-5deg);
transform: skewX(-5deg);
opacity: 1;
}
100% {
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
.lightSpeedIn {
-webkit-animation-name: lightSpeedIn;
animation-name: lightSpeedIn;
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
@-webkit-keyframes lightSpeedOut {
0% {
opacity: 1;
}
100% {
-webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
transform: translate3d(100%, 0, 0) skewX(30deg);
opacity: 0;
}
}
@keyframes lightSpeedOut {
0% {
opacity: 1;
}
100% {
-webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
transform: translate3d(100%, 0, 0) skewX(30deg);
opacity: 0;
}
}
.lightSpeedOut {
-webkit-animation-name: lightSpeedOut;
animation-name: lightSpeedOut;
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
@-webkit-keyframes rotateIn {
0% {
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transform: rotate3d(0, 0, 1, -200deg);
transform: rotate3d(0, 0, 1, -200deg);
opacity: 0;
}
100% {
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
@keyframes rotateIn {
0% {
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transform: rotate3d(0, 0, 1, -200deg);
transform: rotate3d(0, 0, 1, -200deg);
opacity: 0;
}
100% {
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
.rotateIn {
-webkit-animation-name: rotateIn;
animation-name: rotateIn;
}
@-webkit-keyframes rotateInDownLeft {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate3d(0, 0, 1, -45deg);
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
@keyframes rotateInDownLeft {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate3d(0, 0, 1, -45deg);
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
.rotateInDownLeft {
-webkit-animation-name: rotateInDownLeft;
animation-name: rotateInDownLeft;
}
@-webkit-keyframes rotateInDownRight {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate3d(0, 0, 1, 45deg);
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
@keyframes rotateInDownRight {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate3d(0, 0, 1, 45deg);
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
.rotateInDownRight {
-webkit-animation-name: rotateInDownRight;
animation-name: rotateInDownRight;
}
@-webkit-keyframes rotateInUpLeft {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate3d(0, 0, 1, 45deg);
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
@keyframes rotateInUpLeft {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate3d(0, 0, 1, 45deg);
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
.rotateInUpLeft {
-webkit-animation-name: rotateInUpLeft;
animation-name: rotateInUpLeft;
}
@-webkit-keyframes rotateInUpRight {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate3d(0, 0, 1, -90deg);
transform: rotate3d(0, 0, 1, -90deg);
opacity: 0;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
@keyframes rotateInUpRight {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate3d(0, 0, 1, -90deg);
transform: rotate3d(0, 0, 1, -90deg);
opacity: 0;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: none;
transform: none;
opacity: 1;
}
}
.rotateInUpRight {
-webkit-animation-name: rotateInUpRight;
animation-name: rotateInUpRight;
}
@-webkit-keyframes rotateOut {
0% {
-webkit-transform-origin: center;
transform-origin: center;
opacity: 1;
}
100% {
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transform: rotate3d(0, 0, 1, 200deg);
transform: rotate3d(0, 0, 1, 200deg);
opacity: 0;
}
}
@keyframes rotateOut {
0% {
-webkit-transform-origin: center;
transform-origin: center;
opacity: 1;
}
100% {
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transform: rotate3d(0, 0, 1, 200deg);
transform: rotate3d(0, 0, 1, 200deg);
opacity: 0;
}
}
.rotateOut {
-webkit-animation-name: rotateOut;
animation-name: rotateOut;
}
@-webkit-keyframes rotateOutDownLeft {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
opacity: 1;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate3d(0, 0, 1, 45deg);
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
}
@keyframes rotateOutDownLeft {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
opacity: 1;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate3d(0, 0, 1, 45deg);
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
}
.rotateOutDownLeft {
-webkit-animation-name: rotateOutDownLeft;
animation-name: rotateOutDownLeft;
}
@-webkit-keyframes rotateOutDownRight {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
opacity: 1;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate3d(0, 0, 1, -45deg);
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
}
@keyframes rotateOutDownRight {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
opacity: 1;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate3d(0, 0, 1, -45deg);
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
}
.rotateOutDownRight {
-webkit-animation-name: rotateOutDownRight;
animation-name: rotateOutDownRight;
}
@-webkit-keyframes rotateOutUpLeft {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
opacity: 1;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate3d(0, 0, 1, -45deg);
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
}
@keyframes rotateOutUpLeft {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
opacity: 1;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate3d(0, 0, 1, -45deg);
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
}
.rotateOutUpLeft {
-webkit-animation-name: rotateOutUpLeft;
animation-name: rotateOutUpLeft;
}
@-webkit-keyframes rotateOutUpRight {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
opacity: 1;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate3d(0, 0, 1, 90deg);
transform: rotate3d(0, 0, 1, 90deg);
opacity: 0;
}
}
@keyframes rotateOutUpRight {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
opacity: 1;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate3d(0, 0, 1, 90deg);
transform: rotate3d(0, 0, 1, 90deg);
opacity: 0;
}
}
.rotateOutUpRight {
-webkit-animation-name: rotateOutUpRight;
animation-name: rotateOutUpRight;
}
@-webkit-keyframes hinge {
0% {
-webkit-transform-origin: top left;
transform-origin: top left;
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
}
20%, 60% {
-webkit-transform: rotate3d(0, 0, 1, 80deg);
transform: rotate3d(0, 0, 1, 80deg);
-webkit-transform-origin: top left;
transform-origin: top left;
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
}
40%, 80% {
-webkit-transform: rotate3d(0, 0, 1, 60deg);
transform: rotate3d(0, 0, 1, 60deg);
-webkit-transform-origin: top left;
transform-origin: top left;
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
opacity: 1;
}
100% {
-webkit-transform: translate3d(0, 700px, 0);
transform: translate3d(0, 700px, 0);
opacity: 0;
}
}
@keyframes hinge {
0% {
-webkit-transform-origin: top left;
transform-origin: top left;
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
}
20%, 60% {
-webkit-transform: rotate3d(0, 0, 1, 80deg);
transform: rotate3d(0, 0, 1, 80deg);
-webkit-transform-origin: top left;
transform-origin: top left;
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
}
40%, 80% {
-webkit-transform: rotate3d(0, 0, 1, 60deg);
transform: rotate3d(0, 0, 1, 60deg);
-webkit-transform-origin: top left;
transform-origin: top left;
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
opacity: 1;
}
100% {
-webkit-transform: translate3d(0, 700px, 0);
transform: translate3d(0, 700px, 0);
opacity: 0;
}
}
.hinge {
-webkit-animation-name: hinge;
animation-name: hinge;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
0% {
opacity: 0;
-webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@keyframes rollIn {
0% {
opacity: 0;
-webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
.rollIn {
-webkit-animation-name: rollIn;
animation-name: rollIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
}
}
@keyframes rollOut {
0% {
opacity: 1;
}
100% {
opacity: 0;
-webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
}
}
.rollOut {
-webkit-animation-name: rollOut;
animation-name: rollOut;
}
@-webkit-keyframes zoomIn {
0% {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}
50% {
opacity: 1;
}
}
@keyframes zoomIn {
0% {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}
50% {
opacity: 1;
}
}
.zoomIn {
-webkit-animation-name: zoomIn;
animation-name: zoomIn;
}
@-webkit-keyframes zoomInDown {
0% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
@keyframes zoomInDown {
0% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
.zoomInDown {
-webkit-animation-name: zoomInDown;
animation-name: zoomInDown;
}
@-webkit-keyframes zoomInLeft {
0% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
@keyframes zoomInLeft {
0% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
.zoomInLeft {
-webkit-animation-name: zoomInLeft;
animation-name: zoomInLeft;
}
@-webkit-keyframes zoomInRight {
0% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
@keyframes zoomInRight {
0% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
.zoomInRight {
-webkit-animation-name: zoomInRight;
animation-name: zoomInRight;
}
@-webkit-keyframes zoomInUp {
0% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
@keyframes zoomInUp {
0% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
.zoomInUp {
-webkit-animation-name: zoomInUp;
animation-name: zoomInUp;
}
@-webkit-keyframes zoomOut {
0% {
opacity: 1;
}
50% {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}
100% {
opacity: 0;
}
}
@keyframes zoomOut {
0% {
opacity: 1;
}
50% {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}
100% {
opacity: 0;
}
}
.zoomOut {
-webkit-animation-name: zoomOut;
animation-name: zoomOut;
}
@-webkit-keyframes zoomOutDown {
40% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
100% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
-webkit-transform-origin: center bottom;
transform-origin: center bottom;
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
@keyframes zoomOutDown {
40% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
100% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
-webkit-transform-origin: center bottom;
transform-origin: center bottom;
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
.zoomOutDown {
-webkit-animation-name: zoomOutDown;
animation-name: zoomOutDown;
}
@-webkit-keyframes zoomOutLeft {
40% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
}
100% {
opacity: 0;
-webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
transform: scale(.1) translate3d(-2000px, 0, 0);
-webkit-transform-origin: left center;
transform-origin: left center;
}
}
@keyframes zoomOutLeft {
40% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
}
100% {
opacity: 0;
-webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
transform: scale(.1) translate3d(-2000px, 0, 0);
-webkit-transform-origin: left center;
transform-origin: left center;
}
}
.zoomOutLeft {
-webkit-animation-name: zoomOutLeft;
animation-name: zoomOutLeft;
}
@-webkit-keyframes zoomOutRight {
40% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
}
100% {
opacity: 0;
-webkit-transform: scale(.1) translate3d(2000px, 0, 0);
transform: scale(.1) translate3d(2000px, 0, 0);
-webkit-transform-origin: right center;
transform-origin: right center;
}
}
@keyframes zoomOutRight {
40% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
}
100% {
opacity: 0;
-webkit-transform: scale(.1) translate3d(2000px, 0, 0);
transform: scale(.1) translate3d(2000px, 0, 0);
-webkit-transform-origin: right center;
transform-origin: right center;
}
}
.zoomOutRight {
-webkit-animation-name: zoomOutRight;
animation-name: zoomOutRight;
}
@-webkit-keyframes zoomOutUp {
40% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
100% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
-webkit-transform-origin: center bottom;
transform-origin: center bottom;
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
@keyframes zoomOutUp {
40% {
opacity: 1;
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
100% {
opacity: 0;
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
-webkit-transform-origin: center bottom;
transform-origin: center bottom;
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
.zoomOutUp {
-webkit-animation-name: zoomOutUp;
animation-name: zoomOutUp;
}
@-webkit-keyframes slideInDown {
0% {
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
visibility: visible;
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
}
@keyframes slideInDown {
0% {
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
visibility: visible;
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
}
.slideInDown {
-webkit-animation-name: slideInDown;
animation-name: slideInDown;
}
@-webkit-keyframes slideInLeft {
0% {
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
visibility: visible;
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
}
@keyframes slideInLeft {
0% {
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
visibility: visible;
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
}
.slideInLeft {
-webkit-animation-name: slideInLeft;
animation-name: slideInLeft;
}
@-webkit-keyframes slideInRight {
0% {
-webkit-transform: translateX(100%);
transform: translateX(100%);
visibility: visible;
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
}
@keyframes slideInRight {
0% {
-webkit-transform: translateX(100%);
transform: translateX(100%);
visibility: visible;
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
}
.slideInRight {
-webkit-animation-name: slideInRight;
animation-name: slideInRight;
}
@-webkit-keyframes slideInUp {
0% {
-webkit-transform: translateY(100%);
transform: translateY(100%);
visibility: visible;
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
}
@keyframes slideInUp {
0% {
-webkit-transform: translateY(100%);
transform: translateY(100%);
visibility: visible;
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
}
.slideInUp {
-webkit-animation-name: slideInUp;
animation-name: slideInUp;
}
@-webkit-keyframes slideOutDown {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
visibility: hidden;
-webkit-transform: translateY(100%);
transform: translateY(100%);
}
}
@keyframes slideOutDown {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
visibility: hidden;
-webkit-transform: translateY(100%);
transform: translateY(100%);
}
}
.slideOutDown {
-webkit-animation-name: slideOutDown;
animation-name: slideOutDown;
}
@-webkit-keyframes slideOutLeft {
0% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
100% {
visibility: hidden;
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
}
}
@keyframes slideOutLeft {
0% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
100% {
visibility: hidden;
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
}
}
.slideOutLeft {
-webkit-animation-name: slideOutLeft;
animation-name: slideOutLeft;
}
@-webkit-keyframes slideOutRight {
0% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
100% {
visibility: hidden;
-webkit-transform: translateX(100%);
transform: translateX(100%);
}
}
@keyframes slideOutRight {
0% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
100% {
visibility: hidden;
-webkit-transform: translateX(100%);
transform: translateX(100%);
}
}
.slideOutRight {
-webkit-animation-name: slideOutRight;
animation-name: slideOutRight;
}
@-webkit-keyframes slideOutUp {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
visibility: hidden;
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
}
@keyframes slideOutUp {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
visibility: hidden;
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
}
.slideOutUp {
-webkit-animation-name: slideOutUp;
animation-name: slideOutUp;
}
.detectype h2, .service h2{
text-align: center;
font-weight: 400;
color: #433e51;
font-size: 45px;
padding: 0;
margin: 50px 0;
}
.detectype .detectrange{
float: left;
min-height: 1px;
position: relative;
cursor: pointer;
width: 22.75%;
margin-right: 3%;
overflow: hidden;
}
.detectype .detectrange.mb{
margin-bottom: 50px;
}
.detectype .detectrange .mask{
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
text-align: center;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.detectype .detectrange.l{
margin-right: 0;
}
.detectype .detectrange .detecticon{
height: 150px;
}
.detectype .detectrange .detectfood{
background: url(/images/jcrange/nongchanpin.jpg);
}
.detectype .detectrange .detectmeat{
background: url(/images/jcrange/rouzhipin.jpg);
}
.detectype .detectrange .detectfire{
background: url(/images/jcrange/xiaofangjiance.jpg);
}
.detectype .detectrange .detectmilieu{
background: url(/images/jcrange/huanjing.jpg);
}
.detectype .detectrange .detectfeiliao{
background: url(/images/jcrange/fljc.jpg);
}
.detectype .detectrange .detectsiliao{
background: url(/images/jcrange/sljc.jpg);
}
.detectype .detectrange .detectshuichan{
background: url(/images/jcrange/scjc.jpg);
}
.detectype .detectrange .detectshipin{
background: url(/images/jcrange/spjc.jpg?v=2);
}
.detectype .detectrange .detecttext{
padding: 15px 10px;
height: 80px;
border: 1px solid #ccc;
border-top: 0;
}
.detectype .detectrange .detecttext h5{
margin: 0 0 10px;
font-size: 18px;
font-weight: 400;
color: #433e51;
}
.detectype .detectrange .detecttext p{
line-height: 1.6em;
font-size: 14px;
margin: 0 0 10px;
color: #7b7b7b;
}
.detectype .detectrange .mask {
background: #1a4a72;
background: rgba(26, 74, 114, 0.6);
visibility: hidden;
opacity: 0;
-webkit-transition: all 0.35s ease-in;
-moz-transition: all 0.35s ease-in;
transition: all 0.35s ease-in;
}
.detectype .detectrange .mask a{
color: #fff;
}
.detectype .detectrange .mask h3 {
text-transform: uppercase;
color: #fff;
text-align: center;
font-size: 17px;
padding: 10px;
background: #111111;
background: rgba(12, 34, 52, 0.6);
margin: 30px 0 0 0;
-webkit-transition: all 0.35s ease-in;
-moz-transition: all 0.35s ease-in;
transition: all 0.35s ease-in;
}
.detectype .detectrange .mask p {
font-size: 12px;
position: relative;
color: #bbb;
padding: 20px 20px 20px;
text-align: center;
-webkit-transition: all 0.35s ease-in;
-moz-transition: all 0.35s ease-in;
transition: all 0.35s ease-in;
}
.detectype .detectrange:hover .mask {
visibility: visible;
opacity: 1;
-webkit-transition-delay: 0.2s;
-moz-transition-delay: 0.2s;
transition-delay: 0.2s;
}
.detectype .detectrange:hover .mask h3 {
-webkit-transition-delay: 0.3s;
-moz-transition-delay: 0.3s;
transition-delay: 0.3s;
}
.detectype .detectrange:hover .mask p {
-webkit-transition-delay: 0.25s;
-moz-transition-delay: 0.25s;
transition-delay: 0.25s;
}
.detectype .detectrange .mask {
-webkit-transform: translate(-460px, -100px) rotate(-180deg);
-moz-transform: translate(-460px, -100px) rotate(-180deg);
-ms-transform: translate(-460px, -100px) rotate(-180deg);
-o-transform: translate(-460px, -100px) rotate(-180deg);
transform: translate(-460px, -100px) rotate(-180deg);
}
.detectype .detectrange .mask h3 {
-webkit-transform: translateY(-100px);
-moz-transform: translateY(-100px);
-ms-transform: translateY(-100px);
-o-transform: translateY(-100px);
transform: translateY(-100px);
}
.detectype .detectrange .mask p {
-webkit-transform: translateX(-300px) rotate(-90deg);
-moz-transform: translateX(-300px) rotate(-90deg);
-ms-transform: translateX(-300px) rotate(-90deg);
-o-transform: translateX(-300px) rotate(-90deg);
transform: translateX(-300px) rotate(-90deg);
}
.detectype .detectrange:hover .mask {
-webkit-transform: translate(0px, 0px);
-moz-transform: translate(0px, 0px);
-ms-transform: translate(0px, 0px);
-o-transform: translate(0px, 0px);
transform: translate(0px, 0px);
}
.detectype .detectrange:hover .mask h3 {
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px);
}
.detectype .detectrange:hover .mask p {
-webkit-transform: translateX(0px) rotate(0deg);
-moz-transform: translateX(0px) rotate(0deg);
-ms-transform: translateX(0px) rotate(0deg);
-o-transform: translateX(0px) rotate(0deg);
transform: translateX(0px) rotate(0deg);
}
body{
margin: 0px;
color: #393939;
}
a{
text-decoration: none;
}
input:focus,
textarea:focus{
outline: none;
}
.wrapper:after {
clear: both;
content: '';
display: table;
}
.wrapper {
padding: 0;
max-width: 1200px;
margin: 0 auto;
width: 96%;
}
.header{
background: #ffffff;
position: relative;
z-index: 100;
height: 80px;
}
.header .wrapper .logo{
min-width: 100px;
padding: 0;
text-align: left;
float: left;
}
.header .wrapper .logo a{
display: inline-block;
line-height: 80px;
}
.header .wrapper .logo a img{
border: none;
vertical-align: middle;
}
.header .wrapper .nav{
display: block;
position: relative;
width: auto;
background: none;
float: right;
}
.header .wrapper .nav ul.menu{
list-style: none;
padding: 0;
margin: 0;
display: block;
height: 80px;
line-height: 80px;
}
.header .wrapper .nav ul.menu li{
float: left;
display: inline-block;
height: 30px;
line-height: 30px;
margin: 40px 10px 10px 10px;
}
.header .wrapper .nav ul.menu li a{
font-size: 0.9375rem;
display: block;
height: 30px;
width: 75px;
color: #1f8657;
font-weight: bold;
text-align: center;
}
.header .wrapper .nav ul.menu li a:hover,
.header .wrapper .nav ul.menu li a.active{
color: #393939;
border-bottom: 2px solid #2aad6f;
}
.uptoshow{
margin-top: 20px;
}
.uptoshow .leftrow,
.uptoshow .rightrow{
float: left;
width: 50%;
}
.uptoshow .leftrow{
text-align: right;
}
.uptoshow .rightrow{
text-align: left;
}
.uptoshow .leftrow .wow{
margin-top: 10px;
}
.uptoshow .leftrow .wow img{
height: 40px;
margin-right: 15px;
}
.uptoshow .rightrow .wow img{
max-width: 100%;
margin-left: 15px;
}
.navi-scroll{
position: fixed;
right: 32px;
bottom: 32px;
width: 42px;
min-height: 74px;
z-index: 999;
}
.navi-scroll .navi-scroll-content {
position: relative;
text-align: center;
width: 100%;
height: 100%;
}
.navi-scroll .navi-scroll-content a {
width: 42px;
height: 36px;
display: block;
overflow: hidden;
position: relative;
background-color: #ededed;
}
.navi-scroll .navi-scroll-content a span {
width: 78px;
height: 36px;
color: #fff;
line-height: 36px;
font-size: 14px;
text-align: center;
display: none;
}
.navi-scroll .navi-scroll-content a i {
width: 20px;
height: 20px;
position: absolute;
right: 0;
top: 50%;
background-repeat: no-repeat;
background-position: center center;
}
.navi-scroll .navi-scroll-content .scroll-top-btn i {
width: 20px;
height: 20px;
margin-top: -10px;
right: 11px;
background-image: url("/images/icons/backtop-icon.png");
}
.navi-scroll .navi-scroll-content .scroll-contact-btn i {
width: 18px;
height: 18px;
margin-top: -9px;
right: 12px;
background-image: url("/images/icons/contact-icon.png");
}
.navi-scroll .navi-scroll-content .scroll-order-btn i {
width: 20px;
height: 20px;
margin-top: -9px;
right: 12px;
background-image: url("/images/icons/intent-icon.png");
}
.navi-scroll .navi-scroll-content a:hover {
width: 120px;
margin-left: -78px;
background-color: #47b488;
}
.navi-scroll .navi-scroll-content a:hover span{
display: block;
}
.navi-scroll .navi-scroll-content .scroll-top-btn:hover i {
background-image: url("/images/icons/backtop-icon-active.png");
}
.navi-scroll .navi-scroll-content .scroll-contact-btn:hover i {
background-image: url("/images/icons/contact-icon-active.png");
}
.navi-scroll .navi-scroll-content .scroll-order-btn:hover i {
background-image: url("/images/icons/intent-icon-active.png");
}
.navi-scroll .navi-scroll-content .scroll-contact-btn,
.navi-scroll .navi-scroll-content .scroll-order-btn {
margin-bottom: 2px;
}
.ftcontact.wrapper.wechat{
margin-top: 10px;
}
.ftcontact.wrapper{
padding: 0;
}
.ftcontact .ftphoneicon{
width: 67px;
height: 67px;
line-height: 67px;
background: #2aad6f;
border-radius: 50%;
text-align: center;
float: left;
}
.ftcontact .ftphoneicon span{
background: url(http://www.oppo.com/cn/assets/images/sprite-icons.png);
width: 100%;
height: 100%;
display: inline-block;
background-position: -417px -1px;
background-repeat: no-repeat;
}
.ftcontact.wechat .ftphoneicon span{
background-position: -420px -791px;
height: 50px;
margin-top: 10px;
}
.ftcontact .ftphoneinfo{
text-align: left;
float: left;
margin-left: 15px;
}
.ftcontact .ftphoneinfo h4{
font-size: 20px;
font-size: 1.25rem;
margin: 10px 0 5px 0;
color: #1f8657;
}
.ftcontact .ftphoneinfo p{
margin: 0;
text-align: left;
}
.footer{
padding: 50px 0;
background: #fff;
}
.footer .ftservice{
height: 125px;
list-style-type: none;
overflow: hidden;
}
.footer .ftservice .item{
display: inline-block;
width: 20%;
height: 125px;
zoom: 1;
position: relative;
float: left;
}
.footer .ftservice .item img{
position: absolute;
width: 45px;
height: 45px;
top: 45px;
}
.footer .ftservice .item h5{
position: absolute;
font-size: 18px;
font-weight: bold;
margin: 0;
top: 50px;
left: 50px;
color: rgb(54, 54, 54);
}
.footer .ftservice .item p{
position: absolute;
color: rgb(152, 152, 152);
margin: 0;
font-size: 12px;
left: 50px;
bottom: 40px;
}
.line{
background: #ededed;
height: 1px;
}
.footer .ftlinks{
list-style-type: none;
margin-top: 20px;
}
.footer .ftlinks .ftlink{
width: 20%;
display: inline-block;
float: left;
height: 200px;
}
.footer .ftlinks .ftlink .linktitle{
display: inline-block;
padding: 0;
margin-bottom: 20px;
color: #1f8657;
font-size: 1.125rem;
font-weight: bold;
}
.footer .ftlinks .ftlink ul{
padding: 0;
margin: 0;
list-style-type: none;
}
.footer .ftlinks .ftlink ul li{
}
.footer .ftlinks .ftlink ul li a{
margin: 10px 0;
display: block;
font-size: 15px;
font-size: 0.9375rem;
color: #7b7b7b;
}
.footer .ftlinks .ftlink ul li a:hover{
color: #1f8657;
}
.footer .ftwarp{
margin-top: 20px;
color: #7b7b7b;
font-size: 13px;
font-size: 0.8125rem;
}
.footer .ftwarp .copyright{
width: 45%;
height: 50px;
float: left;
text-align: left;
}
.footer .ftwarp ul{
width: 45%;
height: 50px;
float: right;
list-style-type: none;
margin: 0;
padding: 0;
}
.footer .ftwarp ul li{
float: right;
margin-left: 15px;
}
.footer .ftwarp ul li a{
color: #7b7b7b;
}
.footer .ftwarp ul li a:hover{
color: #1f8657;
}
.pagination {
margin: 10px auto;
overflow: hidden;
padding: 10px 0;
}
.pagination li{
display: inline-block;
margin: auto 2px;
}
.pagination li.disabled a{
background-color: #cccccc;
}
.pagination li.active a{
border: 1px solid #398439;
color: #ffffff;
background-color: #00AA91;
}
.pagination a {
border: 1px solid #cccccc;
color: #666666;
height: 26px;
line-height: 26px;
display: inline-block;
padding: 0 10px;
}
.pagination li.disabled a:hover,
.pagination li.disabled a:active{
color: #666666;
}
.pagination a:hover,
.pagination a:active {
color: #990000;
}
.banner{
overflow: hidden;
background-repeat: no-repeat;
-webkit-background-size: cover;
background-size: cover;
background-position: 50% 50%;
width:100%;
height: 300px;
position: relative;
}
.inside{
padding-top: 50px;
}
.inside .inside-left{
width: 25%;
float: left;
}
.inside .inside-left .top{
height: 60px;
background: #2aad6f;
color: #ffffff;
text-align: center;
line-height: 60px;
font-size: 24px;
font-weight: bold;
}
.inside .inside-left ul{
margin: 0;
list-style: none;
padding: 0;
}
.inside .inside-left ul li{
padding: 0 10px;
margin-top: 10px;
border: 1px solid #ededed;
background: #ffffff;
height: 35px;
line-height: 35px;
}
.inside .inside-left ul li a{
display: inline-block;
width: 100%;
height: 100%;
font-weight: bold;
color: #333333;
}
.inside .inside-left ul li:hover,
.inside .inside-left ul li.active{
background: #2aad6f;
}
.inside .inside-left ul li:hover a,
.inside .inside-left ul li.active a{
color: #ffffff;
}
.inside .inside-right{
width: 75%;
float: left;
}
.inside .inside-right .detail{
padding-left: 20px;
}
.inside .inside-right .detail .title{
height: 40px;
border-bottom: 1px solid #ededed;
margin-bottom: 20px;
}
.inside .inside-right .detail .title h3{
margin: 0;
}
.inside .inside-right .detail .title small{
float: right;
}
.inside .inside-right .detail .title small a{
color: #7b7b7b;
}
.inside .inside-right .detail .title small a:hover{
color: #1f8657;
}
.inside .inside-right .detail .preview{
}
.inside .inside-right .detail .preview .item{
cursor: pointer;
margin-bottom: 50px;
position: relative;
height: 150px;
padding-bottom: 10px;
border-bottom: 1px solid #ccc;
}
.inside .inside-right .detail .preview .item img{
max-width: 200px;
}
.inside .inside-right .detail .preview .item .posth4{
position: absolute;
left: 220px;
top: 0;
margin: 0;
font-size: 18px;
}
.inside .inside-right .detail .preview .item .posth4 a{
color: #1f8657;
}
.inside .inside-right .detail .preview .item .posth4 a:hover,
.inside .inside-right .detail .preview .item .posth4 a:visited{
color: #1f8657;
}
.inside .inside-right .detail .preview .item .postdesc{
position: absolute;
left: 220px;
top: 30px;
line-height: 22px;
}
.inside .inside-right .detail .preview p,
.inside .inside-right .detail .preview li{
line-height: 30px;
margin: 0.5em auto;
}
.inside .inside-right .detail .preview li{
line-height: 26px;
}
.inside .inside-right .detail .preview img{
max-width: 100%;
}
.inside .inside-right .detail .preview .mp4 video,
.inside .inside-right .detail .preview .mp4 object,
.inside .inside-right .detail .preview .mp4 object img{
width: 100%;
height: auto;
}
.inside .inside-right .detail .preview form .field{
margin: auto auto 20px auto;
}
.inside .inside-right .detail .preview form .field label{
width: 70px;
display: inline-block;
vertical-align: middle;
overflow: hidden;
font-size: 14px;
padding: 0 20px 0 0;
}
.inside .inside-right .detail .preview form .field input,
.inside .inside-right .detail .preview form .field textarea{
width: 320px;
line-height: 20px;
border: 1px solid #2aad6f;
font-size: 12px;
padding: .5em .8em;
border-radius: 2px;
vertical-align: middle;
background: #ffffff;
}
.inside .inside-right .detail .preview form .field input.captcha{
width: 160px;
}
.inside .inside-right .detail .preview form .field input.submit{
width: 120px;
padding: 0 30px;
border: none;
color: #fff;
background-color: #2aad6f;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
line-height: 34px;
font-size: 14px;
cursor: pointer;
}
.inside .inside-right .detail .preview form .field textarea{
height: 120px;
resize: none;
}
.captionOrange, .captionBlue, .captionBlack, .captionSymbol
{
display: block;
color: #fff;
/*font-size: 20px;*/
font-size: 18px;
line-height: 30px;
text-align: center;
border-radius: 4px;
}
.captionOrange
{
background: #EB5100;
background-color: rgba(235, 81, 0, 0.6);
}
.captionBlue
{
background: #746FBD;
background-color: rgba(21, 21, 120, 0.6);
}
.captionBlack
{
background: #000;
background-color: rgba(0, 0, 0, 0.4);
}
.captionSymbol
{
border-radius: 100px !important;
font-weight: 400 !important;
font-size: 26px !important;
background: #000;
background-color: rgba(0, 0, 0, 0.4);
}
.captionTextBlack
{
display: block;
color: #000;
font-size: 20px;
line-height: 30px;
}
.captionTextWhite
{
display: block;
color: #fff;
font-size: 20px;
line-height: 30px;
}
a.captionOrange, a.captionOrange:active, a.captionOrange:visited,a.captionTextWhite, a.captionTextWhite:active, a.captionTextWhite:visited
{
color: #fff;
text-decoration: none;
}
a.captionOrange:hover
{
color: #eb5100;
text-decoration: underline;
background-color: #eeeeee;
background-color: rgba(238, 238, 238, 0.7);
}
a.captionTextBlack, a.captionTextBlack:active, a.captionTextBlack:visited
{
color: #000;
text-decoration: none;
}
a.captionTextWhite:hover
{
color: #eb5100;
text-decoration: underline;
}
a.captionTextBlack:hover
{
color: #eb5100;
text-decoration: underline;
}
.jssorb01 {
position: absolute;
}
.jssorb01 div, .jssorb01 div:hover, .jssorb01 .av {
position: absolute;
/* size of bullet elment */
width: 12px;
height: 12px;
filter: alpha(opacity=70);
opacity: .7;
overflow: hidden;
cursor: pointer;
border: #000 1px solid;
}
.jssorb01 div { background-color: gray; }
.jssorb01 div:hover, .jssorb01 .av:hover { background-color: #d3d3d3; }
.jssorb01 .av { background-color: #fff; }
.jssorb01 .dn, .jssorb01 .dn:hover { background-color: #555555; }
.jssorb17 {
position: absolute;
}
.jssorb17 div, .jssorb17 div:hover, .jssorb17 .av {
position: absolute;
/* size of bullet elment */
width: 16px;
height: 16px;
background: url(/images/banner/b17.png) no-repeat;
overflow: hidden;
cursor: pointer;
}
.jssorb17 div { background-position: -7px -7px; }
.jssorb17 div:hover, .jssorb17 .av:hover { background-position: -37px -7px; }
.jssorb17 .av { background-position: -67px -7px; }
.jssorb17 .dn, .jssorb17 .dn:hover { background-position: -97px -7px; }
.jssora05l, .jssora05r {
display: block;
position: absolute;
/* size of arrow element */
width: 40px;
height: 40px;
cursor: pointer;
background: url(/images/banner/a17.png) no-repeat;
overflow: hidden;
}
.jssora05l { background-position: -10px -40px; }
.jssora05r { background-position: -70px -40px; }
.jssora05l:hover { background-position: -130px -40px; }
.jssora05r:hover { background-position: -190px -40px; }
.jssora05l.jssora05ldn { background-position: -250px -40px; }
.jssora05r.jssora05rdn { background-position: -310px -40px; }
.jssorb05 {
position: absolute;
}
.jssorb05 div, .jssorb05 div:hover, .jssorb05 .av {
position: absolute;
/* size of bullet elment */
width: 16px;
height: 16px;
background: url(/images/banner/b05.png) no-repeat;
overflow: hidden;
cursor: pointer;
}
.jssorb05 div { background-position: -7px -7px; }
.jssorb05 div:hover, .jssorb05 .av:hover { background-position: -37px -7px; }
.jssorb05 .av { background-position: -67px -7px; }
.jssorb05 .dn, .jssorb05 .dn:hover { background-position: -97px -7px; }
.jssora22l, .jssora22r {
display: block;
position: absolute;
/* size of arrow element */
width: 40px;
height: 58px;
cursor: pointer;
background: url(/images/banner/a22.png) center center no-repeat;
overflow: hidden;
}
.jssora22l { background-position: -10px -31px; }
.jssora22r { background-position: -70px -31px; }
.jssora22l:hover { background-position: -130px -31px; }
.jssora22r:hover { background-position: -190px -31px; }
.jssora22l.jssora22ldn { background-position: -250px -31px; }
.jssora22r.jssora22rdn { background-position: -310px -31px; }
.service .block{
margin-bottom: 80px;
}
.service .block.blocklast{
margin-bottom: 0px;
}
.service .block:after {
clear: both;
}
.service .block:before, .service .block:after {
display: table;
line-height: 0;
content: "";
}
.service .block .imgblock{
float: left;
margin-right: 20px;
}
.service .block .imgblock.r{
margin-left: 20px;
float: right;
}
.service .block .imgblock img{
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
-ms-border-radius: 10px;
-o-border-radius: 10px;
border-radius: 10px;
}
.service .block .txtblock{
/*float: left;*/
}
.service .block .txtblock h3{
font-size: 26px;
margin: 0;
opacity: .99;
text-transform: uppercase;
color: #475f75;
font-weight: normal;
}
.service .block .txtblock p{
font-size: 15px;
margin: 10px 0 0;
line-height: 23px;
color: #666666;
font-weight: lighter;
}
/*.service .block .txtblock ul{
display: block;
padding: 0;
list-style: outside;
width: 95%;
}
.service .block .txtblock ul li{
font-size: 15px;
line-height: 23px;
display: list-item;
text-align: -webkit-match-parent;
color: #666666;
}*/
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :subdomain_filter, :key_words_filter
def key_words_filter
title_arr = ['诺正检测 | NORMZ TESTING']
keywords_arr = ['诺正', '山东诺正', '诺正检测', '食品检测', '消防检测', '第三方检测', '环境检测', '农产品检测', '肉制品检测', 'CANS认证']
# description
if (chan = params[:chan]).present?
@chan = Post::CATE[chan] # => {name: '招贤纳士', cate: {'shzp' => '社会招聘''xyzp' => '校园招聘'}}
@chan_name = @chan[:name]
@cates = @chan[:cate] # 找到当前频道下的所有类别, 用作左侧导航
@cate_name = @cates[params[:cate]] # 当前类别的中文名称
title_arr.unshift(@chan_name) if @chan_name.present?
title_arr.unshift(@cate_name) if @cate_name
end
@title = title_arr.join(" - ")
@keywords = keywords_arr.join(",")
# @description = "诺正检测是独立的第三方检测公司,具有省级资质及农业行业机构的认证,主要从事食品检测、消防检测、环境检测及农产品、饲料、肥料、水产养殖、畜牧产品等领域的检验检测,以及相关技术咨询、培训、研发。"
@description = "诺正检测是在中国科学院沈阳应用生态研究所技术支持下成立的综合性第三方检测公司,是通过山东省级资质认定及农业行业机构认证的第三方检验机构,主要从事食品、农产品、环境、饲料、肥料及水产养殖、畜牧产品、消防设施等领域的检验检测,以及相关技术咨询、培训、研发。"
end
def subdomain_filter
subdomain = request.subdomain
ismobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.match(request.user_agent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.match(request.user_agent[0..3])
# 不存在www的情况 subdomain != 'www'
if params[:type] != 'api'
if Rails.env.production? and ismobile and subdomain.blank?
# redirect_to 'http://h5.normz.cn/#/app/' + request.path
url = request.url.to_s.sub('normz.cn/', 'h5.normz.cn/#/app/')
if url == 'http://h5.normz.cn/#/app/'
url = 'http://h5.normz.cn/#/app/home'
end
redirect_to url
end
# if subdomain.present? and !@ismobile
# redirect_to request.url.to_s.sub('h5.localhost:3001/#/', 'localhost:3001/')
# end
end
end
end
class HomeController < ApplicationController
def index
end
# /:chan/:cate/:flag
def show
if @cate.blank?
@cate = params[:cate] || @cates.keys[0]# 如果没有类别, 默认第一个为当前类别
@cate_name = @cates[@cate]# 当前类别的中文名称
end
@posts = Post.where(isdel: false, chan: params[:chan], cate: @cate).page(params[:page]).per(5).order('id desc')
unless params[:page].to_i > 1
@post = @posts.first if @posts.length == 1
@post = @posts.find_by_flag(params[:flag]) if params[:flag].present?
# 网页关键词
if @post and @post.words
keywords = @post.words.split(",") + @keywords.split(",")
keystr = keywords.uniq.join(",")
if keystr.length > 100 # 如果长度大于200截取, 删掉最后一个
keywords = keystr[0..100].split(",")
keywords.pop
keystr = keywords.join(',')
end
@keywords = keystr
if params[:flag].present?
@title = @post.title + " 诺正检测 | NORMZ TESTING"
end
end
end
if params[:type] == 'api'
posts = @posts.map do |post|
img = post.detail.scan(/<img[^>]+src\s*=\s*(['\"][^'\"]+['\"])[^>]*>/).flatten.first.gsub(/\"/, '') rescue '/images/default_200x150.jpg'
detail = post.detail.gsub(/<\/?.*?>/,"")[0..120]
{title: post.title, flag: post.flag, detail: post.detail, sub_detail: detail, img: img}
end
post = {title: @post.title, flag: @post.flag, detail: @post.detail} if @post
render json: {code: 200, posts: posts, post: post}
end
end
end
\ No newline at end of file
class MobileController < ApplicationController
def index
end
end
\ No newline at end of file
class PostsController < ApplicationController
before_filter :current_user, except: [:sign_in]
# GET /posts
# GET /posts.json
def index
sort = []
params[:screa] ||= 'desc'
{scate: :cate, schan: :chan, screa: :created_at}.each do |key, val|
if params[key].present?
sort.push(params[key] == "desc" ? "#{val} desc" : "#{val} asc")
end
end
@posts = Post.where(isdel: false).page(params[:page]).per(20).order(sort.join(', '))
respond_to do |format|
format.html # index.html.erb
format.json { render json: @posts }
end
end
# GET /posts/1
# GET /posts/1.json
def show
@post = Post.find_by_flag(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @post }
end
end
# GET /posts/new
# GET /posts/new.json
def new
@post = Post.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @post }
end
end
# GET /posts/1/edit
def edit
@post = Post.find_by_flag(params[:id])
end
# POST /posts
# POST /posts.json
def create
@post = Post.new(params[:post])
respond_to do |format|
if @post.save
format.html { redirect_to @post, notice: '文章创建成功.' }
format.json { render json: @post, status: :created, location: @post }
else
format.html { render action: "new" }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
# PUT /posts/1
# PUT /posts/1.json
def update
@post = Post.find_by_flag(params[:id])
respond_to do |format|
if @post.update_attributes(params[:post])
format.html { redirect_to @post, notice: '文章修改成功.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
# DELETE /posts/1
# DELETE /posts/1.json
def destroy
@post = Post.find_by_flag(params[:id])
@post.update_attributes(isdel: true) if @post
redirect_to :back
end
# 上传图片
def upload
if params[:upload_file].present?
upload = params[:upload_file]
ext = File.extname(upload.original_filename).downcase
picture = Picture.create(filename: upload.original_filename)
system("convert #{upload.tempfile.path} -auto-orient -resize '1000>' -gravity center -strip -quality 85 -format jpg public/uploads/#{picture.id}.jpg")
# 有一个2:1.5的缩略图裁剪 最宽200
# File.open("public/uploads/#{picture.id}#{ext}", "wb") { |f| f.write(upload.read) }
render json: {success: true, msg: '上传成功', file_path: "/uploads/#{picture.id}.jpg"}
else
render json: {success: false, msg: '上传错误,联系管理员', file_path: '/images/logo.png'}
end
end
def sign_in
if request.post?
if params[:username] == 'normz' and params[:password] == 'normz-nuozheng'
session[:current_user] = 'normz'
redirect_to posts_path
else
flash[:notice] = '账号或密码错误'
redirect_to :sign_in
end
end
end
def sign_out
session[:current_user] = nil
redirect_to root_path
end
private
def current_user
unless session[:current_user] == 'normz'
redirect_to :sign_in and return
end
end
end
module ApplicationHelper
end
module PostsHelper
end
File mode changed
File mode changed
class Picture < ActiveRecord::Base
attr_accessible :filename
end
class Post < ActiveRecord::Base
attr_accessible :title, :flag, :detail, :chan, :cate, :words, :parent_id, :isdel
CATE = {
'ranges' => {
name: '诺正业务',
cate: {
# 'kyly' => '科研领域',
'spncp' => '食品/农产品检测',
# 'ncpjc' => '农产品检测',
# 'rzpjc' => '肉制品检测',
'hjjc' => '环境检测',
# 'swjc' => '生物检测',
# 'yyjc' => '医药检测',
'xfjc' => '消防检测',
'rhpjc' => '日化品检测',
'hfsl' => '化肥/饲料检测',
'sfjd' => '环境损害司法鉴定',
# 'jtjjc' => '添加剂检测',
}
},
'sources' => {
name: '资源中心',
cate: {
# 'zscx' => '证书查询',
'bgcx' => '报告查询',
'wssj' => '网上送检'
}
},
'dynamics' => {
name: '诺正动态',
cate: {
'gsdt' => '公司动态',
'hykx' => '行业快讯',
'pxxx' => '培训学习'
}
},
'cultures' => {
name: '诺正文化',
cate: {
'jzg' => '诺正价值观',
# 'hj' => '诺正环境',
# 'yj' => '诺正愿景',
# 'ygfc' => '员工风采',
# 'zd' => '诺正制度',
'js' => '诺正精神'
}
},
'abouts' => {
name: '关于诺正',
cate: {
'gsjj' => '公司简介',
'jclc' => '检测流程',
'yjss' => '硬件设施',
'fwcn' => '服务承诺',
# 'lxwm' => '联系我们'
}
},
'contact' => {
name: '联系我们',
cate: {
'lxdz' => '联系地址'
}
},
'jobs' => {
name: '招贤纳士',
cate: {
'shzp' => '社会招聘',
'xyzp' => '校园招聘'
}
}
}
BaseArr = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
validates_presence_of :title, :detail, :chan, :cate, message: '不能为空'
validates_uniqueness_of :flag, allow_blank: true, message: '已存在'
def to_param
flag
end
def flag=(val)
if flag.blank?
write_attribute(:flag, val.blank? ? shorturl : val)
else
if flag != val and val.present?
write_attribute(:flag, val)
end
end
end
def shorturl
hex = Digest::MD5.hexdigest("base_key" + Time.now.to_f.to_s)
output = []
4.times do |i|
str = hex[(i * 8)...(8 * (i + 1))]
int = 0x3FFFFFFF & ('0x' + str).to_i(16)
out = ''
6.times do
out += BaseArr[0x0000003D & int]
int = int >> 5
end
output << out
end
output.sort_by{rand}[0]
end
end
<div style="position: relative; top: 0px; left: 0px; width:100%; text-align: center; background-image: url(/images/banner/back-dice-02.jpg); border-top: 1px solid gray; border-bottom: 1px solid gray; overflow: hidden;">
<!-- Jssor Slider Begin -->
<!-- To move inline styles to css file/block, please specify a class name for each element. -->
<div id="sliderc_container" style="position: relative; margin: 0 auto; width: 960px;
height: 450px; text-align: left; overflow: hidden;">
<!-- Slides Container -->
<div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 960px; height: 450px;
overflow: hidden;">
<div>
<!-- Jssor Slider Begin -->
<!-- To move inline styles to css file/block, please specify a class name for each element. -->
<div id="slider1_container" style="position: relative; top: 90px; left: 0px; width: 600px;
height: 300px; overflow: hidden; border-radius: 8px;">
<!-- Loading Screen -->
<div u="loading" style="position: absolute; top: 0px; left: 0px;">
<div style="filter: alpha(opacity=70); opacity:0.7; position: absolute; display: block;
background-color: #000; top: 0px; left: 0px;width: 100%;height:100%;">
</div>
<div style="position: absolute; display: block; background: url(/images/banner/loading.gif) no-repeat center center;
top: 0px; left: 0px;width: 100%;height:100%;">
</div>
</div>
<!-- Slides Container -->
<div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 600px; height: 300px; overflow: hidden;">
<div>
<a u="image" href="/dynamics/gsdt/iuIvaa">
<img src="/images/banner/1-1.jpg" alt="image slider" />
</a>
<div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:420px; height:30px;">
中科院沈阳应用生态研究所成立农产品安全山东中心
</div>
</div>
<div>
<a u="image" href="javascript:void(0);">
<img src="/images/banner/1-2.jpg" alt="jqeury image slider" />
</a>
<div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:420px; height:30px;">
中科院沈阳应用生态研究所为诺正检测进行技术培训
</div>
</div>
<div>
<a u="image" href="javascript:void(0);">
<img src="/images/banner/1-3.jpg" alt="responsive image slider" />
</a>
<div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:350px; height:30px;">
潍坊市科技局长与食药局长为诺正检测揭牌
</div>
</div>
<div>
<a u="image" href="/abouts/yjss/devices">
<img src="/images/banner/1-4.jpg" alt="touch swipe image slider" />
</a>
<div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:350px; height:30px;">
诺正检测投入巨资引进国外先进检测设备
</div>
</div>
</div>
<!--#region Bullet Navigator Skin Begin -->
<!-- bullet navigator container -->
<div u="navigator" class="jssorb17" style="bottom: 16px; right: 10px;">
<!-- bullet navigator item prototype -->
<div u="prototype"></div>
</div>
<!--#endregion Bullet Navigator Skin End -->
<!-- Arrow Left -->
<span u="arrowleft" class="jssora05l" style="top: 123px; left: 8px;">
</span>
<!-- Arrow Right -->
<span u="arrowright" class="jssora05r" style="top: 123px; right: 8px;">
</span>
<!--#endregion Arrow Navigator Skin End -->
<a style="display: none" href="javascript:void(0);">Image Slider</a>
</div>
<!-- Jssor Slider End -->
<div u="caption" t="RTT*JUP|BR" t2="SPACESHIP|RB" style="position: absolute; left: 0px;top:30px;width:600px;height:30px;font-size:28px;color:#fff;line-height:30px; text-align: center;">
诺正检测,质量和安全的保障
</div>
<div style="position: absolute; top: 110px; left: 640px; width: 320px; height: 250px;">
<div u="caption" t="TEAM_1" d="-200" du="50%" class="captionSymbol" style="position: absolute; top: 10px; left: 0px; width: 30px; height: 30px;">+</div>
<div u="caption" t="TEAM_1" d="-200" y="100%" class="captionOrange" style="position: absolute; top: 10px; left: 40px; width: 280px; height: 30px;">
国家级认定权威检测机构
</div>
<div u="caption" t="TEAM_1" d="-200" du="50%" class="captionSymbol" style="position: absolute; top: 60px; left: 0px; width: 30px; height: 30px;" debug-id="team-caption">+</div>
<div u="caption" t="TEAM_1" d="-200" y="50%" class="captionOrange" style="position: absolute; top: 60px; left: 40px; width: 280px; height: 30px;">
独立的第三方检测机构
</div>
<div u="caption" t="TEAM_1" d="-200" du="50%" class="captionSymbol" style="position: absolute; top: 110px; left: 0px; width: 30px; height: 30px;">+</div>
<div u="caption" t="TEAM_1" d="-200" y="0" class="captionOrange" style="position: absolute; top: 110px; left: 40px; width: 280px; height: 30px;">
一期资金投入5000万人民币
</div>
<div u="caption" t="TEAM_1" d="-200" du="50%" class="captionSymbol" style="position: absolute; top: 160px; left: 0px; width: 30px; height: 30px;">+</div>
<div u="caption" t="TEAM_1" d="-200" y="-50%" class="captionOrange" style="position: absolute; top: 160px; left: 40px; width: 280px; height: 30px;">
实验室面积2000平方米
</div>
<div u="caption" t="TEAM_1" d="-200" du="50%" class="captionSymbol" style="position: absolute; top: 210px; left: 0px; width: 30px; height: 30px;">+</div>
<div u="caption" t="TEAM_1" d="-200" y="-100%" class="captionOrange" style="position: absolute; top: 210px; left: 40px; width: 280px; height: 30px;">
诚信、公正、科学、高效
</div>
</div>
</div>
<div>
<!-- Jssor Slider Begin -->
<!-- To move inline styles to css file/block, please specify a class name for each element. -->
<div id="slider2_container" style="position: relative; top: 30px; left: 360px; width: 600px;
height: 300px; overflow: hidden; border-radius: 8px; zoom: 1; filter: matrix">
<!-- Loading Screen -->
<div u="loading" style="position: absolute; top: 0px; left: 0px;">
<div style="filter: alpha(opacity=70); opacity:0.7; position: absolute; display: block;
background-color: #000; top: 0px; left: 0px;width: 100%;height:100%;">
</div>
<div style="position: absolute; display: block; background: url(/images/banner/loading.gif) no-repeat center center;
top: 0px; left: 0px;width: 100%;height:100%;">
</div>
</div>
<!-- Slides Container -->
<div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 600px; height: 300px;
overflow: hidden;">
<div>
<a u=image href="/dynamics/gsdt/2E77vy">
<img src="/images/banner/2-1.jpg" alt="banner rotator" />
</a>
<div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:300px; height:30px;">
潍坊市市长视察指导工作
</div>
</div>
<div>
<a u=image href="http://wfrb.wfnews.com.cn/content/20160109/Articel02006TB.htm" target="_blank">
<img src="/images/banner/2-2.jpg" alt="jquery banner rotator" />
</a>
<div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:300px; height:30px;">
潍坊日报报道诺正检测公司
</div>
</div>
<div>
<a u=image href="/dynamics/pxxx/6Zj22y">
<img src="/images/banner/2-3.jpg" alt="responsive banner rotator" />
</a>
<div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:430px; height:30px;">
中科院沈阳应用生态研究所主任王颜红为同事解答疑惑
</div>
</div>
<div>
<a u=image href="javascript:void(0);">
<img src="/images/banner/2-4.jpg" alt="touch swipe banner rotator" />
</a>
<div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:300px; height:30px;">
人们放心的笑容是我们一直追求
</div>
</div>
</div>
<!--#region Bullet Navigator Skin Begin -->
<!-- bullet navigator container -->
<div u="navigator" class="jssorb17" style="bottom: 16px; right: 10px;">
<!-- bullet navigator item prototype -->
<div u="prototype"></div>
</div>
<!--#endregion Bullet Navigator Skin End -->
<!--#region Arrow Navigator Skin Begin -->
<!-- Arrow Left -->
<span u="arrowleft" class="jssora05l" style="top: 123px; left: 8px;">
</span>
<!-- Arrow Right -->
<span u="arrowright" class="jssora05r" style="top: 123px; right: 8px;">
</span>
<!--#endregion Arrow Navigator Skin End -->
<a style="display: none" href="javascript:void(0);">Image Slider</a>
</div>
<!-- Jssor Slider End -->
<div u="caption" t="T|IE*IE" t2="B*IB" style="position: absolute; left: 360px;top:360px;width:600px;height:30px;font-size:28px;color:#fff;line-height:30px; text-align: center;">
高质高效是诺正不变的承诺
</div>
<a class="captionTextBlack" u="caption" t="CLIP|L" d="-200" href="javascript:void(0);" style="position: absolute; top: 30px; left: 0px; width: 320px; height: 30px; font-size: 26px; background-color:transparent;">获得政府的大力支持</a>
<div u="caption" t="ZM" t2="NO" style="position: absolute; top: 80px; left: 0px; width: 320px; height: 80px;">
<div u="caption" t2="TEAM_2" class="captionOrange" style="position: absolute; top: 0px; left: 0px; width: 230px; height: 30px;">
潍坊市政府
</div>
<div u="caption" t2="TEAM_2" class="captionBlack" style="position: absolute; top: 40px; left: 0px; width: 100px; height: 30px;">
潍坊科技局
</div>
<div u="caption" t2="TEAM_2" class="captionBlack" style="position: absolute; top: 40px; left: 130px; width: 100px; height: 30px;">
潍坊农业局
</div>
</div>
<a class="captionTextBlack" u="caption" t="L|EP" href="javascript:void(0);" style="position: absolute; top: 210px; left: 0px; width: 320px; height: 30px; font-size: 26px; background-color:transparent;">社会各界的广泛关注</a>
<div u="caption" t="B*IB" t2="NO" style="position: absolute; top: 260px; left: 0px; width: 320px; height: 80px;">
<div u="caption" t2="TEAM_2" class="captionOrange" style="position: absolute; top: 0px; left: 0px; width: 230px; height: 30px;">
潍坊日报
</div>
<div u="caption" t2="TEAM_2" class="captionBlack" style="position: absolute; top: 40px; left: 0px; width: 100px; height: 30px;">
漫拍网
</div>
<div u="caption" t2="TEAM_2" class="captionBlack" style="position: absolute; top: 40px; left: 130px; width: 100px; height: 30px;">
凤凰山东
</div>
</div>
</div>
<div>
<!-- Jssor Slider Begin -->
<!-- To move inline styles to css file/block, please specify a class name for each element. -->
<div id="slider3_container" style="position: relative; top: 90px; left: 360px; width: 600px;
height: 300px; overflow: hidden; border-radius: 8px;">
<!-- Loading Screen -->
<div u="loading" style="position: absolute; top: 0px; left: 0px;">
<div style="filter: alpha(opacity=70); opacity:0.7; position: absolute; display: block;
background-color: #000; top: 0px; left: 0px;width: 100%;height:100%;">
</div>
<div style="position: absolute; display: block; background: url(/images/banner/loading.gif) no-repeat center center;
top: 0px; left: 0px;width: 100%;height:100%;">
</div>
</div>
<!-- Slides Container -->
<div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 600px; height: 300px;
overflow: hidden;">
<div>
<a u=image href="javascript:void(0);">
<img src="/images/banner/3-1.jpg" alt="banner slider" />
</a>
<div u="thumb">开放式管理,节日福利,五险一金</div>
</div>
<div>
<a u=image href="javascript:void(0);">
<img src="/images/banner/3-2.jpg" alt="jquery banner slider" />
</a>
<div u="thumb">团建活动频繁到惨无人道</div>
</div>
<div>
<a u=image href="javascript:void(0);">
<img src="/images/banner/3-3.jpg" alt="responsive banner slider" />
</a>
<div u="thumb">工作气氛自由,同事三观正常相貌端庄</div>
</div>
<div>
<a u=image href="javascript:void(0);">
<img src="/images/banner/3-4.jpg" alt="touch swipe banner slider" />
</a>
<div u="thumb">高大上的办公环境给你无尽享受</div>
</div>
</div>
<!--#region Thumbnail Navigator Skin Begin -->
<!-- thumbnail navigator container -->
<div u="thumbnavigator" class="slider3-T" style="position: absolute; bottom: 0px; left: 0px; height:45px; width:600px;">
<div style="filter: alpha(opacity=40); opacity:0.4; position: absolute; display: block;
background-color: #000; top: 0px; left: 0px; width: 100%; height: 100%;">
</div>
<!-- Thumbnail Item Skin Begin -->
<div u="slides">
<div u="prototype" style="POSITION: absolute; WIDTH: 600px; HEIGHT: 45px; TOP: 0; LEFT: 0;">
<div u="thumbnailtemplate" style="font-family: verdana; font-weight: normal; POSITION: absolute; WIDTH: 100%; HEIGHT: 100%; TOP: 0; LEFT: 0; color:#fff; line-height: 45px; font-size:20px; padding-left:10px;"></div>
</div>
</div>
<!-- Thumbnail Item Skin End -->
</div>
<!--#endregion ThumbnailNavigator Skin End -->
<!--#region Bullet Navigator Skin Begin -->
<!-- bullet navigator container -->
<div u="navigator" class="jssorb01" style="bottom: 16px; right: 10px;">
<!-- bullet navigator item prototype -->
<div u="prototype"></div>
</div>
<!--#endregion Bullet Navigator Skin End -->
<!--#region Arrow Navigator Skin Begin -->
<!-- Arrow Left -->
<span u="arrowleft" class="jssora05l" style="top: 123px; left: 8px;">
</span>
<!-- Arrow Right -->
<span u="arrowright" class="jssora05r" style="top: 123px; right: 8px;">
</span>
<!--#endregion Arrow Navigator Skin End -->
<a style="display: none" href="javascript:void(0);">Image Slider</a>
</div>
<!-- Jssor Slider End -->
<div u="caption" t="L*IB" t2="SPACESHIP|LB" style="position: absolute; left: 360px;top:30px;width:600px;height:30px;font-size:28px;color:#fff;line-height:30px; text-align: center;">
科学严谨, 服务至上
</div>
<div class="captionTextBlack" u="caption" t="CLIP|LR" d="-200"
style="position: absolute; top: 60px; left: 0px; width: 320px; height: 30px; font-size: 26px; background-color:transparent;">我们的团队</div>
<div u="caption" t2="ZM" style="position: absolute; top: 120px; left: 0px; width: 320px; height: 120px;">
<div u="caption" class="captionOrange" t="TEAM_2" t2="NO" d=-300 style="position: absolute; top: 0px; left: 0px; width: 200px; height: 30px;">
共同事业, 共同奋斗
</div>
<div u="caption" class="captionBlack" t="TEAM_2" t2="NO" d=-300 style="position: absolute; top: 40px; left: 0px; width: 200px; height: 30px;">
因为专注, 所以专业
</div>
<div u="caption" class="captionBlack" t="TEAM_2" t2="NO" d=-300 style="position: absolute; top: 80px; left: 00px; width: 200px; height: 30px;">
科学严谨, 服务至上
</div>
</div>
<div u="caption" t="RTT|360" t2="NO" style="position: absolute; top: 290px; left: 0px; width: 320px; height: 80px;">
<div u="caption" class="captionOrange" t2="TEAM_2" style="position: absolute; top: 0px; left: 0px; width: 120px; height: 30px;">
高级职称6人
</div>
<div u="caption" class="captionOrange" t2="TEAM_2" style="position: absolute; top: 40px; left: 0px; width: 120px; height: 30px;">
中级职称10人
</div>
<div u="caption" class="captionBlack" t2="TEAM_2" style="position: absolute; top: 0px; left: 170px; width: 120px; height: 30px;">
初级职称10人
</div>
<div u="caption" class="captionBlack" t2="TEAM_2" style="position: absolute; top: 40px; left: 170px; width: 120px; height: 30px;">
其他6人
</div>
</div>
</div>
</div>
<!-- bullet navigator container -->
<div data-u="navigator" class="jssorb05" style="bottom:16px;right:16px;" data-autocenter="1">
<!-- bullet navigator item prototype -->
<div data-u="prototype" style="width:16px;height:16px;"></div>
</div>
<!--#endregion Bullet Navigator Skin End -->
<!-- Arrow Left -->
<span u="arrowleft" class="jssora22l" style="top: 123px; left: 8px;">
</span>
<!-- Arrow Right -->
<span u="arrowright" class="jssora22r" style="top: 123px; right: 8px;">
</span>
<!--#endregion Arrow Navigator Skin End -->
<a style="display: none" href="javascript:void(0);">Image Slider</a>
<!-- Trigger -->
</div>
<!-- Jssor Slider End -->
</div>
<script>
jssor_sliderc_starter = function (containerId) {
var _SlideshowTransitions = [
//Fade Twins
{ $Duration: 700, $Opacity: 2, $Brother: { $Duration: 1000, $Opacity: 2 } },
//Rotate Overlap
{ $Duration: 1200, $Zoom: 11, $Rotate: -1, $Easing: { $Zoom: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Round: { $Rotate: 0.5 }, $Brother: { $Duration: 1200, $Zoom: 1, $Rotate: 1, $Easing: $JssorEasing$.$EaseSwing, $Opacity: 2, $Round: { $Rotate: 0.5 }, $Shift: 90 } },
//Switch
{ $Duration: 1400, x: 0.25, $Zoom: 1.5, $Easing: { $Left: $JssorEasing$.$EaseInWave, $Zoom: $JssorEasing$.$EaseInSine }, $Opacity: 2, $ZIndex: -10, $Brother: { $Duration: 1400, x: -0.25, $Zoom: 1.5, $Easing: { $Left: $JssorEasing$.$EaseInWave, $Zoom: $JssorEasing$.$EaseInSine }, $Opacity: 2, $ZIndex: -10 } },
//Rotate Relay
{ $Duration: 1200, $Zoom: 11, $Rotate: 1, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Round: { $Rotate: 1 }, $ZIndex: -10, $Brother: { $Duration: 1200, $Zoom: 11, $Rotate: -1, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Round: { $Rotate: 1 }, $ZIndex: -10, $Shift: 600 } },
//Doors
{ $Duration: 1500, x: 0.5, $Cols: 2, $ChessMode: { $Column: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2, $Brother: { $Duration: 1500, $Opacity: 2 } },
//Rotate in+ out-
{ $Duration: 1500, x: -0.3, y: 0.5, $Zoom: 1, $Rotate: 0.1, $During: { $Left: [0.6, 0.4], $Top: [0.6, 0.4], $Rotate: [0.6, 0.4], $Zoom: [0.6, 0.4] }, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Top: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Brother: { $Duration: 1000, $Zoom: 11, $Rotate: -0.5, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Shift: 200 } },
//Fly Twins
{ $Duration: 1500, x: 0.3, $During: { $Left: [0.6, 0.4] }, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true, $Brother: { $Duration: 1000, x: -0.3, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } },
//Rotate in- out+
{ $Duration: 1500, $Zoom: 11, $Rotate: 0.5, $During: { $Left: [0.4, 0.6], $Top: [0.4, 0.6], $Rotate: [0.4, 0.6], $Zoom: [0.4, 0.6] }, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Brother: { $Duration: 1000, $Zoom: 1, $Rotate: -0.5, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Shift: 200 } },
//Rotate Axis up overlap
{ $Duration: 1200, x: 0.25, y: 0.5, $Rotate: -0.1, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Top: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Brother: { $Duration: 1200, x: -0.1, y: -0.7, $Rotate: 0.1, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Top: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2 } },
//Chess Replace TB
{ $Duration: 1600, x: 1, $Rows: 2, $ChessMode: { $Row: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Brother: { $Duration: 1600, x: -1, $Rows: 2, $ChessMode: { $Row: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } },
//Chess Replace LR
{ $Duration: 1600, y: -1, $Cols: 2, $ChessMode: { $Column: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Brother: { $Duration: 1600, y: 1, $Cols: 2, $ChessMode: { $Column: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } },
//Shift TB
{ $Duration: 1200, y: 1, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Brother: { $Duration: 1200, y: -1, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } },
//Shift LR
{ $Duration: 1200, x: 1, $Easing: { $Left: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Brother: { $Duration: 1200, x: -1, $Easing: { $Left: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } },
//Return TB
{ $Duration: 1200, y: -1, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $ZIndex: -10, $Brother: { $Duration: 1200, y: -1, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $ZIndex: -10, $Shift: -100 } },
//Return LR
{ $Duration: 1200, x: 1, $Delay: 40, $Cols: 6, $Formation: $JssorSlideshowFormations$.$FormationStraight, $Easing: { $Left: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $ZIndex: -10, $Brother: { $Duration: 1200, x: 1, $Delay: 40, $Cols: 6, $Formation: $JssorSlideshowFormations$.$FormationStraight, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $ZIndex: -10, $Shift: -100 } },
//Rotate Axis down
{ $Duration: 1500, x: -0.1, y: -0.7, $Rotate: 0.1, $During: { $Left: [0.6, 0.4], $Top: [0.6, 0.4], $Rotate: [0.6, 0.4] }, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Top: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Brother: { $Duration: 1000, x: 0.2, y: 0.5, $Rotate: -0.1, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Top: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2 } },
//Extrude Replace
{ $Duration: 1600, x: -0.2, $Delay: 40, $Cols: 12, $During: { $Left: [0.4, 0.6] }, $SlideOut: true, $Formation: $JssorSlideshowFormations$.$FormationStraight, $Assembly: 260, $Easing: { $Left: $JssorEasing$.$EaseInOutExpo, $Opacity: $JssorEasing$.$EaseInOutQuad }, $Opacity: 2, $Outside: true, $Round: { $Top: 0.5 }, $Brother: { $Duration: 1000, x: 0.2, $Delay: 40, $Cols: 12, $Formation: $JssorSlideshowFormations$.$FormationStraight, $Assembly: 1028, $Easing: { $Left: $JssorEasing$.$EaseInOutExpo, $Opacity: $JssorEasing$.$EaseInOutQuad }, $Opacity: 2, $Round: { $Top: 0.5 } } }
];
var captionTransitions = [];
var t_tr = { $Duration: 700, x: -0.6, y: 0.6, $Easing: { $Left: $JssorEasing$.$EaseInOutSine, $Top: $JssorEasing$.$EaseInOutSine }, $Opacity: 2 };
var t_tr_ib = { $Duration: 900, x: -0.6, y: 0.6, $Easing: { $Left: $JssorEasing$.$EaseInOutBack, $Top: $JssorEasing$.$EaseInOutBack }, $Opacity: 2 };
var t_rtt_tr = { $Duration: 700, x: -0.6, y: 0.6, $Zoom: 11, $Rotate: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.8} };
var t_rtt_360 = { $Duration: 800, $Rotate: 1, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2 };
var t_clip_lr = { $Duration: 900, $Clip: 3, $Easing: { $Clip: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2 };
var t_zm = { $Duration: 700, $Zoom: 1, $Easing: $JssorEasing$.$EaseInCubic, $Opacity: 2 };
var t_b_ = { $Duration: 700, y: -0.6, $Rotate: 0.05, $Easing: { $Top: $JssorEasing$.$EaseInOutSine }, $Opacity: 2 };
captionTransitions["TEAM_1"] = [[t_rtt_360, t_zm], [t_zm, t_rtt_tr]];
captionTransitions["TEAM_2"] = [t_rtt_360, t_clip_lr, t_zm, t_b_];
captionTransitions["L|IB"] = { $Duration: 900, x: 0.6, $Easing: { $Left: $JssorEasing$.$EaseInOutBack }, $Opacity: 2 };
captionTransitions["L|EP"] = { $Duration: 900, x: 0.6, $Easing: { $Left: $JssorEasing$.$EaseInOutExpo }, $Opacity: 2 };
captionTransitions["L*IB"] = { $Duration: 900, x: 0.6, $Zoom: 3, $Rotate: -0.3, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2 };
captionTransitions["B*IB"] = { $Duration: 900, y: -0.6, $Zoom: 3, $Rotate: -0.3, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2 };
captionTransitions["T|IE*IE"] = { $Duration: 1800, y: 0.8, $Zoom: 11, $Rotate: -1.5, $Easing: { $Top: $JssorEasing$.$EaseInOutElastic, $Zoom: $JssorEasing$.$EaseInElastic, $Rotate: $JssorEasing$.$EaseInOutElastic }, $Opacity: 2, $During: { $Zoom: [0, 0.8], $Opacity: [0, 0.7] }, $Round: { $Rotate: 0.5} };
captionTransitions["CLIP|L"] = { $Duration: 800, $Clip: 1, $Easing: { $Clip: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2 };
captionTransitions["CLIP|LR"] = t_clip_lr;
captionTransitions["RTT|360"] = t_rtt_360;
captionTransitions["RTT*JUP|BR"] = { $Duration: 1000, x: -0.5, y: -0.8, $Zoom: 11, $Rotate: 0.2, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseLinear, $Zoom: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $During: { $Left: [0, 0.5]} };
captionTransitions["RTT*JDN|L"] = { $Duration: 1200, x: 0.3, $Zoom: 11, $Rotate: 0.2, $Easing: { $Left: $JssorEasing$.$EaseOutCubic, $Zoom: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $During: { $Left: [0, 0.5]} };
captionTransitions["SPACESHIP|LB"] = { $Duration: 1000, x: 1, y: -0.1, $Zoom: 3, $Rotate: -0.1, $Easing: { $Left: $JssorEasing$.$EaseInQuint, $Top: $JssorEasing$.$EaseInWave, $Opacity: $JssorEasing$.$EaseInQuint }, $Opacity: 2 };
captionTransitions["SPACESHIP|RB"] = { $Duration: 1000, x: -1, y: -0.1, $Zoom: 3, $Rotate: 0.1, $Easing: { $Left: $JssorEasing$.$EaseInQuint, $Top: $JssorEasing$.$EaseInWave, $Opacity: $JssorEasing$.$EaseInQuint }, $Opacity: 2 };
captionTransitions["ZM"] = { $Duration: 600, $Zoom: 1, $Easing: $JssorEasing$.$EaseInCubic, $Opacity: 2 };
var captionTransitions_childSliders = [
//R|IB
{$Duration: 900, x: -0.6, $Easing: { $Left: $JssorEasing$.$EaseInOutBack }, $Opacity: 2 }
//B|IB
, { $Duration: 900, y: -0.6, $Easing: { $Top: $JssorEasing$.$EaseInOutBack }, $Opacity: 2 }
//R*|IB
, { $Duration: 900, x: -0.6, $Zoom: 3, $Rotate: -0.3, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2 }
//B*|IB
, { $Duration: 900, y: -0.6, $Zoom: 3, $Rotate: -0.3, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2 }
//R-*|IB
, { $Duration: 900, x: -0.7, $Rotate: 0.5, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseInQuad, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2, $During: { $Left: [0.2, 0.8]} }
//B-*|IB
, { $Duration: 900, y: -0.7, $Rotate: 0.5, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseInQuad, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2, $During: { $Top: [0.2, 0.8]} }
//CLIP|LR
, { $Duration: 900, $Clip: 3, $Easing: { $Clip: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2 }
//CLIP|TB
, { $Duration: 900, $Clip: 12, $Easing: { $Clip: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2 }
//CLIP|L
, { $Duration: 800, $Clip: 1, $Easing: { $Clip: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2 }
//ZM*JDN|RB
, { $Duration: 1200, x: -0.8, y: -0.5, $Zoom: 11, $Easing: { $Left: $JssorEasing$.$EaseLinear, $Top: $JssorEasing$.$EaseOutCubic, $Zoom: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $During: { $Top: [0, 0.5]} }
//RTT*JUP|RB
, { $Duration: 1200, x: -0.8, y: -0.5, $Zoom: 11, $Rotate: 0.2, $Easing: { $Left: $JssorEasing$.$EaseLinear, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $During: { $Top: [0, 0.5]} }
//TORTUOUS|VB
, { $Duration: 1800, y: -0.2, $Zoom: 1, $Easing: { $Top: $JssorEasing$.$EaseOutWave, $Zoom: $JssorEasing$.$EaseOutCubic }, $Opacity: 2, $During: { $Top: [0, 0.7] }, $Round: { $Top: 1.3} }
];
var slider1Options = {
$AutoPlayInterval: 3000, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000
$DragOrientation: 0, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0)
$CaptionSliderOptions: { //[Optional] Options which specifies how to animate caption
$Class: $JssorCaptionSlider$, //[Required] Class to create instance to animate caption
$CaptionTransitions: captionTransitions_childSliders, //[Required] An array of caption transitions to play caption, see caption transition section at jssor slideshow transition builder
$PlayInMode: 1, //[Optional] 0 None (no play), 1 Chain (goes after main slide), 3 Chain Flatten (goes after main slide and flatten all caption animations), default value is 1
$PlayOutMode: 3 //[Optional] 0 None (no play), 1 Chain (goes before main slide), 3 Chain Flatten (goes before main slide and flatten all caption animations), default value is 1
},
$BulletNavigatorOptions: { //[Optional] Options to specify and enable navigator or not
$Class: $JssorBulletNavigator$, //[Required] Class to create navigator instance
$ChanceToShow: 2, //[Required] 0 Never, 1 Mouse Over, 2 Always
$SpacingX: 10, //[Optional] Horizontal space between each item in pixel, default value is 0
$SpacingY: 10 //[Optional] Vertical space between each item in pixel, default value is 0
},
$ArrowNavigatorOptions: {
$Class: $JssorArrowNavigator$, //[Requried] Class to create arrow navigator instance
$ChanceToShow: 2 //[Required] 0 Never, 1 Mouse Over, 2 Always
}
};
var jssorSlider1 = new $JssorSlider$("slider1_container", slider1Options);
var slider2Options = {
$AutoPlayInterval: 3000, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000
$DragOrientation: 0, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0)
$SlideshowOptions: { //[Optional] Options to specify and enable slideshow or not
$Class: $JssorSlideshowRunner$, //[Required] Class to create instance of slideshow
$Transitions: _SlideshowTransitions, //[Required] An array of slideshow transitions to play slideshow
$TransitionsOrder: 1, //[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random
$ShowLink: true //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false
},
$CaptionSliderOptions: { //[Optional] Options which specifies how to animate caption
$Class: $JssorCaptionSlider$, //[Required] Class to create instance to animate caption
$CaptionTransitions: captionTransitions_childSliders, //[Required] An array of caption transitions to play caption, see caption transition section at jssor slideshow transition builder
$PlayInMode: 1, //[Optional] 0 None (no play), 1 Chain (goes after main slide), 3 Chain Flatten (goes after main slide and flatten all caption animations), default value is 1
$PlayOutMode: 3 //[Optional] 0 None (no play), 1 Chain (goes before main slide), 3 Chain Flatten (goes before main slide and flatten all caption animations), default value is 1
},
$BulletNavigatorOptions: { //[Optional] Options to specify and enable navigator or not
$Class: $JssorBulletNavigator$, //[Required] Class to create navigator instance
$ChanceToShow: 2, //[Required] 0 Never, 1 Mouse Over, 2 Always
$SpacingX: 10, //[Optional] Horizontal space between each item in pixel, default value is 0
$SpacingY: 10 //[Optional] Vertical space between each item in pixel, default value is 0
},
$ArrowNavigatorOptions: {
$Class: $JssorArrowNavigator$, //[Requried] Class to create arrow navigator instance
$ChanceToShow: 2 //[Required] 0 Never, 1 Mouse Over, 2 Always
}
};
var jssorSlider2 = new $JssorSlider$("slider2_container", slider2Options);
var bannerSlider_slideshowTransitions = [
//Fade in R
{$Duration: 1200, x: -0.3, $During: { $Left: [0.3, 0.7] }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade out L
, { $Duration: 1200, x: 0.3, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
];
var slider3Options = {
$AutoPlayInterval: 3000, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000
$DragOrientation: 0, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0)
$SlideshowOptions: { //[Optional] Options to specify and enable slideshow or not
$Class: $JssorSlideshowRunner$, //[Required] Class to create instance of slideshow
$Transitions: bannerSlider_slideshowTransitions, //[Required] An array of slideshow transitions to play slideshow
$TransitionsOrder: 1, //[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random
$ShowLink: true //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false
},
$BulletNavigatorOptions: { //[Optional] Options to specify and enable navigator or not
$Class: $JssorBulletNavigator$, //[Required] Class to create navigator instance
$ChanceToShow: 2, //[Required] 0 Never, 1 Mouse Over, 2 Always
$SpacingX: 10, //[Optional] Horizontal space between each item in pixel, default value is 0
$SpacingY: 10 //[Optional] Vertical space between each item in pixel, default value is 0
},
$ArrowNavigatorOptions: {
$Class: $JssorArrowNavigator$, //[Requried] Class to create arrow navigator instance
$ChanceToShow: 2 //[Required] 0 Never, 1 Mouse Over, 2 Always
},
$ThumbnailNavigatorOptions: {
$Class: $JssorThumbnailNavigator$, //[Required] Class to create thumbnail navigator instance
$ChanceToShow: 2, //[Required] 0 Never, 1 Mouse Over, 2 Always
$ActionMode: 0, //[Optional] 0 None, 1 act by click, 2 act by mouse hover, 3 both, default value is 1
$DisableDrag: true //[Optional] Disable drag or not, default value is false
}
};
var jssorSlider3 = new $JssorSlider$("slider3_container", slider3Options);
var sliderClusterSlideshowOptions = ($Jssor$.$IsBrowserIE() && $Jssor$.$BrowserEngineVersion() < 8) ? null : { //[Optional] Options to specify and enable slideshow or not
$Class: $JssorSlideshowRunner$, //[Required] Class to create instance of slideshow
$Transitions: _SlideshowTransitions, //[Required] An array of slideshow transitions to play slideshow
$TransitionsOrder: 1, //[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random
$ShowLink: true //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false
};
var slidercOptions = {
$AutoPlay: false, //[Optional] Whether to auto play, to enable slideshow, this option must be set to true, default value is false
$AutoPlayInterval: 3000, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000
$PauseOnHover: 1, //[Optional] Whether to pause when mouse over if a slider is auto playing, 0 no pause, 1 pause for desktop, 2 pause for touch device, 3 pause for desktop and touch device, 4 freeze for desktop, 8 freeze for touch device, 12 freeze for desktop and touch device, default value is 1
$ArrowKeyNavigation: true, //Allows arrow key to navigate or not, default value is true
$SlideDuration: 800, //[Optional] Specifies default duration (swipe) for slide in milliseconds, default value is 500
$UISearchMode: 0, //[Optional] The way (0 parellel, 1 recursive, default value is 1) to search UI components (slides container, loading screen, navigator container, arrow navigator container, thumbnail navigator container etc).
$DragOrientation: 3, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0)
$SlideshowOptions: sliderClusterSlideshowOptions,
$CaptionSliderOptions: { //[Optional] Options which specifies how to animate caption
$Class: $JssorCaptionSlider$, //[Required] Class to create instance to animate caption
$CaptionTransitions: captionTransitions, //[Required] An array of caption transitions to play caption, see caption transition section at jssor slideshow transition builder
$PlayInMode: 1, //[Optional] 0 None (no play), 1 Chain (goes after main slide), 3 Chain Flatten (goes after main slide and flatten all caption animations), default value is 1
$PlayOutMode: 3 //[Optional] 0 None (no play), 1 Chain (goes before main slide), 3 Chain Flatten (goes before main slide and flatten all caption animations), default value is 1
},
$ArrowNavigatorOptions: { //[Optional] Options to specify and enable arrow navigator or not
$Class: $JssorArrowNavigator$, //[Requried] Class to create arrow navigator instance
$ChanceToShow: 1, //[Required] 0 Never, 1 Mouse Over, 2 Always
$AutoCenter: 2 //[Optional] Auto center arrows in parent container, 0 No, 1 Horizontal, 2 Vertical, 3 Both, default value is 0
},
$BulletNavigatorOptions: { //[Optional] Options to specify and enable navigator or not
$Class: $JssorBulletNavigator$, //[Required] Class to create navigator instance
$ChanceToShow: 2, //[Required] 0 Never, 1 Mouse Over, 2 Always
$AutoCenter: 1, //[Optional] Auto center navigator in parent container, 0 None, 1 Horizontal, 2 Vertical, 3 Both, default value is 0
$SpacingX: 4, //[Optional] Horizontal space between each item in pixel, default value is 0
$SpacingY: 4 //[Optional] Vertical space between each item in pixel, default value is 0
}
};
var jssorSliderc = new $JssorSlider$(containerId, slidercOptions);
//responsive code begin
//you can remove responsive code if you don't want the slider scales while window resizes
function ScaleSlider() {
var parentWidth = jssorSliderc.$Elmt.parentNode.clientWidth;
if (parentWidth)
jssorSliderc.$ScaleWidth(Math.max(Math.min(parentWidth, 960), 300));
else
$Jssor$.$Delay(ScaleSlider, 30);
}
ScaleSlider();
$Jssor$.$AddEvent(window, "load", ScaleSlider);
$Jssor$.$AddEvent(window, "resize", $Jssor$.$WindowResizeFilter(window, ScaleSlider));
$Jssor$.$AddEvent(window, "orientationchange", ScaleSlider);
//responsive code end
//slider cluster controller code begin
function SliderCluster(mainSlider, autoPlayInterval) {
var _Self = this;
var _NestedSliders = [];
var _NestedSliderCurrent;
var _CaptionInCounter = 0;
function OnChildSliderStateChange(currentIndex, progress, progressBegin, idleBegin, idleEnd, progressEnd) {
if (progress == idleBegin) {
if (!(++_CaptionInCounter % 4)) {
_NestedSliderCurrent && _NestedSliderCurrent.$Pause();
mainSlider.$Play(true);
}
}
}
function OnMainSliderStateChange(currentIndex, progress, progressBegin, idleBegin, idleEnd, progressEnd) {
_NestedSliderCurrent = _NestedSliders[currentIndex];
if (_NestedSliderCurrent) {
if (progress == idleBegin) {
mainSlider.$Pause();
_NestedSliderCurrent.$Play(true);
}
else if (progress == progressBegin) {
_CaptionInCounter = 0;
mainSlider.$Play(true);
}
}
}
function OnMainSliderSwipeStart(position, virtualPosition) {
_NestedSliderCurrent && _NestedSliderCurrent.$Pause();
mainSlider.$Pause();
}
function OnMainSliderPark(slideIndex, fromIndex) {
_CaptionInCounter = 0;
mainSlider.$Play();
}
_Self.$AddChildSlider = function (childSlider, slideIndex) {
_NestedSliders[slideIndex] = childSlider;
childSlider.$On($JssorSlider$.$EVT_STATE_CHANGE, OnChildSliderStateChange);
};
_Self.$Start = function () {
mainSlider.$On($JssorSlider$.$EVT_PARK, OnMainSliderPark);
mainSlider.$On($JssorSlider$.$EVT_STATE_CHANGE, OnMainSliderStateChange);
mainSlider.$On($JssorSlider$.$EVT_SWIPE_START, OnMainSliderSwipeStart);
mainSlider.$Play(true);
}
}
var sliderCluster = new SliderCluster(jssorSliderc);
sliderCluster.$AddChildSlider(jssorSlider1, 0);
sliderCluster.$AddChildSlider(jssorSlider2, 1);
sliderCluster.$AddChildSlider(jssorSlider3, 2);
sliderCluster.$Start();
//slider cluster controller code end
};
jssor_sliderc_starter('sliderc_container');
</script>
<div class="chartbox wrapper">
<div class="innertext" id="innerchart"></div>
<div class="innertext il"></div>
</div>
<!-- <script src="/javascripts/liucheng.js?body=1" type="text/javascript"></script> -->
<style>
.chartbox{
margin: 50px auto;
}
.innertext{
float: left;
width: 70%;
min-height: 500px;
}
.innertext.il{
width: 30%;
}
</style>
<svg version="1.1" style="font-family:&quot;Lucida Grande&quot;, &quot;Lucida Sans Unicode&quot;, Arial, Helvetica, sans-serif;font-size:12px;" xmlns="http://www.w3.org/2000/svg" width="840" height="500"><desc><img src="/uploads/1.png" alt="山东诺正检测流程图"></desc><defs><clipPath id="normz-1"><rect x="0" y="0" width="820" height="439"></rect></clipPath></defs><rect x="0" y="0" width="840" height="500" strokeWidth="0" fill="#FFFFFF" class=" normz-background"></rect><g style="" transform="translate(5,150)"><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan></text></g><g style="" transform="translate(100,150)"><rect x="0" y="0" width="81" height="21" fill="#f7a35c" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">诉讼处理意见</text></g><g style="text-align:center;" transform="translate(100,220)"><rect x="0" y="0" width="81" height="21" fill="#f15c80" rx="5" ry="5"></rect><text x="16.5" zIndex="1" style="color:white;fill:white;" y="15">提出诉讼</text></g><g style="text-align:center;" transform="translate(100,280)"><rect x="0" y="0" width="81" height="21" fill="#e4d354" rx="5" ry="5"></rect><text x="16.5" zIndex="1" style="color:white;fill:white;" y="15">发送报告</text></g><g style="text-align:center;" transform="translate(100,340)"><rect x="0" y="0" width="81" height="21" fill="#2b908f" rx="5" ry="5"></rect><text x="28.5" zIndex="1" style="color:white;fill:white;" y="15">图纸</text></g><g style="" transform="translate(250,150)"><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="#f45b5b" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(230,60)"><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="#91e8e1" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan>报告副本及</tspan><tspan x="5" dy="15">原记录归档</tspan></text></g><g style="text-align:center;" transform="translate(340,100)"><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="18" zIndex="1" style="color:white;fill:white;" y="17">归档</text></g><g style="text-align:center;" transform="translate(340,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#434348" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">受理投诉</text></g><g style="text-align:center;" transform="translate(440,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#90ed7d" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">质量负责人</text></g><g style="text-align:center;" transform="translate(540,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#f7a35c" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">调查原因</text></g><g style="text-align:center;" transform="translate(640,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#8085e9" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">反馈意见</text></g><g style="text-align:center;" transform="translate(340,200)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#f15c80" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">编写报告</text></g><g style="text-align:center;" transform="translate(440,200)"><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="#e4d354" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">技术负责人审批</text></g><g style="text-align:center;" transform="translate(340,250)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#2b908f" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">合同审批</text></g><g style="text-align:center;" transform="translate(445,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#8085e9" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(505,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#f15c80" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(565,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#e4d354" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(625,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#2b908f" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(685,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#f45b5b" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(745,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#91e8e1" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(340,360)"><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="23" zIndex="1" style="color:white;fill:white;" y="17">记录</text></g><g style="text-align:center;" transform="translate(480,360)"><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="#434348" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="23" zIndex="1" style="color:white;fill:white;" y="17">修改</text></g><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(40,160)" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(40,230)" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(40,290)" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(40,350)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(190,160)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(190,230)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(190,290)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(190,350)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 0 40 L 0 0 L -3 3 M 0 0 L 3 3" transform="translate(255,105)" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,160)" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 150 145 L 150 125 C 150 115 150 115 160 115 L 335 115 L 332 118 M 335 115 L 332 112" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 310 70 L 360 70 C 370 70 370 80 370 80 L 370 95 L 367 92 M 370 95 L 373 92" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 260 145 L 260 135 C 260 125 260 125 270 125 L 335 125 L 332 122 M 335 125 L 332 128" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(410,160)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(510,160)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(610,160)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,210)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(410,210)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,260)" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(410,260)" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(470,260)" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(530,260)" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(590,260)" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(650,260)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(710,260)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 0 0 L 0 15 L -3 12 M 0 15 L 3 12" transform="translate(515,340)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L -50 0 L -47 -3 M -50 0 L -47 3" transform="translate(475,372)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 0 0 L 0 75 L -3 72 M 0 75 L 3 72" transform="translate(370,280)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 710 160 L 720 160 C 720 160 725 160 725 165 L 725 170 C 725 175 720 175 720 175 L 280 175 L 283 178 M 280 175 L 283 172" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 535 210 L 550 210 C 550 210 555 210 555 205 L 555 195 C 555 190 550 190 550 190 L 280 190 L 283 193 M 280 190 L 283 187" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 770 280 L 780 280 L 780 230 L 280 230 L 283 233 M 280 230 L 283 227" stroke="#7cb5ec" stroke-width="2"></path><g class="normz-series-group" zIndex="3"></g><text x="420" text-anchor="middle" class="normz-title" zIndex="4" style="color:#333333;font-size:18px;fill:#333333;width:776px;" y="24">诺正检验工作流程图</text><g class="normz-legend" zIndex="7"><g zIndex="1"><g></g></g></g><g class="normz-tooltip" zIndex="8" style="cursor:default;padding:0;pointer-events:none;white-space:nowrap;" transform="translate(0,-9999)"><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></path><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></path><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></path><path fill="rgba(249, 249, 249, .85)" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5"></path><text x="8" zIndex="1" style="font-size:12px;color:#333333;fill:#333333;" y="20"></text></g></svg>
<svg version="1.1" style="font-family:&quot;Lucida Grande&quot;, &quot;Lucida Sans Unicode&quot;, Arial, Helvetica, sans-serif;font-size:12px;" xmlns="http://www.w3.org/2000/svg" width="840" height="500"><desc><img src="/uploads/1.jpg" alt="山东诺正检测流程图"></desc><defs><clipPath id="normz-1"><rect x="0" y="0" width="820" height="439"></rect></clipPath></defs><rect x="0" y="0" width="840" height="500" strokeWidth="0" fill="#FFFFFF" class=" normz-background"></rect><g style="" transform="translate(5,150)"><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan></text></g><g style="" transform="translate(100,150)"><rect x="0" y="0" width="81" height="21" fill="#f7a35c" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">诉讼处理意见</text></g><g style="text-align:center;" transform="translate(100,220)"><rect x="0" y="0" width="81" height="21" fill="#f15c80" rx="5" ry="5"></rect><text x="16.5" zIndex="1" style="color:white;fill:white;" y="15">提出诉讼</text></g><g style="text-align:center;" transform="translate(100,280)"><rect x="0" y="0" width="81" height="21" fill="#e4d354" rx="5" ry="5"></rect><text x="16.5" zIndex="1" style="color:white;fill:white;" y="15">发送报告</text></g><g style="text-align:center;" transform="translate(100,340)"><rect x="0" y="0" width="81" height="21" fill="#2b908f" rx="5" ry="5"></rect><text x="28.5" zIndex="1" style="color:white;fill:white;" y="15">图纸</text></g><g style="" transform="translate(250,150)"><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="#f45b5b" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan></tspan><tspan x="5" dy="15"></tspan><tspan x="5" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(230,60)"><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="#91e8e1" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan>报告副本及</tspan><tspan x="5" dy="15">原记录归档</tspan></text></g><g style="text-align:center;" transform="translate(340,100)"><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="18" zIndex="1" style="color:white;fill:white;" y="17">归档</text></g><g style="text-align:center;" transform="translate(340,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#434348" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">受理投诉</text></g><g style="text-align:center;" transform="translate(440,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#90ed7d" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">质量负责人</text></g><g style="text-align:center;" transform="translate(540,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#f7a35c" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">调查原因</text></g><g style="text-align:center;" transform="translate(640,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#8085e9" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">反馈意见</text></g><g style="text-align:center;" transform="translate(340,200)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#f15c80" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">编写报告</text></g><g style="text-align:center;" transform="translate(440,200)"><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="#e4d354" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">技术负责人审批</text></g><g style="text-align:center;" transform="translate(340,250)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#2b908f" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">合同审批</text></g><g style="text-align:center;" transform="translate(445,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#8085e9" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(505,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#f15c80" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(565,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#e4d354" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(625,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#2b908f" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(685,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#f45b5b" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(745,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#91e8e1" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan><tspan x="3" dy="15"></tspan></text></g><g style="text-align:center;" transform="translate(340,360)"><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="23" zIndex="1" style="color:white;fill:white;" y="17">记录</text></g><g style="text-align:center;" transform="translate(480,360)"><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="#434348" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="23" zIndex="1" style="color:white;fill:white;" y="17">修改</text></g><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(40,160)" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(40,230)" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(40,290)" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(40,350)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(190,160)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(190,230)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(190,290)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(190,350)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 0 40 L 0 0 L -3 3 M 0 0 L 3 3" transform="translate(255,105)" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,160)" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 150 145 L 150 125 C 150 115 150 115 160 115 L 335 115 L 332 118 M 335 115 L 332 112" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 310 70 L 360 70 C 370 70 370 80 370 80 L 370 95 L 367 92 M 370 95 L 373 92" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 260 145 L 260 135 C 260 125 260 125 270 125 L 335 125 L 332 122 M 335 125 L 332 128" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(410,160)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(510,160)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(610,160)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,210)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(410,210)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,260)" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(410,260)" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(470,260)" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(530,260)" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(590,260)" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(650,260)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(710,260)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 0 0 L 0 15 L -3 12 M 0 15 L 3 12" transform="translate(515,340)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L -50 0 L -47 -3 M -50 0 L -47 3" transform="translate(475,372)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 0 0 L 0 75 L -3 72 M 0 75 L 3 72" transform="translate(370,280)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 710 160 L 720 160 C 720 160 725 160 725 165 L 725 170 C 725 175 720 175 720 175 L 280 175 L 283 178 M 280 175 L 283 172" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 535 210 L 550 210 C 550 210 555 210 555 205 L 555 195 C 555 190 550 190 550 190 L 280 190 L 283 193 M 280 190 L 283 187" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 770 280 L 780 280 L 780 230 L 280 230 L 283 233 M 280 230 L 283 227" stroke="#7cb5ec" stroke-width="2"></path><g class="normz-series-group" zIndex="3"></g><text x="420" text-anchor="middle" class="normz-title" zIndex="4" style="color:#333333;font-size:18px;fill:#333333;width:776px;" y="24">诺正检验工作流程图</text><g class="normz-legend" zIndex="7"><g zIndex="1"><g></g></g></g><g class="normz-tooltip" zIndex="8" style="cursor:default;padding:0;pointer-events:none;white-space:nowrap;" transform="translate(0,-9999)"><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></path><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></path><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></path><path fill="rgba(249, 249, 249, .85)" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5"></path><text x="8" zIndex="1" style="font-size:12px;color:#333333;fill:#333333;" y="20"></text></g></svg>
<div class="detectype wrapper">
<h2>检测范围</h2>
<div class="detectrange left_to_right mb">
<div class="mask">
<h3>图表展示</h3>
<p>详细内容/跳转检测业务/详细描述页</p>
</div>
<div class="detecticon detectfood"></div>
<div class="detecttext">
<h5>农产品检测</h5>
<p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、营养含量等</p>
</div>
</div>
<div class="detectrange left_to_right mb">
<div class="mask">
<h3><a href="javascript:void(0);">图表展示</a></h3>
<p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p>
</div>
<div class="detecticon detectmeat"></div>
<div class="detecttext">
<h5>肉制品检测</h5>
<p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p>
</div>
</div>
<div class="detectrange left_to_right mb">
<div class="mask">
<h3><a href="javascript:void(0);">图表展示</a></h3>
<p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p>
</div>
<div class="detecticon detectmilieu"></div>
<div class="detecttext">
<h5>环境检测</h5>
<p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p>
</div>
</div>
<div class="detectrange left_to_right mb l">
<div class="mask">
<h3><a href="javascript:void(0);">图表展示</a></h3>
<p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p>
</div>
<div class="detecticon detectfire"></div>
<div class="detecttext">
<h5>消防检测</h5>
<p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p>
</div>
</div>
<div class="detectrange left_to_right">
<div class="mask">
<h3>图表展示</h3>
<p>详细内容/跳转检测业务/详细描述页</p>
</div>
<div class="detecticon detectfeiliao"></div>
<div class="detecttext">
<h5>肥料检测</h5>
<p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p>
</div>
</div>
<div class="detectrange left_to_right">
<div class="mask">
<h3><a href="javascript:void(0);">图表展示</a></h3>
<p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p>
</div>
<div class="detecticon detectsiliao"></div>
<div class="detecttext">
<h5>饲料检测</h5>
<p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p>
</div>
</div>
<div class="detectrange left_to_right">
<div class="mask">
<h3><a href="javascript:void(0);">图表展示</a></h3>
<p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p>
</div>
<div class="detecticon detectshipin"></div>
<div class="detecttext">
<h5>食品检测</h5>
<p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p>
</div>
</div>
<div class="detectrange left_to_right l">
<div class="mask">
<h3><a href="javascript:void(0);">图表展示</a></h3>
<p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p>
</div>
<div class="detecticon detectshuichan"></div>
<div class="detecttext">
<h5>水产品检测</h5>
<p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p>
</div>
</div>
</div>
\ No newline at end of file
<div class="service wrapper">
<h2>服务宗旨</h2>
<div class="block wow bounceInLeft">
<div class="imgblock" data-wow-delay="0.1s">
<img src="/images/jcrange/mubiao.jpg" alt="图片">
</div>
<div class="txtblock">
<h3>质量方针</h3>
<p>
诚信、公正、科学、高效地保证质量第一。<br>
坚持秉公检验,保证良好的职业规范和职业道德。<br>
坚持信誉至上,保守秘密,确保客户权益。<br>
坚持科学管理,保证资源,切实执行规范程序。<br>
坚持高效服务,保证准确及时出具检验报告。<br>
坚持服务质量第一、体系运行质量第一。<br>
</p>
<h3 style="margin-top:20px;">质量目标</h3>
<p>
全年测试项目错误率不大于1‰。<br>
报告及时率不低于99%。<br>
客户投诉率不大于1%、投诉处理率100%。
</p>
</div>
</div>
<div class="block wow bounceInRight">
<div class="imgblock r">
<img src="/images/jcrange/shangyang.jpg" alt="图片">
</div>
<div class="txtblock">
<h3>科学速检</h3>
<p>中科院沈阳生态应用研究所是中国农产品检测标准的制定者, 也是国内农产品检测技术最前沿的团队。</p>
<p>诺正检测与中科院沈阳生态应用研究所深入合作, 强强联手, 培养了大批国内顶尖的检测人员服务于诺正检测。并且公司购入大量进口的先进检测设备, 保证检测的权威, 公正, 科学性。</p>
</div>
</div>
<div class="block blocklast">
<div class="imgblock wow bounceInLeft">
<img src="/images/jcrange/kexuegongzheng.jpg" alt="图片">
</div>
<div class="txtblock wow bounceInRight">
<h3>服务承诺</h3>
<p>本公司具有第三方实验室的地位,检测工作不受任何来自内、外部的不正当的行政干预、商业利润和其它方面压力的影响。不生产、不经营所检验的产品,不和被检测单位发生利益冲突。</p>
<p>本公司严格遵守保密原则,保证不泄漏用户技术资料和检测结果。保证完善质量体系,提高检测水平和管理水平,在确保检验报告的真实和准确的前提下,使客户满意率达到100%。</p>
</div>
</div>
</div>
<%= render 'banner' %>
<%= render 'range' %>
<%= render 'service' %>
<% if params[:chan] == 'cultures' or params[:chan] == 'dynamics' %>
<div class="banner" style="background-image: url(/images/banner/<%= params[:chan] %>.jpg?v=1);"></div>
<% else %>
<div class="banner" style="background-image: url(/images/banner/banner.jpg?v=1);"></div>
<% end %>
<div class="inside wrapper">
<div class="inside-left">
<div class="top"><%= @chan_name %></div>
<ul>
<% @cates.each do |key, val| %>
<% if key.eql?(@cate) %>
<li class="active">
<%= link_to val, {controller: :home, action: :show, chan: params[:chan], cate: key} %>
</li>
<% else %>
<li>
<%= link_to val, {controller: :home, action: :show, chan: params[:chan], cate: key} %>
</li>
<% end %>
<% end %>
</ul>
</div>
<div class="inside-right">
<div class="detail">
<div class="title">
<h3><%= @post.try(:title) || @cate_name %></h3>
<small>
<%= link_to '首页', root_path %>
-
<%= link_to @chan_name, controller: :home, action: :show, chan: params[:chan] %>
-
<%= link_to @cate_name, controller: :home, action: :show, chan: params[:chan], cate: @cate %>
<% if params[:flag].present? %>
-
<%= link_to @post.title, 'javascript:void(0);' %>
<% end %>
</small>
</div>
<div class="preview">
<% if @post %>
<%= @post.detail.html_safe %>
<% else %>
<% @posts.each do |post| %>
<div class="item">
<% img_path = post.detail.scan(/<img[^>]+src\s*=\s*(['\"][^'\"]+['\"])[^>]*>/).flatten.first.gsub(/\"/, '') rescue '/images/default_200x150.jpg' %>
<img src="<%= img_path %>" alt="默认图片" class="pic">
<h4 class="posth4">
<%= link_to post.title, controller: :home, action: :show, chan: params[:chan], cate: @cate, flag: post.flag %>
</h4>
<div class="postdesc">
<%= truncate(post.detail.gsub(/<\/?.*?>/,""), length: 120) %>
</div>
</div>
<% end %>
<%= paginate @posts %>
<% end %>
</div>
</div>
</div>
</div>
<% if current_page.first? %>
<li class="disabled">
<%= link_to raw(t 'views.pagination.first'), 'javascript:void(0);' %>
</li>
<% else %>
<li>
<%= link_to raw(t 'views.pagination.first'), url, :remote => remote %>
</li>
<% end %>
<li class='disabled'>
<%= content_tag :a, raw(t 'views.pagination.truncate') %>
</li>
<% if current_page.last? %>
<li class="disabled">
<%= link_to raw(t 'views.pagination.last'), 'javascript:void(0);' %>
</li>
<% else %>
<li>
<%= link_to raw(t 'views.pagination.last'), url, :remote => remote %>
</li>
<% end %>
<% if current_page.last? %>
<li class="disabled">
<%= link_to raw(t 'views.pagination.next'), 'javascript:void(0);', :rel =>'next' %>
</li>
<% else %>
<li>
<%= link_to raw(t 'views.pagination.next'), url, :rel =>'next', :remote => remote %>
</li>
<% end %>
\ No newline at end of file
<% if page.current? %>
<li class='active'>
<%= content_tag :a, page, remote: remote, rel: (page.next? ? 'next' : (page.prev? ? 'prev' : nil)) %>
</li>
<% else %>
<li>
<%= link_to page, url, remote: remote, rel: (page.next? ? 'next' : (page.prev? ? 'prev' : nil)) %>
</li>
<% end %>
<%= paginator.render do -%>
<ul class="pagination<%= " page#{size}" if defined?(size) %> text-center">
<%= first_page_tag %>
<%= prev_page_tag %>
<% each_page do |page| -%>
<% if page.left_outer? || page.right_outer? || page.inside_window? -%>
<%= page_tag page %>
<% elsif !page.was_truncated? -%>
<%= gap_tag %>
<% end -%>
<% end -%>
<%= next_page_tag %>
<%= last_page_tag %>
</ul>
<% end -%>
<% if current_page.first? %>
<li class="disabled">
<%= link_to raw(t 'views.pagination.previous'), 'javascript:void(0);', :rel =>'prev' %>
</li>
<% else %>
<li>
<%= link_to raw(t 'views.pagination.previous'), url, :rel =>'prev', :remote => remote %>
</li>
<% end %>
<!DOCTYPE html>
<html>
<head>
<title><%= @title %></title>
<meta name="keywords" content="<%= @keywords %>">
<meta name="description" content="<%= @description %>">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon">
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
</head>
<body>
<%= render 'shared/header' %>
<%= yield %>
<%= render 'shared/footer' %>
<div class="navi-scroll" style="display: block;">
<div class="navi-scroll-content">
<a href="/abouts/lxwm" class="scroll-contact-btn">
<span>联系我们</span>
<i></i>
</a>
<a href="/sources/wssj" class="scroll-order-btn">
<span>我要送检</span>
<i></i>
</a>
<a href="javascript:void(0);" class="scroll-top-btn" id="to-top">
<span>回到顶部</span>
<i></i>
</a>
</div>
</div>
<script src="/javascripts/initialize.js" type="text/javascript"></script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title><%= @title %></title>
<meta charset="utf-8">
<meta name="keywords" content="<%= @keywords %>">
<meta name="description" content="<%= @description %>">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<script>
window.CHANNELS = <%= raw Post::CATE.to_json %>;
</script>
<%= stylesheet_link_tag "mobile", :media => "all" %>
<script src="/javascripts/mobile/ionic.bundle.js"></script>
<script src="/javascripts/mobile/ion-gallery.js"></script>
<script src="/javascripts/mobile/app.js"></script>
<script src="/javascripts/mobile/controllers.js"></script>
<%= csrf_meta_tags %>
</head>
<body ng-app="starter">
<ion-nav-view></ion-nav-view>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>诺正检测 | NORMZ TESTING</title>
<meta name="keywords" content="诺正检测,农产品检测,肉制品检测,消防检测,环境检测,CANS认证">
<meta name="description" content="诺正检测是在中国科学院沈阳应用生态研究所技术支持下成立的综合性检测公司,是通过山东省级资质认定及农业行业机构认证的第三方检验机构,主要从事食品、农产品、环境、饲料、肥料及水产养殖、畜牧产品、消防设施等领域的检验检测,以及相关技术咨询、培训、研发。">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon">
<%= stylesheet_link_tag "admin", :media => "all" %>
<%= javascript_include_tag "application" %>
<link rel="stylesheet" type="text/css" href="/stylesheets/simditor.css" />
<script type="text/javascript" src="/javascripts/simditor/module.js"></script>
<script type="text/javascript" src="/javascripts/simditor/uploader.js"></script>
<script type="text/javascript" src="/javascripts/simditor/hotkeys.js"></script>
<script type="text/javascript" src="/javascripts/simditor/simditor.js"></script>
<script type="text/javascript" src="/javascripts/simditor/mobilecheck.js"></script>
<%= csrf_meta_tags %>
</head>
<body>
<div class="posts">
<%= yield %>
</div>
<script type="text/javascript">
$(function(){
var cate = <%= Post::CATE.to_json.html_safe %>;
$(document).on("change", "#post_chan", function(){
var _val = cate[$(this).val()]['cate'];
var _str = '';
for(var k in _val){
_str += '<option value="' + k + '">' + _val[k] + '</option>';
}
$("#post_cate").html(_str);
})
})
</script>
</body>
</html>
<%= form_for(@post) do |f| %>
<% if @post.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2>
<ul>
<% @post.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<span><%= f.label :title, '标题' %></span>
<%= f.text_field :title, placeholder: '标题 30字以内 不能为空' %>
</div>
<div class="field">
<span><%= f.label :flag, '别名' %></span>
<%= f.text_field :flag, placeholder: '可以不填让系统自动生成' %>
</div>
<div class="field">
<span><%= f.label :words, '关键词' %></span>
<%= f.text_field :words, placeholder: '英文逗号隔开,' %>
</div>
<div class="field">
<span><%= f.label :chan, '频道' %></span>
<%= f.select :chan, Hash[Post::CATE.map{|k, v| [v[:name], k]}] %>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span><%= f.label :cate, '类别' %></span>
<%= f.select :cate, Post::CATE[@post.try(:chan) || Post::CATE.keys.first][:cate].invert %>
</div>
<% if params[:source] == 'edit' %>
<%= f.text_area :detail, style: "border: 1px solid #c9d8db;width:100%;height:400px;" %>
<% else %>
<%= render 'source', f: f %>
<% end %>
<br>
<%= f.submit %>
<% end %>
<section id="nuozheng-post">
<%= f.text_area :detail, id: 'txt-content', 'data-autosave' => 'editor-content', autofocus: nil %>
<div class="postdetail"></div>
</section>
<script>
(function() {
$(function() {
var $preview, editor, mobileToolbar, toolbar;
Simditor.locale = 'zh-CN';
toolbar = ['title', 'bold', 'italic', 'underline', 'strikethrough', 'fontScale', 'color', '|', 'ol', 'ul', 'blockquote', 'table', '|', 'link', 'image', 'hr', '|', 'indent', 'outdent', 'alignment'];
mobileToolbar = ["bold", "underline", "strikethrough", "color", "ul", "ol"];
if (mobilecheck()) {
toolbar = mobileToolbar;
}
editor = new Simditor({
textarea: $('#txt-content'),
placeholder: '这里输入文字...',
toolbar: toolbar,
pasteImage: true,
defaultImage: '/images/logo.png',
upload: {
url: '/upload'
}
});
$preview = $('.postdetail');
if ($preview.length > 0) {
return editor.on('valuechanged', function(e) {
return $preview.html(editor.getValue());
});
}
});
}).call(this);
</script>
\ No newline at end of file
<h3 class="title">
修改文章
<small>
<%= link_to '返回文章列表', posts_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %>
/
<%= link_to '预览效果', post_path(@post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %>
/
<% if params[:source] == 'edit' %>
<%= link_to '正常编辑', edit_post_path(@post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %>
<% else %>
<%= link_to '源码编辑', edit_post_path(@post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page], source: 'edit') %>
<% end %>
</small>
</h3>
<%= render 'form' %>
<h3 class="title">
文章管理
<small>
<%= link_to '去首页', root_path %>
/
<%= link_to '注销', sign_out_path %>
/
<%= link_to '发布文章', new_post_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %>
</small>
</h3>
<table class="list">
<tr>
<th width="3%">
ID
</th>
<th width="25%">
<!-- <input> -->
标题
</th>
<th width="16%">
<%= link_to "类别#{params[:scate] == 'desc' ? '△' : '▽'}", posts_path(scate: params[:scate] == 'desc' ? 'asc' : 'desc') %>
</th>
<th width="16%">
<%= link_to "频道#{params[:schan] == 'desc' ? '△' : '▽'}", posts_path(schan: params[:schan] == 'desc' ? 'asc' : 'desc') %>
</th>
<th width="10%">
<%= link_to "日期#{params[:screa] == 'desc' ? '▽' : '△'}", posts_path(screa: params[:screa] == 'desc' ? 'asc' : 'desc') %>
</th>
<th width="10%">别名</th>
<th width="20%">操作</th>
</tr>
<% @posts.each do |post| %>
<tr>
<td><%= post.id %></td>
<td><%= post.title %></td>
<td><%= Post::CATE[post.chan][:cate][post.cate] %></td>
<td><%= Post::CATE[post.chan][:name] %></td>
<td><%= post.created_at.to_date %></td>
<td><%= post.flag %></td>
<td>
<%= link_to '详细', post_path(post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %>
/
<%= link_to '编辑', edit_post_path(post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %>
/
<%= link_to '删除', post, method: :delete, data: { confirm: '确定删除?' } %>
</tr>
<% end %>
</table>
<%= paginate @posts %>
<h3 class="title">
发布文章
<small>
<%= link_to '返回文章列表', posts_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %>
/
<% if params[:source] == 'edit' %>
<%= link_to '正常编辑', new_post_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %>
<% else %>
<%= link_to '源码编辑', new_post_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page], source: 'edit') %>
<% end %>
</small>
</h3>
<%= render 'form' %>
<div style="border-bottom: 3px solid #ccc;">
<h3 class="title">
<%= @post.title %>
<small>
<%= link_to '文章列表', posts_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %>
/
<%= link_to '编辑文章', edit_post_path(@post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %>
/
<%= link_to '发布文章', new_post_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %>
/
首页 - <%= Post::CATE[@post.chan][:name] %> - <%= Post::CATE[@post.chan][:cate][@post.cate] %>
</small>
</h3>
</div>
<div class="postdetail">
<%= @post.detail.html_safe %>
</div>
\ No newline at end of file
<p>
<%= flash[:notice] %>
</p>
<form action="/sign_in" method="post">
<input name="utf8" type="hidden" value="✓">
<input name="authenticity_token" type="hidden" value="<%= form_authenticity_token %>">
账号 <input type="text" name="username">
密码 <input type="password" name="password">
<input type="submit" value="登陆">
</form>
\ No newline at end of file
<div class="footer">
<ul class="ftservice wrapper">
<% if controller_name.eql?('home') and action_name.eql?('index') %>
<li class="item wow fadeInUpBig" data-wow-delay="0.0s">
<img src="/images/bottom/1.jpg" alt="公正独立">
<h5>公正独立</h5>
<p>不受任何一方制约的第三方机构</p>
</li>
<li class="item wow fadeInUpBig" data-wow-delay="0.3s">
<img src="/images/bottom/2.jpg" alt="3天速检">
<h5>3天速检</h5>
<p>高效快速的检测效果</p>
</li>
<li class="item wow fadeInUpBig" data-wow-delay="0.6s">
<img src="/images/bottom/3.jpg" alt="国家级认证">
<h5>国家级认证</h5>
<p>国家级认定权威检测机构</p>
</li>
<li class="item wow fadeInUpBig" data-wow-delay="0.9s">
<img src="/images/bottom/4.jpg" alt="全程记录">
<h5>全程记录</h5>
<p>检验过程全程记录存档</p>
</li>
<li class="item wow fadeInUpBig" data-wow-delay="1.2s">
<img src="/images/bottom/5.jpg" alt="先进软硬件设施">
<h5>先进软硬件设施</h5>
<p>采用国外先进检测设备</p>
</li>
<% else %>
<li class="item">
<img src="/images/bottom/1.jpg" alt="公正独立">
<h5>公正独立</h5>
<p>不受任何一方制约的第三方机构</p>
</li>
<li class="item">
<img src="/images/bottom/2.jpg" alt="3天速检">
<h5>3天速检</h5>
<p>高效快速的检测效果</p>
</li>
<li class="item">
<img src="/images/bottom/3.jpg" alt="国家级认证">
<h5>国家级认证</h5>
<p>国家级认定权威检测机构</p>
</li>
<li class="item">
<img src="/images/bottom/4.jpg" alt="全程记录">
<h5>全程记录</h5>
<p>检验过程全程记录存档</p>
</li>
<li class="item">
<img src="/images/bottom/5.jpg" alt="先进软硬件设施">
<h5>先进软硬件设施</h5>
<p>采用国外先进检测设备</p>
</li>
<% end %>
</ul>
<div class="line"></div>
<ul class="ftlinks wrapper">
<li class="ftlink">
<a class="linktitle" href="javascript:void(0);">关于我们</a>
<ul>
<li>
<a href="/abouts/gsjj/jianjie">
公司简介
</a>
</li>
<li>
<a href="/cultures">
企业文化
</a>
</li>
<li>
<a href="/abouts/fwcn">
服务宗旨
</a>
</li>
<li>
<a href="/abouts/yjss/devices">
实验室仪器
</a>
</li>
<li>
<a href="/abouts/gsjj/BrYJrm">
企业宣传片
</a>
</li>
</ul>
</li>
<li class="ftlink">
<a class="linktitle" href="javascript:void(0);">业务领域</a>
<ul>
<li>
<a href="/ranges/hjjc">
环境检测
</a>
</li>
<li>
<a href="/ranges/xfjc">
消防检测
</a>
</li>
<li>
<a href="/ranges/ncpjc">
农产品检测
</a>
</li>
<li>
<a href="/ranges/rzpjc">
肉制品检测
</a>
</li>
<li>
<a href="javascript:void(0);">
添加剂检测
</a>
</li>
</ul>
</li>
<li class="ftlink">
<a class="linktitle" href="javascript:void(0);">检测范围</a>
<ul>
<li>
<a href="javascript:void(0);">
农药残留
</a>
</li>
<li>
<a href="javascript:void(0);">
食品添加剂
</a>
</li>
<li>
<a href="javascript:void(0);">
重金属含量
</a>
</li>
<li>
<a href="javascript:void(0);">
微生物检测
</a>
</li>
<li>
<a href="javascript:void(0);">
塑化剂检测
</a>
</li>
</ul>
</li>
<li class="ftlink">
<a class="linktitle" href="javascript:void(0);">合作单位</a>
<ul>
<li>
<a href="http://www.iae.cas.cn/" target="_blank">
中科院沈阳应用生态研究所
</a>
</li>
<!-- <li>
<a href="javascript:void(0);">
中国水科院
</a>
</li>
<li>
<a href="javascript:void(0);">
青岛啤酒
</a>
</li>
<li>
<a href="javascript:void(0);">
北京沙河水库
</a>
</li>
<li>
<a href="javascript:void(0);">
菏泽牡丹园
</a>
</li> -->
</ul>
</li>
<li class="ftlink">
<a class="linktitle" href="javascript:void(0);">联系我们</a>
<div class="ftcontact wrapper">
<div class="ftphoneicon">
<span></span>
</div>
<div class="ftphoneinfo">
<h4>0536-5607056</h4>
<p>7*24小时客服电话</p>
</div>
</div>
<!-- <div class="ftcontact wrapper wechat">
<div class="ftphoneicon">
<span></span>
</div>
<div class="ftphoneinfo">
<h4>微信客服</h4>
<p>扫码关注</p>
</div>
</div> -->
<!-- <ul>
<li>
<a href="javascript:void(0);">
微信
</a>
<a href="javascript:void(0);">
微博
</a>
<a href="javascript:void(0);">
邮箱
</a>
<a href="javascript:void(0);">
电话
</a>
<a href="javascript:void(0);">
地址
</a>
</li>
</ul> -->
</li>
</ul>
<div class="line"></div>
<div class="ftwarp wrapper">
<div class="copyright">
Copyright © 2015-2016 山东诺正检测有限公司
<br><br>
版权所有 鲁ICP备15045188号
</div>
<ul class="copyul">
<li>
<a href="javascript:void(0);" title="诺正版权, 翻版必究">版权说明</a>
</li>
<li>
<a href="javascript:void(0);">使用协议</a>
</li>
<li>
<a href="javascript:void(0);" title="山东懒虫科技有限公司">技术支持</a>
</li>
<li>
<a href="/sign_in">后台管理</a>
</li>
</ul>
</div>
</div>
\ No newline at end of file
<div class="header">
<div class="wrapper">
<div class="logo">
<a href="/" title="山东诺正检测有限公司">
<img src="/images/logo.png" alt="诺正Logo">
</a>
<span style="font-size: 25px;">山东诺正检测有限公司</span>
</div>
<div class="nav">
<ul class="menu">
<li>
<%= link_to '诺正首页', root_path, class: "#{'active' if request.path == '/'}" %>
</li>
<% Post::CATE.each do |key, val| %>
<li>
<%= link_to val[:name], {controller: :home, action: :show, chan: key}, class: "#{'active' if params[:chan].eql?(key)}" %>
</li>
<% end %>
</ul>
</div>
</div>
</div>
# This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__)
run Nuozheng::Application
require File.expand_path('../boot', __FILE__)
require 'rails/all'
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
module Nuozheng
class Application < Rails::Application
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
# Custom directories with classes and modules you want to be autoloadable.
# config.autoload_paths += %W(#{config.root}/extras)
# Only load the plugins named here, in the order given (default is alphabetical).
# :all can be used as a placeholder for all plugins not explicitly named.
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
# Activate observers that should always be running.
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
# config.time_zone = 'Central Time (US & Canada)'
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
# config.i18n.default_locale = :de
# Configure the default encoding used in templates for Ruby 1.9.
config.encoding = "utf-8"
# Configure sensitive parameters which will be filtered from the log file.
config.filter_parameters += [:password]
# Enable escaping HTML in JSON.
config.active_support.escape_html_entities_in_json = true
# Use SQL instead of Active Record's schema dumper when creating the database.
# This is necessary if your schema can't be completely dumped by the schema dumper,
# like if you have constraints or database-specific column types
# config.active_record.schema_format = :sql
# Enforce whitelist mode for mass assignment.
# This will create an empty whitelist of attributes available for mass-assignment for all models
# in your app. As such, your models will need to explicitly whitelist or blacklist accessible
# parameters by using an attr_accessible or attr_protected declaration.
config.active_record.whitelist_attributes = true
# Enable the asset pipeline
config.assets.enabled = true
# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.0'
end
end
require 'rubygems'
# Set up gems listed in the Gemfile.
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
# MySQL. Versions 4.1 and 5.0 are recommended.
#
# Install the MYSQL driver
# gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
# gem 'mysql2'
#
# And be sure to use new-style password hashing:
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: nuozheng
pool: 5
username: tmp
password: tmp
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: mysql2
encoding: utf8
reconnect: false
database: nuozheng
pool: 5
username: tmp
password: tmp
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: nuozheng
pool: 5
username: tmp
password: tmp
require "awesome_print"
# config valid only for current version of Capistrano
lock '3.4.0'
set :application, 'nuozheng'
set :repo_url, 'git@bitbucket.org:bopro/nuozheng.git'
set :branch, "master"
set :deploy_to, '/home/web/nuozheng'
set :scm, :git
set :pty, false
set :keep_releases, 3
set :unicorn_config, "#{current_path}/config/unicorn.rb"
set :unicorn_pid, "#{shared_path}/tmp/pids/unicorn_nuozheng.pid"
namespace :deploy do
task :start do
on roles(:web) do
within current_path do
with rails_env: 'production' do
execute :bundle, "exec unicorn_rails -c #{fetch(:unicorn_config)} -D"
end
end
end
end
task :stop do
on roles(:web) do
execute "if [ -f #{fetch(:unicorn_pid)} ]; then kill -QUIT `cat #{fetch(:unicorn_pid)}`; fi"
end
end
task :restart do
on roles(:web) do
# within current_path do
# 用USR2信号来实现无缝部署重启
execute "if [ -f #{fetch(:unicorn_pid)} ]; then kill -s USR2 `cat #{fetch(:unicorn_pid)}`; fi"
# end
end
end
task :mkdir_shared do
on roles(:web) do
execute "mkdir -p #{shared_path}/log"
execute "mkdir -p #{shared_path}/assets"
execute "mkdir -p #{shared_path}/tmp/pids"
execute "mkdir -p #{shared_path}/tmp/cache"
end
end
task :link_shared do
on roles(:web) do
execute "ln -sf #{shared_path}/log #{current_path}/log"
execute "ln -sf #{shared_path}/assets #{current_path}/public/assets"
execute "ln -sf #{shared_path}/tmp #{current_path}/tmp"
end
end
task :db_migrate do
on roles(:web) do
within current_path do
with rails_env: 'production' do
execute :bundle, :exec, :rake, 'db:migrate'
end
end
end
end
task :bundle_install do
on roles(:web) do
within current_path do
with rails_env: 'production' do
execute :bundle, 'install'
end
end
end
end
before :starting, :mkdir_shared
after :publishing, :link_shared
after :publishing, :bundle_install
after :publishing, :db_migrate
after :publishing, :restart # 第一次部署会有找不到unicron.pid的bug
end
# server-based syntax
# ======================
# Defines a single server with a list of roles and multiple properties.
# You can define all roles on a single server, or split them:
# server 'example.com', user: 'deploy', roles: %w{app db web}, my_property: :my_value
# server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value
server '115.28.86.237', user: 'web', roles: %w{app db web}
# role-based syntax
# ==================
# Defines a role with one or multiple servers. The primary server in each
# group is considered to be the first unless any hosts have the primary
# property set. Specify the username and a domain or IP for the server.
# Don't use `:all`, it's a meta role.
role :app, "115.28.86.237"
# role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value
# role :db, %w{deploy@example.com}
# Configuration
# =============
# You can set any configuration variable like in config/deploy.rb
# These variables are then only loaded and set in this stage.
# For available Capistrano configuration variables see the documentation page.
# http://capistranorb.com/documentation/getting-started/configuration/
# Feel free to add new variables to customise your setup.
# Custom SSH Options
# ==================
# You may pass any option but keep in mind that net/ssh understands a
# limited set of options, consult the Net::SSH documentation.
# http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
#
# Global options
# --------------
# set :ssh_options, {
# keys: %w(/home/rlisowski/.ssh/id_rsa),
# forward_agent: false,
# auth_methods: %w(password)
# }
#
# The server-based syntax can be used to override options:
# ------------------------------------
# server 'example.com',
# user: 'user_name',
# roles: %w{web app},
# ssh_options: {
# user: 'user_name', # overrides user setting above
# keys: %w(/home/user_name/.ssh/id_rsa),
# forward_agent: false,
# auth_methods: %w(publickey password)
# # password: 'please use keys'
# }
# server-based syntax
# ======================
# Defines a single server with a list of roles and multiple properties.
# You can define all roles on a single server, or split them:
# server 'example.com', user: 'deploy', roles: %w{app db web}, my_property: :my_value
# server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value
# server 'db.example.com', user: 'deploy', roles: %w{db}
# role-based syntax
# ==================
# Defines a role with one or multiple servers. The primary server in each
# group is considered to be the first unless any hosts have the primary
# property set. Specify the username and a domain or IP for the server.
# Don't use `:all`, it's a meta role.
# role :app, %w{deploy@example.com}, my_property: :my_value
# role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value
# role :db, %w{deploy@example.com}
# Configuration
# =============
# You can set any configuration variable like in config/deploy.rb
# These variables are then only loaded and set in this stage.
# For available Capistrano configuration variables see the documentation page.
# http://capistranorb.com/documentation/getting-started/configuration/
# Feel free to add new variables to customise your setup.
# Custom SSH Options
# ==================
# You may pass any option but keep in mind that net/ssh understands a
# limited set of options, consult the Net::SSH documentation.
# http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
#
# Global options
# --------------
# set :ssh_options, {
# keys: %w(/home/rlisowski/.ssh/id_rsa),
# forward_agent: false,
# auth_methods: %w(password)
# }
#
# The server-based syntax can be used to override options:
# ------------------------------------
# server 'example.com',
# user: 'user_name',
# roles: %w{web app},
# ssh_options: {
# user: 'user_name', # overrides user setting above
# keys: %w(/home/user_name/.ssh/id_rsa),
# forward_agent: false,
# auth_methods: %w(publickey password)
# # password: 'please use keys'
# }
# Load the rails application
require File.expand_path('../application', __FILE__)
# Initialize the rails application
Nuozheng::Application.initialize!
Nuozheng::Application.configure do
# Settings specified here will take precedence over those in config/application.rb
# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
# Log error messages when you accidentally call methods on nil.
config.whiny_nils = true
# Show full error reports and disable caching
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
# Don't care if the mailer can't send
config.action_mailer.raise_delivery_errors = false
# Print deprecation notices to the Rails logger
config.active_support.deprecation = :log
# Only use best-standards-support built into browsers
config.action_dispatch.best_standards_support = :builtin
# Raise exception on mass assignment protection for Active Record models
config.active_record.mass_assignment_sanitizer = :strict
# Log the query plan for queries taking more than this (works
# with SQLite, MySQL, and PostgreSQL)
config.active_record.auto_explain_threshold_in_seconds = 0.5
# Do not compress assets
config.assets.compress = false
# Expands the lines which load the assets
config.assets.debug = true
end
Nuozheng::Application.configure do
# Settings specified here will take precedence over those in config/application.rb
# Code is not reloaded between requests
config.cache_classes = true
# Full error reports are disabled and caching is turned on
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = true
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
# Generate digests for assets URLs
config.assets.digest = true
config.assets.js_compressor = :uglifier
# Defaults to nil and saved in location specified by config.assets.prefix
# config.assets.manifest = YOUR_PATH
# Specifies the header that your server uses for sending files
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
# config.force_ssl = true
# See everything in the log (default is :info)
# config.log_level = :debug
# Prepend all log lines with the following tags
# config.log_tags = [ :subdomain, :uuid ]
# Use a different logger for distributed setups
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
# Use a different cache store in production
# config.cache_store = :mem_cache_store
# Enable serving of images, stylesheets, and JavaScripts from an asset server
# config.action_controller.asset_host = "http://assets.example.com"
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
# config.assets.precompile += %w( search.js )
# Disable delivery errors, bad email addresses will be ignored
# config.action_mailer.raise_delivery_errors = false
# Enable threaded mode
# config.threadsafe!
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
# the I18n.default_locale when a translation can not be found)
config.i18n.fallbacks = true
# Send deprecation notices to registered listeners
config.active_support.deprecation = :notify
# Log the query plan for queries taking more than this (works
# with SQLite, MySQL, and PostgreSQL)
# config.active_record.auto_explain_threshold_in_seconds = 0.5
# config.action_mailer.default_url_options = {:host => 'www.normz.cn'}
end
Nuozheng::Application.configure do
# Settings specified here will take precedence over those in config/application.rb
# The test environment is used exclusively to run your application's
# test suite. You never need to work with it otherwise. Remember that
# your test database is "scratch space" for the test suite and is wiped
# and recreated between test runs. Don't rely on the data there!
config.cache_classes = true
# Configure static asset server for tests with Cache-Control for performance
config.serve_static_assets = true
config.static_cache_control = "public, max-age=3600"
# Log error messages when you accidentally call methods on nil
config.whiny_nils = true
# Show full error reports and disable caching
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
# Raise exceptions instead of rendering exception templates
config.action_dispatch.show_exceptions = false
# Disable request forgery protection in test environment
config.action_controller.allow_forgery_protection = false
# Tell Action Mailer not to deliver emails to the real world.
# The :test delivery method accumulates sent emails in the
# ActionMailer::Base.deliveries array.
config.action_mailer.delivery_method = :test
# Raise exception on mass assignment protection for Active Record models
config.active_record.mass_assignment_sanitizer = :strict
# Print deprecation notices to the stderr
config.active_support.deprecation = :stderr
end
# Be sure to restart your server when you modify this file.
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
# Rails.backtrace_cleaner.remove_silencers!
# Be sure to restart your server when you modify this file.
# Add new inflection rules using the following format
# (all these examples are active by default):
# ActiveSupport::Inflector.inflections do |inflect|
# inflect.plural /^(ox)$/i, '\1en'
# inflect.singular /^(ox)en/i, '\1'
# inflect.irregular 'person', 'people'
# inflect.uncountable %w( fish sheep )
# end
#
# These inflection rules are supported but not enabled by default:
# ActiveSupport::Inflector.inflections do |inflect|
# inflect.acronym 'RESTful'
# end
Kaminari.configure do |config|
# config.default_per_page = 25
# config.max_per_page = nil
# config.window = 4
# config.outer_window = 0
# config.left = 0
# config.right = 0
# config.page_method_name = :page
# config.param_name = :page
end
# Be sure to restart your server when you modify this file.
# Add new mime types for use in respond_to blocks:
# Mime::Type.register "text/richtext", :rtf
# Mime::Type.register_alias "text/html", :iphone
# Be sure to restart your server when you modify this file.
# Your secret key for verifying the integrity of signed cookies.
# If you change this key, all old signed cookies will become invalid!
# Make sure the secret is at least 30 characters and all random,
# no regular words or you'll be exposed to dictionary attacks.
Nuozheng::Application.config.secret_token = '8b17a9f8327eae4357722ea078c5905462235872cb3cb0c89680fe21a6a0e74cacc995202b6e998221ecf8f7e5625b22388c9cfef51b2a08111a54e127f27d64'
# Be sure to restart your server when you modify this file.
Nuozheng::Application.config.session_store :cookie_store, key: '_nuozheng_session'
# Use the database for sessions instead of the cookie-based default,
# which shouldn't be used to store highly confidential information
# (create the session table with "rails generate session_migration")
# Nuozheng::Application.config.session_store :active_record_store
# Be sure to restart your server when you modify this file.
#
# This file contains settings for ActionController::ParamsWrapper which
# is enabled by default.
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
ActiveSupport.on_load(:action_controller) do
wrap_parameters format: [:json]
end
# Disable root element in JSON by default.
ActiveSupport.on_load(:active_record) do
self.include_root_in_json = false
end
# Sample localization file for English. Add more files in this directory for other locales.
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
en:
hello: "Hello world"
en:
views:
pagination:
first: "首页"
last: "尾页"
previous: "上一页"
next: "下一页"
truncate: "..."
\ No newline at end of file
zh-CN:
views:
pagination:
first: "首页"
last: "尾页"
previous: "上一页"
next: "下一页"
truncate: "..."
\ No newline at end of file
Nuozheng::Application.routes.draw do
post '/upload' => 'posts#upload'
get '/sign_in' => 'posts#sign_in'
post '/sign_in' => 'posts#sign_in'
get '/sign_out' => 'posts#sign_out'
resources :posts
constraints subdomain: 'h5' do
root :to => 'mobile#index'
end
get ':chan(/:cate(/:flag))(.:format)' => 'home#show'
# cultures
# resources :ranges, only: [:index, :show]
# resources :dynamics, only: [:index, :show]
# resources :cultures, only: [:index, :show]
# resources :abouts, only: [:index, :show]
# resources :jobs, only: [:index, :show]
# The priority is based upon order of creation:
# first created -> highest priority.
# Sample of regular route:
# match 'products/:id' => 'catalog#view'
# Keep in mind you can assign values other than :controller and :action
# Sample of named route:
# match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase
# This route can be invoked with purchase_url(:id => product.id)
# Sample resource route (maps HTTP verbs to controller actions automatically):
# resources :products
# Sample resource route with options:
# resources :products do
# member do
# get 'short'
# post 'toggle'
# end
#
# collection do
# get 'sold'
# end
# end
# Sample resource route with sub-resources:
# resources :products do
# resources :comments, :sales
# resource :seller
# end
# Sample resource route with more complex sub-resources
# resources :products do
# resources :comments
# resources :sales do
# get 'recent', :on => :collection
# end
# end
# Sample resource route within a namespace:
# namespace :admin do
# # Directs /admin/products/* to Admin::ProductsController
# # (app/controllers/admin/products_controller.rb)
# resources :products
# end
# You can have the root of your site routed with "root"
# just remember to delete public/index.html.
root :to => 'home#index'
# See how all your routes lay out with "rake routes"
# This is a legacy wild controller route that's not recommended for RESTful applications.
# Note: This route will make all actions in every controller accessible via GET requests.
# match ':controller(/:action(/:id))(.:format)'
end
worker_processes 1
app_root = File.expand_path("../..", __FILE__)
working_directory app_root
# Listen on fs socket for better performance
listen "/tmp/unicorn.nuozheng.sock", :backlog => 64
listen 5096, :tcp_nopush => false
# Nuke workers after 30 seconds instead of 60 seconds (the default)
timeout 30
# App PID
pid "#{app_root}/tmp/pids/unicorn_nuozheng.pid"
# By default, the Unicorn logger will write to stderr.
# Additionally, some applications/frameworks log to stderr or stdout,
# so prevent them from going to /dev/null when daemonized here:
stderr_path "#{app_root}/log/unicorn.stderr.log"
stdout_path "#{app_root}/log/unicorn.stdout.log"
# To save some memory and improve performance
preload_app true
# GC.respond_to?(:copy_on_write_friendly=) and GC.copy_on_write_friendly = true
# Force the bundler gemfile environment variable to
# reference the Сapistrano "current" symlink
before_exec do |_|
ENV["BUNDLE_GEMFILE"] = File.join(app_root, 'Gemfile')
end
before_fork do |server, worker|
# 参考 http://unicorn.bogomips.org/SIGNALS.html
# 使用USR2信号,以及在进程完成后用QUIT信号来实现无缝重启
old_pid = app_root + '/tmp/pids/unicorn_nuozheng.pid.oldbin'
if File.exists?(old_pid) && server.pid != old_pid
begin
Process.kill("QUIT", File.read(old_pid).to_i)
rescue Errno::ENOENT, Errno::ESRCH
# someone else did our job for us
end
end
# the following is highly recomended for Rails + "preload_app true"
# as there's no need for the master process to hold a connection
defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!
end
after_fork do |server, worker|
# # 禁止GC,配合后续的OOB,来减少请求的执行时间
# GC.disable
# the following is *required* for Rails + "preload_app true",
defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
end
class CreatePosts < ActiveRecord::Migration
def change
create_table :posts do |t|
t.string :title
t.string :flag
t.string :words
t.text :detail
t.integer :parent_id
t.string :chan
t.string :cate
t.boolean :isdel, default: false
t.timestamps
end
end
end
class CreatePictures < ActiveRecord::Migration
def change
create_table :pictures do |t|
t.string :filename
t.timestamps
end
end
end
# encoding: UTF-8
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20160109100011) do
create_table "pictures", :force => true do |t|
t.string "filename"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "posts", :force => true do |t|
t.string "title"
t.string "flag"
t.text "detail"
t.integer "parent_id"
t.string "chan"
t.string "cate"
t.boolean "isdel", :default => false
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
end
# This file should contain all the record creation needed to seed the database with its default values.
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
#
# Examples:
#
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
# Mayor.create(name: 'Emanuel', city: cities.first)
Use this README file to introduce your application and point to useful places in the API for learning more.
Run "rake doc:app" to generate API documentation for your models, controllers, helpers, and libraries.
File mode changed
File mode changed
No preview for this file type
<!DOCTYPE html>
<html>
<head>
<title>The page you were looking for doesn't exist (404)</title>
<style type="text/css">
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
div.dialog {
width: 25em;
padding: 0 4em;
margin: 4em auto 0 auto;
border: 1px solid #ccc;
border-right-color: #999;
border-bottom-color: #999;
}
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
</style>
</head>
<body>
<!-- This file lives in public/404.html -->
<div class="dialog">
<h1>The page you were looking for doesn't exist.</h1>
<p>You may have mistyped the address or the page may have moved.</p>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>The change you wanted was rejected (422)</title>
<style type="text/css">
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
div.dialog {
width: 25em;
padding: 0 4em;
margin: 4em auto 0 auto;
border: 1px solid #ccc;
border-right-color: #999;
border-bottom-color: #999;
}
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
</style>
</head>
<body>
<!-- This file lives in public/422.html -->
<div class="dialog">
<h1>The change you wanted was rejected.</h1>
<p>Maybe you tried to change something you didn't have access to.</p>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>We're sorry, but something went wrong (500)</title>
<style type="text/css">
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
div.dialog {
width: 25em;
padding: 0 4em;
margin: 4em auto 0 auto;
border: 1px solid #ccc;
border-right-color: #999;
border-bottom-color: #999;
}
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
</style>
</head>
<body>
<!-- This file lives in public/500.html -->
<div class="dialog">
<h1>We're sorry, but something went wrong.</h1>
</div>
</body>
</html>
File mode changed
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
//去除手机浏览器的touch active 的效果/////
if (!(/msie [6|7|8|9]/i.test(navigator.userAgent))){
new WOW().init();
};
$(function(){
// $(window).scroll(function () {
// if($(window).scrollTop()=="0") {
// $("#to-top").fadeOut();
// }else {
// $("#to-top").fadeIn();
// }
// });
$("#to-top").on("click", function(){
$("html,body").animate({scrollTop:0},300);
return false;
});
})
\ No newline at end of file
$(function () {
var chart = new Highcharts.Chart({
credits: {
enabled: false
},
chart: {
renderTo: 'innerchart',
events: {
load: function () {
// Draw the flow chart
var ren = this.renderer,
colors = Highcharts.getOptions().colors,
topArrow = ['M', 0, 50, 'L', 0, 0, 'L', -3, 3, 'M', 0, 0, 'L', 3, 3],
bottomArrow = ['M', 0, 0, 'L', 0, 50, 'L', -3, 47, 'M', 0, 50, 'L', 3, 47],
rightArrow = ['M', 0, 0, 'L', 50, 0, 'L', 47, 3, 'M', 50, 0, 'L', 47, -3],
leftArrow = ['M', 50, 0, 'L', 0, 0, 'L', 3, 3, 'M', 0, 0, 'L', 3, -3];
// 开始, 委托
ren.label('委<br>托<br>单<br>位<br>、<br>被<br>抽<br>检<br>单<br>位', 5, 150)
.attr({
fill: colors[0],
stroke: 'white',
'stroke-width': 2,
padding: 5,
r: 5,
height: 200
})
.css({
color: 'white'
})
.add()
.shadow(true);
// 诉讼处理意见
ren.label('诉讼处理意见', 100, 150)
.attr({
r: 5,
width: 75,
fill: colors[3]
})
.css({
color: 'white'
})
.add();
// 提出诉讼
ren.label('提出诉讼', 100, 220)
.attr({
r: 5,
width: 75,
fill: colors[5]
})
.css({
color: 'white',
textAlign: 'center'
})
.add();
// 发送报告
ren.label('发送报告', 100, 280)
.attr({
r: 5,
width: 75,
fill: colors[6]
})
.css({
color: 'white',
textAlign: 'center'
})
.add();
// 图纸
ren.label('图纸', 100, 340)
.attr({
r: 5,
width: 75,
fill: colors[7]
})
.css({
color: 'white',
textAlign: 'center'
})
.add();
ren.label('综<br>合<br>部', 250, 150)
.attr({
fill: colors[8],
stroke: 'white',
'stroke-width': 2,
padding: 5,
r: 5,
height: 200
})
.css({
color: 'white'
})
.add()
.shadow(true);
ren.label('报告副本及<br>原记录归档', 230, 60)
.attr({
fill: colors[9],
stroke: 'white',
'stroke-width': 2,
padding: 5,
r: 5,
height: 30
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('归档', 340, 100)
.attr({
fill: colors[0],
stroke: 'white',
'stroke-width': 2,
padding: 5,
r: 5,
width: 50,
height: 30
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('受理投诉', 340, 150)
.attr({
fill: colors[1],
r: 5,
width: 60
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('质量负责人', 440, 150)
.attr({
fill: colors[2],
r: 5,
width: 60
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('调查原因', 540, 150)
.attr({
fill: colors[3],
r: 5,
width: 60
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('反馈意见', 640, 150)
.attr({
fill: colors[4],
r: 5,
width: 60
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('编写报告', 340, 200)
.attr({
fill: colors[5],
r: 5,
width: 60
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('技术负责人审批', 440, 200)
.attr({
fill: colors[6],
r: 5
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('合同审批', 340, 250)
.attr({
fill: colors[7],
r: 5,
width: 60
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('下<br>达<br>任<br>务<br>单', 445, 240)
.attr({
fill: colors[4],
r: 5,
height: 90
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('检<br>测<br>部', 505, 240)
.attr({
fill: colors[5],
r: 5,
height: 90
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('现<br>场<br>检<br>测', 565, 240)
.attr({
fill: colors[6],
r: 5,
height: 90
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('填<br>写<br>原<br>始<br>记<br>录', 625, 240)
.attr({
fill: colors[7],
r: 5,
height: 90
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('部<br>内<br>审<br>核', 685, 240)
.attr({
fill: colors[8],
r: 5,
height: 90
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('提<br>交<br>检<br>测<br>结<br>果', 745, 240)
.attr({
fill: colors[9],
r: 5,
height: 90
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('记录', 340, 360)
.attr({
fill: colors[0],
stroke: 'white',
'stroke-width': 2,
padding: 5,
r: 5,
width: 60
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
ren.label('修改', 480, 360)
.attr({
fill: colors[1],
stroke: 'white',
'stroke-width': 2,
padding: 5,
r: 5,
width: 60
})
.css({
color: 'white',
textAlign: 'center'
})
.add()
.shadow(true);
// 画线
ren.path(leftArrow)
.attr({
'stroke-width': 0,
stroke: colors[0]
})
.animate({'stroke-width': 2}, 3000)
.translate(40, 160)
.add();
ren.path(rightArrow)
.attr({
'stroke-width': 0,
stroke: colors[1]
})
.animate({'stroke-width': 2}, 3000)
.translate(40, 230)
.add();
ren.path(leftArrow)
.attr({
'stroke-width': 0,
stroke: colors[2]
})
.animate({'stroke-width': 2}, 3000)
.translate(40, 290)
.add();
ren.path(rightArrow)
.attr({
'stroke-width': 0,
stroke: colors[3]
})
.animate({'stroke-width': 2}, 3000)
.translate(40, 350)
.add();
ren.path(rightArrow)
.attr({
'stroke-width': 0,
stroke: colors[4]
})
.animate({'stroke-width': 2}, 3000)
.translate(190, 160)
.add();
ren.path(leftArrow)
.attr({
'stroke-width': 0,
stroke: colors[5]
})
.animate({'stroke-width': 2}, 3000)
.translate(190, 230)
.add();
ren.path(rightArrow)
.attr({
'stroke-width': 0,
stroke: colors[6]
})
.animate({'stroke-width': 2}, 3000)
.translate(190, 290)
.add();
ren.path(leftArrow)
.attr({
'stroke-width': 0,
stroke: colors[7]
})
.animate({'stroke-width': 2}, 3000)
.translate(190, 350)
.add();
ren.path(['M', 0, 40, 'L', 0, 0, 'L', -3, 3, 'M', 0, 0, 'L', 3, 3])
.attr({
'stroke-width': 0,
stroke: colors[8]
})
.animate({'stroke-width': 2}, 3000)
.translate(255, 105)
.add();
ren.path(rightArrow)
.attr({
'stroke-width': 0,
stroke: colors[9]
})
.animate({'stroke-width': 2}, 3000)
.translate(280, 160)
.add();
ren.path(['M', 150, 145, 'L', 150, 125, 'C', 150, 115, 150, 115, 160, 115, 'L', 335, 115, 'L', 332, 118, 'M', 335, 115, 'L', 332, 112])
.attr({
'stroke-width': 0,
stroke: colors[0]
})
.animate({'stroke-width': 2}, 3000)
.add();
ren.path(['M', 310, 70, 'L', 360, 70, 'C', 370, 70, 370, 80, 370, 80, 'L', 370, 95, 'L', 367, 92, 'M', 370, 95, 'L', 373, 92])
.attr({
'stroke-width': 0,
stroke: colors[1]
})
.animate({'stroke-width': 2}, 3000)
.add();
ren.path(['M', 260, 145, 'L', 260, 135, 'C', 260, 125, 260, 125, 270, 125, 'L', 335, 125, 'L', 332, 122, 'M', 335, 125, 'L', 332, 128])
.attr({
'stroke-width': 0,
stroke: colors[2]
})
.animate({'stroke-width': 2}, 3000)
.add();
ren.path(['M', 0, 0, 'L', 25, 0, 'L', 22, 3, 'M', 25, 0, 'L', 22, -3])
.attr({
'stroke-width': 0,
stroke: colors[3]
})
.animate({'stroke-width': 2}, 3000)
.translate(410, 160)
.add();
ren.path(['M', 0, 0, 'L', 25, 0, 'L', 22, 3, 'M', 25, 0, 'L', 22, -3])
.attr({
'stroke-width': 0,
stroke: colors[4]
})
.animate({'stroke-width': 2}, 3000)
.translate(510, 160)
.add();
ren.path(['M', 0, 0, 'L', 25, 0, 'L', 22, 3, 'M', 25, 0, 'L', 22, -3])
.attr({
'stroke-width': 0,
stroke: colors[5]
})
.animate({'stroke-width': 2}, 3000)
.translate(610, 160)
.add();
ren.path(rightArrow)
.attr({
'stroke-width': 0,
stroke: colors[6]
})
.animate({'stroke-width': 2}, 3000)
.translate(280, 210)
.add();
ren.path(['M', 0, 0, 'L', 25, 0, 'L', 22, 3, 'M', 25, 0, 'L', 22, -3])
.attr({
'stroke-width': 0,
stroke: colors[7]
})
.animate({'stroke-width': 2}, 3000)
.translate(410, 210)
.add();
ren.path(rightArrow)
.attr({
'stroke-width': 0,
stroke: colors[8]
})
.animate({'stroke-width': 2}, 3000)
.translate(280, 260)
.add();
ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3])
.attr({
'stroke-width': 0,
stroke: colors[9]
})
.animate({'stroke-width': 2}, 3000)
.translate(410, 260)
.add();
ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3])
.attr({
'stroke-width': 0,
stroke: colors[0]
})
.animate({'stroke-width': 2}, 3000)
.translate(470, 260)
.add();
ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3])
.attr({
'stroke-width': 0,
stroke: colors[1]
})
.animate({'stroke-width': 2}, 3000)
.translate(530, 260)
.add();
ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3])
.attr({
'stroke-width': 0,
stroke: colors[2]
})
.animate({'stroke-width': 2}, 3000)
.translate(590, 260)
.add();
ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3])
.attr({
'stroke-width': 0,
stroke: colors[3]
})
.animate({'stroke-width': 2}, 3000)
.translate(650, 260)
.add();
ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3])
.attr({
'stroke-width': 0,
stroke: colors[4]
})
.animate({'stroke-width': 2}, 3000)
.translate(710, 260)
.add();
ren.path(['M', 0, 0, 'L', 0, 15, 'L', -3, 12, 'M', 0, 15, 'L', 3, 12])
.attr({
'stroke-width': 0,
stroke: colors[5]
})
.animate({'stroke-width': 2}, 3000)
.translate(515, 340)
.add();
ren.path(['M', 0, 0, 'L', -50, 0, 'L', -47, -3, 'M', -50, 0, 'L', -47, 3])
.attr({
'stroke-width': 0,
stroke: colors[6]
})
.animate({'stroke-width': 2}, 3000)
.translate(475, 372)
.add();
ren.path(['M', 0, 0, 'L', 0, 75, 'L', -3, 72, 'M', 0, 75, 'L', 3, 72])
.attr({
'stroke-width': 0,
stroke: colors[7]
})
.animate({'stroke-width': 2}, 3000)
.translate(370, 280)
.add();
ren.path(['M', 710, 160, 'L', 720, 160, 'C', 720, 160, 725, 160, 725, 165, 'L', 725, 170, 'C', 725, 175, 720, 175, 720, 175, 'L', 280, 175, 'L', 283, 178, 'M', 280, 175, 'L', 283, 172])
.attr({
'stroke-width': 0,
stroke: colors[8]
})
.animate({'stroke-width': 2}, 3000)
.add();
ren.path(['M', 535, 210, 'L', 550, 210, 'C', 550, 210, 555, 210, 555, 205, 'L', 555, 195, 'C', 555, 190, 550, 190, 550, 190, 'L', 280, 190, 'L', 283, 193, 'M', 280, 190, 'L', 283, 187])
.attr({
'stroke-width': 0,
stroke: colors[9]
})
.animate({'stroke-width': 2}, 3000)
.add();
ren.path(['M', 770, 280, 'L', 780, 280, 'L', 780, 230, 'L', 280, 230, 'L', 283, 233, 'M', 280, 230, 'L', 283, 227])
.attr({
'stroke-width': 0,
stroke: colors[0]
})
.animate({'stroke-width': 2}, 3000)
.add();
}
}
},
title: {
text: '诺正检验工作流程图'
}
});
});
\ No newline at end of file
// Ionic Starter App
// angular.module is a global place for creating, registering and retrieving Angular modules
// 'starter' is the name of this angular module example (also set in a <body> attribute in index.html)
// the 2nd parameter is an array of 'requires'
// 'starter.controllers' is found in controllers.js
angular.module('starter', ['ionic', 'ion-gallery', 'starter.controllers'])
.run(function($ionicPlatform) {
// $ionicPlatform.ready(function() {
// // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// // for form inputs)
// if (window.cordova && window.cordova.plugins.Keyboard) {
// cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
// cordova.plugins.Keyboard.disableScroll(true);
// }
// if (window.StatusBar) {
// // org.apache.cordova.statusbar required
// StatusBar.styleDefault();
// }
var ua = navigator.userAgent || navigator.vendor || window.opera;
var ismobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(ua) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(ua.substr(0,4))
if(!ismobile){
var addr = 'http://normz.cn' + window.location.hash.replace(/#\/app/, '');
window.location.href = addr;
}
})
.config(function($stateProvider, $urlRouterProvider, $ionicConfigProvider) {
$ionicConfigProvider.platform.ios.navBar.alignTitle('center');
$ionicConfigProvider.platform.android.navBar.alignTitle('center');
$ionicConfigProvider.backButton.text('返回');
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: '/templates/menu.html',
controller: 'AppCtrl'
})
.state('app.home', {
url: '/home',
views: {
'menuContent': {
templateUrl: '/templates/home.html',
controller: 'HomeCtrl'
}
}
})
.state('app.devices', {
url: '/abouts/yjss/devices',
views: {
'menuContent': {
templateUrl: '/templates/devices.html',
controller: 'DevicesCtrl'
}
}
})
.state('app.wssj', {
url: '/sources/wssj',
views: {
'menuContent': {
templateUrl: '/templates/wssj.html',
controller: 'WssjCtrl'
}
}
})
.state('app.bgcx', {
url: '/sources/bgcx',
views: {
'menuContent': {
templateUrl: '/templates/bgcx.html',
controller: 'BgcxCtrl'
}
}
})
.state('app.gsjj', {
url: '/abouts/gsjj',
views: {
'menuContent': {
templateUrl: '/templates/gsjj.html',
controller: 'GsjjCtrl'
}
}
})
// .state('app.ranges', {
// url: '/ranges',
// views: {
// 'menuContent': {
// templateUrl: '/templates/ranges.html',
// controller: 'RangesCtrl'
// }
// }
// })
// .state('app.sources', {
// url: '/sources',
// views: {
// 'menuContent': {
// templateUrl: '/templates/sources.html',
// controller: 'SourcesCtrl'
// }
// }
// })
// .state('app.dynamics', {
// url: '/dynamics',
// views: {
// 'menuContent': {
// templateUrl: '/templates/dynamics.html',
// controller: 'DynamicsCtrl'
// }
// }
// })
// .state('app.cultures', {
// url: '/cultures',
// views: {
// 'menuContent': {
// templateUrl: '/templates/cultures.html',
// controller: 'CulturesCtrl'
// }
// }
// })
// .state('app.abouts', {
// url: '/abouts',
// views: {
// 'menuContent': {
// templateUrl: '/templates/abouts.html',
// controller: 'AboutsCtrl'
// }
// }
// })
// .state('app.jobs', {
// url: '/jobs',
// views: {
// 'menuContent': {
// templateUrl: '/templates/jobs.html',
// controller: 'JobsCtrl'
// }
// }
// })
.state('app.channel', {
url: '/:channel',
views: {
'menuContent': {
templateUrl: '/templates/channel.html',
controller: 'ChannelCtrl'
}
}
})
.state('app.category', {
url: '/:channel/:category',
views: {
'menuContent': {
templateUrl: '/templates/category.html',
controller: 'CategoryCtrl'
}
},
resolve: {
posts: function($http, $q, $stateParams){
return $q(function(resolve, reject){
$http({
url: '/' + $stateParams.channel + '/' + $stateParams.category + '?type=api',
method: 'GET'
}).success(function(resp, code){
resolve(resp.posts);
});
});
}
}
})
.state('app.post', {
url: '/:channel/:category/:flag',
views: {
'menuContent': {
templateUrl: '/templates/post.html',
controller: 'PostCtrl'
}
},
resolve: {
post: function($http, $q, $stateParams){
return $q(function(resolve, reject){
$http({
url: '/' + $stateParams.channel + '/' + $stateParams.category + '/' + $stateParams.flag + '?type=api',
method: 'GET'
}).success(function(resp, code){
resolve(resp.post);
});
});
}
}
});
// .state('app.search', {
// url: '/search',
// views: {
// 'menuContent': {
// templateUrl: '/templates/search.html'
// }
// }
// })
// .state('app.browse', {
// url: '/browse',
// views: {
// 'menuContent': {
// templateUrl: '/templates/browse.html'
// }
// }
// })
// .state('app.playlists', {
// url: '/playlists',
// views: {
// 'menuContent': {
// templateUrl: '/templates/playlists.html',
// controller: 'PlaylistsCtrl'
// }
// }
// })
// .state('app.single', {
// url: '/playlists/:playlistId',
// views: {
// 'menuContent': {
// templateUrl: '/templates/playlist.html',
// controller: 'PlaylistCtrl'
// }
// }
// });
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/app/home');
});
angular.module('starter.controllers', [])
.controller('AppCtrl', function($scope, $timeout) {
$scope.channels = CHANNELS;
})
.controller('HomeCtrl', function($scope) {
})
.controller('ChannelCtrl', function($scope, $stateParams) {
$scope.channel = $stateParams.channel;
$scope.category_object = CHANNELS[$stateParams.channel];
})
.controller('CategoryCtrl', function($scope, $stateParams, posts) {
$scope.channel = $stateParams.channel;
$scope.category = $stateParams.category;
$scope.category_name = CHANNELS[$stateParams.channel].cate[$stateParams.category];
$scope.posts = posts;
if(posts.length == 1){
$scope.post = posts[0];
}
})
.controller('PostCtrl', function($scope, $stateParams, post) {
$scope.channel = $stateParams.channel;
$scope.category = $stateParams.category;
$scope.flag = $stateParams.flag;
$scope.post = post;
})
.controller('DevicesCtrl', function($scope) {
$scope.items = [
{src: '/images/devices/01.jpg', thumb: '/images/devices/thumb-01.jpg', sub: ''},
{src: '/images/devices/02.jpg', thumb: '/images/devices/thumb-02.jpg', sub: ''},
{src: '/images/devices/03.jpg', thumb: '/images/devices/thumb-03.jpg', sub: ''},
{src: '/images/devices/04.jpg', thumb: '/images/devices/thumb-04.jpg', sub: ''},
{src: '/images/devices/05.jpg', thumb: '/images/devices/thumb-05.jpg', sub: ''},
{src: '/images/devices/06.jpg', thumb: '/images/devices/thumb-06.jpg', sub: ''},
{src: '/images/devices/07.jpg', thumb: '/images/devices/thumb-07.jpg', sub: ''},
{src: '/images/devices/08.jpg', thumb: '/images/devices/thumb-08.jpg', sub: ''},
{src: '/images/devices/09.jpg', thumb: '/images/devices/thumb-09.jpg', sub: ''},
{src: '/images/devices/10.jpg', thumb: '/images/devices/thumb-10.jpg', sub: ''},
{src: '/images/devices/11.jpg', thumb: '/images/devices/thumb-11.jpg', sub: ''},
{src: '/images/devices/12.jpg', thumb: '/images/devices/thumb-12.jpg', sub: ''},
{src: '/images/devices/13.jpg', thumb: '/images/devices/thumb-13.jpg', sub: ''},
{src: '/images/devices/14.jpg', thumb: '/images/devices/thumb-14.jpg', sub: ''}
];
})
.controller('WssjCtrl', function($scope) {
})
.controller('BgcxCtrl', function($scope) {
})
.controller('GsjjCtrl', function($scope) {
var video = document.getElementsByTagName('video')[0];
var width = video.parentElement.clientWidth - 20;
video.width = width;
video.height = width / (300 / 170.0);
// $scope.play = function(){
// }
});
(function () {
'use strict';
angular
.module('ion-gallery', ['templates'])
.directive('ionGallery', ionGallery);
ionGallery.$inject = ['$ionicPlatform', 'ionGalleryHelper', 'ionGalleryConfig'];
function ionGallery($ionicPlatform, ionGalleryHelper, ionGalleryConfig) {
controller.$inject = ["$scope"];
return {
restrict: 'AE',
scope: {
ionGalleryItems: '=ionGalleryItems',
ionGalleryRowSize: '=?ionGalleryRow',
ionItemCallback: '&?ionItemCallback'
},
controller: controller,
link: link,
replace: true,
templateUrl: 'gallery.html'
};
function controller($scope) {
var _rowSize = parseInt($scope.ionGalleryRowSize);
var _drawGallery = function () {
$scope.ionGalleryRowSize = ionGalleryHelper.getRowSize(_rowSize || ionGalleryConfig.row_size, $scope.ionGalleryItems.length);
$scope.actionLabel = ionGalleryConfig.action_label;
$scope.items = ionGalleryHelper.buildGallery($scope.ionGalleryItems, $scope.ionGalleryRowSize);
$scope.responsiveGrid = parseInt((1 / $scope.ionGalleryRowSize) * 100);
};
_drawGallery();
(function () {
$scope.$watch(function () {
return $scope.ionGalleryItems.length;
}, function (newVal, oldVal) {
if (newVal !== oldVal) {
_drawGallery();
}
});
}());
}
function link(scope, element, attrs) {
scope.customCallback = angular.isFunction(scope.ionItemCallback) && attrs.hasOwnProperty('ionItemCallback')
scope.ionSliderToggle = attrs.ionGalleryToggle === 'false' ? false : ionGalleryConfig.toggle;
}
}
})();
(function(){
'use strict';
angular
.module('ion-gallery')
.provider('ionGalleryConfig',ionGalleryConfig);
ionGalleryConfig.$inject = [];
function ionGalleryConfig(){
this.config = {
action_label: 'Done',
toggle: true,
row_size: 3,
fixed_row_size: true
};
this.$get = function() {
return this.config;
};
this.setGalleryConfig = function(config) {
angular.extend(this.config, this.config, config);
};
}
})();
(function(){
'use strict';
angular
.module('ion-gallery')
.service('ionGalleryHelper',ionGalleryHelper);
ionGalleryHelper.$inject = ['ionGalleryConfig'];
function ionGalleryHelper(ionGalleryConfig) {
this.getRowSize = function(size,length){
var rowSize;
if(isNaN(size) === true || size <= 0){
rowSize = ionGalleryConfig.row_size;
}
else if(size > length && !ionGalleryConfig.fixed_row_size){
rowSize = length;
}
else{
rowSize = size;
}
return rowSize;
};
this.buildGallery = function(items,rowSize){
var _gallery = [];
var row = -1;
var col = 0;
for(var i=0;i<items.length;i++){
if(i % rowSize === 0){
row++;
_gallery[row] = [];
col = 0;
}
if(!items[i].hasOwnProperty('sub')){
items[i].sub = '';
}
if(!items[i].hasOwnProperty('thumb')){
items[i].thumb = items[i].src;
}
if(!items[i].hasOwnProperty('desc')){
items[i].desc = items[i].desc;
}
items[i].position = i;
_gallery[row][col] = items[i];
col++;
}
return _gallery;
};
}
})();
(function(){
'use strict';
angular
.module('ion-gallery')
.directive('ionImageScale',ionImageScale);
ionImageScale.$inject = [];
function ionImageScale(){
return {
restrict: 'A',
link : link
};
function link(scope, element, attrs) {
var scaleImage = function(context,value) {
if(value>0){
if(context.naturalHeight >= context.naturalWidth){
element.attr('width','100%');
}
else{
element.attr('height',element.parent()[0].offsetHeight+'px');
}
}
};
element.bind("load" , function(e){
var _this = this;
if(element.parent()[0].offsetHeight > 0){
scaleImage(this,element.parent()[0].offsetHeight);
}
scope.$watch(function(){
return element.parent()[0].offsetHeight;
},function(newValue){
scaleImage(_this,newValue);
});
});
}
}
})();
(function(){
'use strict';
angular
.module('ion-gallery')
.directive('ionRowHeight',ionRowHeight);
ionRowHeight.$inject = ['ionGalleryConfig'];
function ionRowHeight(ionGalleryConfig){
return {
restrict: 'A',
link : link
};
function link(scope, element, attrs) {
scope.$watch(
function(){
return scope.ionGalleryRowSize;
},
function(newValue,oldValue){
if(newValue > 0){
element.css('height',element[0].offsetWidth * parseInt(scope.responsiveGrid)/100 + 'px');
}
});
}
}
})();
(function(){
'use strict';
angular
.module('ion-gallery')
.directive('ionSlideAction',ionSlideAction);
ionSlideAction.$inject = ['$ionicGesture','$timeout'];
function ionSlideAction($ionicGesture, $timeout){
return {
restrict: 'A',
link : link
};
function link(scope, element, attrs) {
var isDoubleTapAction = false;
var pinchZoom = function pinchZoom(){
scope.$emit('ZoomStarted');
};
var imageDoubleTapGesture = function imageDoubleTapGesture(event) {
isDoubleTapAction = true;
$timeout(function(){
isDoubleTapAction = false;
scope.$emit('DoubleTapEvent',{ 'x': event.gesture.touches[0].pageX, 'y': event.gesture.touches[0].pageY});
},200);
};
var imageTapGesture = function imageTapGesture(event) {
if(isDoubleTapAction === true){
return;
}
else{
$timeout(function(){
if(isDoubleTapAction === true){
return;
}
else{
scope.$emit('TapEvent');
}
},200);
}
};
var pinchEvent = $ionicGesture.on('pinch',pinchZoom,element);
var doubleTapEvent = $ionicGesture.on('doubletap', function(e){imageDoubleTapGesture(e);}, element);
var tapEvent = $ionicGesture.on('tap', imageTapGesture, element);
scope.$on('$destroy', function() {
$ionicGesture.off(doubleTapEvent, 'doubletap', imageDoubleTapGesture);
$ionicGesture.off(tapEvent, 'tap', imageTapGesture);
$ionicGesture.off(pinchEvent, 'pinch', pinchZoom);
});
}
}
})();
(function(){
'use strict';
angular
.module('ion-gallery')
.directive('ionSlider',ionSlider);
ionSlider.$inject = ['$ionicModal','ionGalleryHelper','$ionicPlatform','$timeout','$ionicScrollDelegate'];
function ionSlider($ionicModal,ionGalleryHelper,$ionicPlatform,$timeout,$ionicScrollDelegate){
controller.$inject = ["$scope"];
return {
restrict: 'A',
controller: controller,
link : link
};
function controller($scope){
var lastSlideIndex;
var currentImage;
var rowSize = $scope.ionGalleryRowSize;
var zoomStart = false;
$scope.selectedSlide = 1;
$scope.hideAll = false;
$scope.showImage = function(index) {
$scope.slides = [];
currentImage = index;
var galleryLength = $scope.ionGalleryItems.length;
var previndex = index - 1 < 0 ? galleryLength - 1 : index - 1;
var nextindex = index + 1 >= galleryLength ? 0 : index + 1;
$scope.slides[0] = $scope.ionGalleryItems[previndex];
$scope.slides[1] = $scope.ionGalleryItems[index];
$scope.slides[2] = $scope.ionGalleryItems[nextindex];
lastSlideIndex = 1;
$scope.loadModal();
};
$scope.slideChanged = function(currentSlideIndex) {
if(currentSlideIndex === lastSlideIndex){
return;
}
var slideToLoad = $scope.slides.length - lastSlideIndex - currentSlideIndex;
var galleryLength = $scope.ionGalleryItems.length;
var imageToLoad;
var slidePosition = lastSlideIndex + '>' + currentSlideIndex;
if(slidePosition === '0>1' || slidePosition === '1>2' || slidePosition === '2>0'){
currentImage++;
if(currentImage >= galleryLength){
currentImage = 0;
}
imageToLoad = currentImage + 1;
if( imageToLoad >= galleryLength){
imageToLoad = 0;
}
}
else if(slidePosition === '0>2' || slidePosition === '1>0' || slidePosition === '2>1'){
currentImage--;
if(currentImage < 0){
currentImage = galleryLength - 1 ;
}
imageToLoad = currentImage - 1;
if(imageToLoad < 0){
imageToLoad = galleryLength - 1;
}
}
//Clear zoom
$ionicScrollDelegate.$getByHandle('slide-' + slideToLoad).zoomTo(1);
$scope.slides[slideToLoad] = $scope.ionGalleryItems[imageToLoad];
lastSlideIndex = currentSlideIndex;
};
$scope.$on('ZoomStarted', function(e){
$timeout(function () {
zoomStart = true;
$scope.hideAll = true;
});
});
$scope.$on('TapEvent', function(e){
$timeout(function () {
_onTap();
});
});
$scope.$on('DoubleTapEvent', function(event,position){
$timeout(function () {
_onDoubleTap(position);
});
});
var _onTap = function _onTap(){
if(zoomStart === true){
$ionicScrollDelegate.$getByHandle('slide-'+lastSlideIndex).zoomTo(1,true);
$timeout(function () {
_isOriginalSize();
},300);
return;
}
if(($scope.hasOwnProperty('ionSliderToggle') && $scope.ionSliderToggle === false && $scope.hideAll === false) || zoomStart === true){
return;
}
$scope.hideAll = !$scope.hideAll;
};
var _onDoubleTap = function _onDoubleTap(position){
if(zoomStart === false){
$ionicScrollDelegate.$getByHandle('slide-'+lastSlideIndex).zoomTo(3,true,position.x,position.y);
zoomStart = true;
$scope.hideAll = true;
}
else{
_onTap();
}
};
function _isOriginalSize(){
zoomStart = false;
_onTap();
}
}
function link(scope, element, attrs) {
var _modal;
scope.loadModal = function(){
$ionicModal.fromTemplateUrl('slider.html', {
scope: scope,
animation: 'fade-in'
}).then(function(modal) {
_modal = modal;
scope.openModal();
});
};
scope.openModal = function() {
_modal.show();
};
scope.closeModal = function() {
_modal.hide();
};
scope.$on('$destroy', function() {
try{
_modal.remove();
} catch(err) {
console.log(err.message);
}
});
}
}
})();
angular.module("templates", []).run(["$templateCache", function($templateCache) {$templateCache.put("gallery.html","<div class=\"gallery-view\">\n <div class=\"row\" ng-repeat=\"item in items track by $index\" ion-row-height>\n <div ng-repeat=\"photo in item track by $index\"\n class=\"col col-{{responsiveGrid}} image-container\">\n\n <img ion-image-scale\n ng-src=\"{{photo.thumb}}\"\n ng-click=\"customCallback ? ionItemCallback({item:photo}) : showImage(photo.position)\">\n\n </div>\n </div>\n <div ion-slider></div>\n</div>\n");
$templateCache.put("slider.html","<ion-modal-view class=\"imageView\">\n <ion-header-bar class=\"headerView\" ng-show=\"!hideAll\">\n <button class=\"button button-outline button-light close-btn\" ng-click=\"closeModal()\">{{::actionLabel}}</button>\n </ion-header-bar>\n \n <ion-content class=\"has-no-header\" scroll=\"false\">\n <ion-slide-box does-continue=\"true\" active-slide=\"selectedSlide\" show-pager=\"false\" class=\"listContainer\" on-slide-changed=\"slideChanged($index)\">\n <ion-slide ng-repeat=\"single in slides track by $index\">\n <ion-scroll direction=\"xy\"\n locking=\"false\" \n zooming=\"true\"\n min-zoom=\"1\"\n scrollbar-x=\"false\"\n scrollbar-y=\"false\"\n ion-slide-action\n delegate-handle=\"slide-{{$index}}\"\n overflow-scroll=\"false\"\n >\n <div class=\"item item-image gallery-slide-view\">\n <img ng-src=\"{{single.src}}\">\n </div>\n <div ng-if=\"single.sub.length > 0\" class=\"image-subtitle\" ng-show=\"!hideAll\">\n <span ng-bind-html=\'single.sub\'></span>\n </div>\n </ion-scroll>\n </ion-slide>\n </ion-slide-box>\n </ion-content>\n</ion-modal-view>");}]);
\ No newline at end of file
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define('simple-hotkeys', ["jquery","simple-module"], function ($, SimpleModule) {
return (root['hotkeys'] = factory($, SimpleModule));
});
} else if (typeof exports === 'object') {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"),require("simple-module"));
} else {
root.simple = root.simple || {};
root.simple['hotkeys'] = factory(jQuery,SimpleModule);
}
}(this, function ($, SimpleModule) {
var Hotkeys, hotkeys,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
Hotkeys = (function(superClass) {
extend(Hotkeys, superClass);
function Hotkeys() {
return Hotkeys.__super__.constructor.apply(this, arguments);
}
Hotkeys.count = 0;
Hotkeys.keyNameMap = {
8: "Backspace",
9: "Tab",
13: "Enter",
16: "Shift",
17: "Control",
18: "Alt",
19: "Pause",
20: "CapsLock",
27: "Esc",
32: "Spacebar",
33: "PageUp",
34: "PageDown",
35: "End",
36: "Home",
37: "Left",
38: "Up",
39: "Right",
40: "Down",
45: "Insert",
46: "Del",
91: "Meta",
93: "Meta",
48: "0",
49: "1",
50: "2",
51: "3",
52: "4",
53: "5",
54: "6",
55: "7",
56: "8",
57: "9",
65: "A",
66: "B",
67: "C",
68: "D",
69: "E",
70: "F",
71: "G",
72: "H",
73: "I",
74: "J",
75: "K",
76: "L",
77: "M",
78: "N",
79: "O",
80: "P",
81: "Q",
82: "R",
83: "S",
84: "T",
85: "U",
86: "V",
87: "W",
88: "X",
89: "Y",
90: "Z",
96: "0",
97: "1",
98: "2",
99: "3",
100: "4",
101: "5",
102: "6",
103: "7",
104: "8",
105: "9",
106: "Multiply",
107: "Add",
109: "Subtract",
110: "Decimal",
111: "Divide",
112: "F1",
113: "F2",
114: "F3",
115: "F4",
116: "F5",
117: "F6",
118: "F7",
119: "F8",
120: "F9",
121: "F10",
122: "F11",
123: "F12",
124: "F13",
125: "F14",
126: "F15",
127: "F16",
128: "F17",
129: "F18",
130: "F19",
131: "F20",
132: "F21",
133: "F22",
134: "F23",
135: "F24",
59: ";",
61: "=",
186: ";",
187: "=",
188: ",",
190: ".",
191: "/",
192: "`",
219: "[",
220: "\\",
221: "]",
222: "'"
};
Hotkeys.aliases = {
"escape": "esc",
"delete": "del",
"return": "enter",
"ctrl": "control",
"space": "spacebar",
"ins": "insert",
"cmd": "meta",
"command": "meta",
"wins": "meta",
"windows": "meta"
};
Hotkeys.normalize = function(shortcut) {
var i, j, key, keyname, keys, len;
keys = shortcut.toLowerCase().replace(/\s+/gi, "").split("+");
for (i = j = 0, len = keys.length; j < len; i = ++j) {
key = keys[i];
keys[i] = this.aliases[key] || key;
}
keyname = keys.pop();
keys.sort().push(keyname);
return keys.join("_");
};
Hotkeys.prototype.opts = {
el: document
};
Hotkeys.prototype._init = function() {
this.id = ++this.constructor.count;
this._map = {};
this._delegate = typeof this.opts.el === "string" ? document : this.opts.el;
return $(this._delegate).on("keydown.simple-hotkeys-" + this.id, this.opts.el, (function(_this) {
return function(e) {
var ref;
return (ref = _this._getHander(e)) != null ? ref.call(_this, e) : void 0;
};
})(this));
};
Hotkeys.prototype._getHander = function(e) {
var keyname, shortcut;
if (!(keyname = this.constructor.keyNameMap[e.which])) {
return;
}
shortcut = "";
if (e.altKey) {
shortcut += "alt_";
}
if (e.ctrlKey) {
shortcut += "control_";
}
if (e.metaKey) {
shortcut += "meta_";
}
if (e.shiftKey) {
shortcut += "shift_";
}
shortcut += keyname.toLowerCase();
return this._map[shortcut];
};
Hotkeys.prototype.respondTo = function(subject) {
if (typeof subject === 'string') {
return this._map[this.constructor.normalize(subject)] != null;
} else {
return this._getHander(subject) != null;
}
};
Hotkeys.prototype.add = function(shortcut, handler) {
this._map[this.constructor.normalize(shortcut)] = handler;
return this;
};
Hotkeys.prototype.remove = function(shortcut) {
delete this._map[this.constructor.normalize(shortcut)];
return this;
};
Hotkeys.prototype.destroy = function() {
$(this._delegate).off(".simple-hotkeys-" + this.id);
this._map = {};
return this;
};
return Hotkeys;
})(SimpleModule);
hotkeys = function(opts) {
return new Hotkeys(opts);
};
return hotkeys;
}));
/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){
return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},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(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ia={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qa[0].contentDocument,b.write(),b.close(),c=sa(a,b),qa.detach()),ra[a]=c),c}var ua=/^margin/,va=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wa=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)};function xa(a,b,c){var d,e,f,g,h=a.style;return c=c||wa(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),va.test(g)&&ua.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function ya(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),f.removeChild(c),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var za=/^(none|table(?!-c[ea]).+)/,Aa=new RegExp("^("+Q+")(.*)$","i"),Ba=new RegExp("^([+-])=("+Q+")","i"),Ca={position:"absolute",visibility:"hidden",display:"block"},Da={letterSpacing:"0",fontWeight:"400"},Ea=["Webkit","O","Moz","ms"];function Fa(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Ea.length;while(e--)if(b=Ea[e]+c,b in a)return b;return d}function Ga(a,b,c){var d=Aa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Ha(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ia(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wa(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xa(a,b,f),(0>e||null==e)&&(e=a.style[b]),va.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Ha(a,b,c||(g?"border":"content"),d,f)+"px"}function Ja(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",ta(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xa(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fa(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Ba.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fa(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xa(a,b,d)),"normal"===e&&b in Da&&(e=Da[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?za.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Ca,function(){return Ia(a,b,d)}):Ia(a,b,d):void 0},set:function(a,c,d){var e=d&&wa(a);return Ga(a,c,d?Ha(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=ya(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ua.test(a)||(n.cssHooks[a+b].set=Ga)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wa(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Ja(this,!0)},hide:function(){return Ja(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Ka(a,b,c,d,e){return new Ka.prototype.init(a,b,c,d,e)}n.Tween=Ka,Ka.prototype={constructor:Ka,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ka.propHooks[this.prop];return a&&a.get?a.get(this):Ka.propHooks._default.get(this)},run:function(a){var b,c=Ka.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ka.propHooks._default.set(this),this}},Ka.prototype.init.prototype=Ka.prototype,Ka.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Ka.propHooks.scrollTop=Ka.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Ka.prototype.init,n.fx.step={};var La,Ma,Na=/^(?:toggle|show|hide)$/,Oa=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pa=/queueHooks$/,Qa=[Va],Ra={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Oa.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Oa.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sa(){return setTimeout(function(){La=void 0}),La=n.now()}function Ta(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ua(a,b,c){for(var d,e=(Ra[b]||[]).concat(Ra["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Va(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||ta(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Na.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?ta(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ua(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wa(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xa(a,b,c){var d,e,f=0,g=Qa.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=La||Sa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:La||Sa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wa(k,j.opts.specialEasing);g>f;f++)if(d=Qa[f].call(j,a,k,j.opts))return d;return n.map(k,Ua,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xa,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Ra[c]=Ra[c]||[],Ra[c].unshift(b)},prefilter:function(a,b){b?Qa.unshift(a):Qa.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xa(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pa.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Ta(b,!0),a,d,e)}}),n.each({slideDown:Ta("show"),slideUp:Ta("hide"),slideToggle:Ta("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(La=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),La=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ma||(Ma=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Ma),Ma=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Ya,Za,$a=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Za:Ya)),
void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Za={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$a[b]||n.find.attr;$a[b]=function(a,b,d){var e,f;return d||(f=$a[b],$a[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$a[b]=f),e}});var _a=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_a.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ab=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ab," ").indexOf(b)>=0)return!0;return!1}});var bb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.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(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cb=n.now(),db=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var eb=/#.*$/,fb=/([?&])_=[^&]*/,gb=/^(.*?):[ \t]*([^\r\n]*)$/gm,hb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,ib=/^(?:GET|HEAD)$/,jb=/^\/\//,kb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,lb={},mb={},nb="*/".concat("*"),ob=a.location.href,pb=kb.exec(ob.toLowerCase())||[];function qb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function rb(a,b,c,d){var e={},f=a===mb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function sb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function tb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function ub(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ob,type:"GET",isLocal:hb.test(pb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":nb,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":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?sb(sb(a,n.ajaxSettings),b):sb(n.ajaxSettings,a)},ajaxPrefilter:qb(lb),ajaxTransport:qb(mb),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=gb.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||ob)+"").replace(eb,"").replace(jb,pb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=kb.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===pb[1]&&h[2]===pb[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(pb[3]||("http:"===pb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),rb(lb,k,b,v),2===t)return v;i=n.event&&k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!ib.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(db.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=fb.test(d)?d.replace(fb,"$1_="+cb++):d+(db.test(d)?"&":"?")+"_="+cb++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+nb+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=rb(mb,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=tb(k,v,f)),u=ub(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var vb=/%20/g,wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&").replace(vb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Bb=0,Cb={},Db={0:200,1223:204},Eb=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Cb)Cb[a]()}),k.cors=!!Eb&&"withCredentials"in Eb,k.ajax=Eb=!!Eb,n.ajaxTransport(function(a){var b;return k.cors||Eb&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Bb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Cb[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Db[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Cb[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Fb=[],Gb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Fb.pop()||n.expando+"_"+cb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Gb.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Gb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Gb,"$1"+e):b.jsonp!==!1&&(b.url+=(db.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Fb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Hb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Hb)return Hb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Ib=a.document.documentElement;function Jb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Jb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Ib;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ib})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Jb(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=ya(k.pixelPosition,function(a,c){return c?(c=xa(a,b),va.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Kb=a.jQuery,Lb=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Lb),b&&a.jQuery===n&&(a.jQuery=Kb),n},typeof b===U&&(a.jQuery=a.$=n),n});
//# sourceMappingURL=jquery.min.map
\ No newline at end of file
window.mobilecheck = function() {
var check = false;
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);
return check; }
\ No newline at end of file
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define('simple-module', ["jquery"], function (a0) {
return (root['Module'] = factory(a0));
});
} else if (typeof exports === 'object') {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
root['SimpleModule'] = factory(jQuery);
}
}(this, function ($) {
var Module,
slice = [].slice;
Module = (function() {
Module.extend = function(obj) {
var key, ref, val;
if (!((obj != null) && typeof obj === 'object')) {
return;
}
for (key in obj) {
val = obj[key];
if (key !== 'included' && key !== 'extended') {
this[key] = val;
}
}
return (ref = obj.extended) != null ? ref.call(this) : void 0;
};
Module.include = function(obj) {
var key, ref, val;
if (!((obj != null) && typeof obj === 'object')) {
return;
}
for (key in obj) {
val = obj[key];
if (key !== 'included' && key !== 'extended') {
this.prototype[key] = val;
}
}
return (ref = obj.included) != null ? ref.call(this) : void 0;
};
Module.connect = function(cls) {
if (typeof cls !== 'function') {
return;
}
if (!cls.pluginName) {
throw new Error('Module.connect: cannot connect plugin without pluginName');
return;
}
cls.prototype._connected = true;
if (!this._connectedClasses) {
this._connectedClasses = [];
}
this._connectedClasses.push(cls);
if (cls.pluginName) {
return this[cls.pluginName] = cls;
}
};
Module.prototype.opts = {};
function Module(opts) {
var base, cls, i, instance, instances, len, name;
this.opts = $.extend({}, this.opts, opts);
(base = this.constructor)._connectedClasses || (base._connectedClasses = []);
instances = (function() {
var i, len, ref, results;
ref = this.constructor._connectedClasses;
results = [];
for (i = 0, len = ref.length; i < len; i++) {
cls = ref[i];
name = cls.pluginName.charAt(0).toLowerCase() + cls.pluginName.slice(1);
if (cls.prototype._connected) {
cls.prototype._module = this;
}
results.push(this[name] = new cls());
}
return results;
}).call(this);
if (this._connected) {
this.opts = $.extend({}, this.opts, this._module.opts);
} else {
this._init();
for (i = 0, len = instances.length; i < len; i++) {
instance = instances[i];
if (typeof instance._init === "function") {
instance._init();
}
}
}
this.trigger('initialized');
}
Module.prototype._init = function() {};
Module.prototype.on = function() {
var args, ref;
args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
(ref = $(this)).on.apply(ref, args);
return this;
};
Module.prototype.one = function() {
var args, ref;
args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
(ref = $(this)).one.apply(ref, args);
return this;
};
Module.prototype.off = function() {
var args, ref;
args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
(ref = $(this)).off.apply(ref, args);
return this;
};
Module.prototype.trigger = function() {
var args, ref;
args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
(ref = $(this)).trigger.apply(ref, args);
return this;
};
Module.prototype.triggerHandler = function() {
var args, ref;
args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
return (ref = $(this)).triggerHandler.apply(ref, args);
};
Module.prototype._t = function() {
var args, ref;
args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
return (ref = this.constructor)._t.apply(ref, args);
};
Module._t = function() {
var args, key, ref, result;
key = arguments[0], args = 2 <= arguments.length ? slice.call(arguments, 1) : [];
result = ((ref = this.i18n[this.locale]) != null ? ref[key] : void 0) || '';
if (!(args.length > 0)) {
return result;
}
result = result.replace(/([^%]|^)%(?:(\d+)\$)?s/g, function(p0, p, position) {
if (position) {
return p + args[parseInt(position) - 1];
} else {
return p + args.shift();
}
});
return result.replace(/%%s/g, '%s');
};
Module.i18n = {
'zh-CN': {}
};
Module.locale = 'zh-CN';
return Module;
})();
return Module;
}));
This diff could not be displayed because it is too large.
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define('simple-uploader', ["jquery","simple-module"], function ($, SimpleModule) {
return (root['uploader'] = factory($, SimpleModule));
});
} else if (typeof exports === 'object') {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"),require("simple-module"));
} else {
root.simple = root.simple || {};
root.simple['uploader'] = factory(jQuery,SimpleModule);
}
}(this, function ($, SimpleModule) {
var Uploader, uploader,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
Uploader = (function(superClass) {
extend(Uploader, superClass);
function Uploader() {
return Uploader.__super__.constructor.apply(this, arguments);
}
Uploader.count = 0;
Uploader.prototype.opts = {
url: '',
params: null,
fileKey: 'upload_file',
connectionCount: 3
};
Uploader.prototype._init = function() {
this.files = [];
this.queue = [];
this.id = ++Uploader.count;
this.on('uploadcomplete', (function(_this) {
return function(e, file) {
_this.files.splice($.inArray(file, _this.files), 1);
if (_this.queue.length > 0 && _this.files.length < _this.opts.connectionCount) {
return _this.upload(_this.queue.shift());
} else {
return _this.uploading = false;
}
};
})(this));
return $(window).on('beforeunload.uploader-' + this.id, (function(_this) {
return function(e) {
if (!_this.uploading) {
return;
}
e.originalEvent.returnValue = _this._t('leaveConfirm');
return _this._t('leaveConfirm');
};
})(this));
};
Uploader.prototype.generateId = (function() {
var id;
id = 0;
return function() {
return id += 1;
};
})();
Uploader.prototype.upload = function(file, opts) {
var f, i, key, len;
if (opts == null) {
opts = {};
}
if (file == null) {
return;
}
if ($.isArray(file) || file instanceof FileList) {
for (i = 0, len = file.length; i < len; i++) {
f = file[i];
this.upload(f, opts);
}
} else if ($(file).is('input:file')) {
key = $(file).attr('name');
if (key) {
opts.fileKey = key;
}
this.upload($.makeArray($(file)[0].files), opts);
} else if (!file.id || !file.obj) {
file = this.getFile(file);
}
if (!(file && file.obj)) {
return;
}
$.extend(file, opts);
if (this.files.length >= this.opts.connectionCount) {
this.queue.push(file);
return;
}
if (this.triggerHandler('beforeupload', [file]) === false) {
return;
}
this.files.push(file);
this._xhrUpload(file);
return this.uploading = true;
};
Uploader.prototype.getFile = function(fileObj) {
var name, ref, ref1;
if (fileObj instanceof window.File || fileObj instanceof window.Blob) {
name = (ref = fileObj.fileName) != null ? ref : fileObj.name;
} else {
return null;
}
return {
id: this.generateId(),
url: this.opts.url,
params: this.opts.params,
fileKey: this.opts.fileKey,
name: name,
size: (ref1 = fileObj.fileSize) != null ? ref1 : fileObj.size,
ext: name ? name.split('.').pop().toLowerCase() : '',
obj: fileObj
};
};
Uploader.prototype._xhrUpload = function(file) {
var formData, k, ref, v;
formData = new FormData();
formData.append(file.fileKey, file.obj);
formData.append("original_filename", file.name);
if (file.params) {
ref = file.params;
for (k in ref) {
v = ref[k];
formData.append(k, v);
}
}
return file.xhr = $.ajax({
url: file.url,
data: formData,
processData: false,
contentType: false,
type: 'POST',
headers: {
'X-File-Name': encodeURIComponent(file.name)
},
xhr: function() {
var req;
req = $.ajaxSettings.xhr();
if (req) {
req.upload.onprogress = (function(_this) {
return function(e) {
return _this.progress(e);
};
})(this);
}
return req;
},
progress: (function(_this) {
return function(e) {
if (!e.lengthComputable) {
return;
}
return _this.trigger('uploadprogress', [file, e.loaded, e.total]);
};
})(this),
error: (function(_this) {
return function(xhr, status, err) {
return _this.trigger('uploaderror', [file, xhr, status]);
};
})(this),
success: (function(_this) {
return function(result) {
_this.trigger('uploadprogress', [file, file.size, file.size]);
_this.trigger('uploadsuccess', [file, result]);
return $(document).trigger('uploadsuccess', [file, result, _this]);
};
})(this),
complete: (function(_this) {
return function(xhr, status) {
return _this.trigger('uploadcomplete', [file, xhr.responseText]);
};
})(this)
});
};
Uploader.prototype.cancel = function(file) {
var f, i, len, ref;
if (!file.id) {
ref = this.files;
for (i = 0, len = ref.length; i < len; i++) {
f = ref[i];
if (f.id === file * 1) {
file = f;
break;
}
}
}
this.trigger('uploadcancel', [file]);
if (file.xhr) {
file.xhr.abort();
}
return file.xhr = null;
};
Uploader.prototype.readImageFile = function(fileObj, callback) {
var fileReader, img;
if (!$.isFunction(callback)) {
return;
}
img = new Image();
img.onload = function() {
return callback(img);
};
img.onerror = function() {
return callback();
};
if (window.FileReader && FileReader.prototype.readAsDataURL && /^image/.test(fileObj.type)) {
fileReader = new FileReader();
fileReader.onload = function(e) {
return img.src = e.target.result;
};
return fileReader.readAsDataURL(fileObj);
} else {
return callback();
}
};
Uploader.prototype.destroy = function() {
var file, i, len, ref;
this.queue.length = 0;
ref = this.files;
for (i = 0, len = ref.length; i < len; i++) {
file = ref[i];
this.cancel(file);
}
$(window).off('.uploader-' + this.id);
return $(document).off('.uploader-' + this.id);
};
Uploader.i18n = {
'zh-CN': {
leaveConfirm: '正在上传文件,如果离开上传会自动取消'
}
};
Uploader.locale = 'zh-CN';
return Uploader;
})(SimpleModule);
uploader = function(opts) {
return new Uploader(opts);
};
return uploader;
}));
# See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
#
# To ban all spiders from the entire site uncomment the next two lines:
# User-Agent: *
# Disallow: /
/**
* Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
* http://cssreset.com
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
.highlight .hll {
background-color: #ffffcc;
}
.highlight .c {
color: #999988;
font-style: italic;
}
/* Comment */
.highlight .err {
color: #a61717;
background-color: #e3d2d2;
}
/* Error */
.highlight .k {
font-weight: bold;
}
/* Keyword */
.highlight .o {
font-weight: bold;
}
/* Operator */
.highlight .cm {
color: #999988;
font-style: italic;
}
/* Comment.Multiline */
.highlight .cp {
color: #999999;
font-weight: bold;
}
/* Comment.Preproc */
.highlight .c1 {
color: #999988;
font-style: italic;
}
/* Comment.Single */
.highlight .cs {
color: #999999;
font-weight: bold;
font-style: italic;
}
/* Comment.Special */
.highlight .gd {
color: #000000;
background-color: #ffdddd;
}
/* Generic.Deleted */
.highlight .ge {
font-style: italic;
}
/* Generic.Emph */
.highlight .gr {
color: #aa0000;
}
/* Generic.Error */
.highlight .gh {
color: #999999;
}
/* Generic.Heading */
.highlight .gi {
color: #000000;
background-color: #ddffdd;
}
/* Generic.Inserted */
.highlight .go {
color: #888888;
}
/* Generic.Output */
.highlight .gp {
color: #555555;
}
/* Generic.Prompt */
.highlight .gs {
font-weight: bold;
}
/* Generic.Strong */
.highlight .gu {
color: #aaaaaa;
}
/* Generic.Subheading */
.highlight .gt {
color: #aa0000;
}
/* Generic.Traceback */
.highlight .kc {
font-weight: bold;
}
/* Keyword.Constant */
.highlight .kd {
font-weight: bold;
}
/* Keyword.Declaration */
.highlight .kn {
font-weight: bold;
}
/* Keyword.Namespace */
.highlight .kp {
font-weight: bold;
}
/* Keyword.Pseudo */
.highlight .kr {
font-weight: bold;
}
/* Keyword.Reserved */
.highlight .kt {
color: #445588;
font-weight: bold;
}
/* Keyword.Type */
.highlight .m {
color: #009999;
}
/* Literal.Number */
.highlight .s {
color: #bb8844;
}
/* Literal.String */
.highlight .na {
color: #008080;
}
/* Name.Attribute */
.highlight .nb {
color: #999999;
}
/* Name.Builtin */
.highlight .nc {
color: #445588;
font-weight: bold;
}
/* Name.Class */
.highlight .no {
color: #008080;
}
/* Name.Constant */
.highlight .ni {
color: #800080;
}
/* Name.Entity */
.highlight .ne {
color: #990000;
font-weight: bold;
}
/* Name.Exception */
.highlight .nf {
color: #990000;
font-weight: bold;
}
/* Name.Function */
.highlight .nn {
color: #555555;
}
/* Name.Namespace */
.highlight .nt {
color: #000080;
}
/* Name.Tag */
.highlight .nv {
color: #008080;
}
/* Name.Variable */
.highlight .ow {
font-weight: bold;
}
/* Operator.Word */
.highlight .w {
color: #bbbbbb;
}
/* Text.Whitespace */
.highlight .mf {
color: #009999;
}
/* Literal.Number.Float */
.highlight .mh {
color: #009999;
}
/* Literal.Number.Hex */
.highlight .mi {
color: #009999;
}
/* Literal.Number.Integer */
.highlight .mo {
color: #009999;
}
/* Literal.Number.Oct */
.highlight .sb {
color: #bb8844;
}
/* Literal.String.Backtick */
.highlight .sc {
color: #bb8844;
}
/* Literal.String.Char */
.highlight .sd {
color: #bb8844;
}
/* Literal.String.Doc */
.highlight .s2 {
color: #bb8844;
}
/* Literal.String.Double */
.highlight .se {
color: #bb8844;
}
/* Literal.String.Escape */
.highlight .sh {
color: #bb8844;
}
/* Literal.String.Heredoc */
.highlight .si {
color: #bb8844;
}
/* Literal.String.Interpol */
.highlight .sx {
color: #bb8844;
}
/* Literal.String.Other */
.highlight .sr {
color: #808000;
}
/* Literal.String.Regex */
.highlight .s1 {
color: #bb8844;
}
/* Literal.String.Single */
.highlight .ss {
color: #bb8844;
}
/* Literal.String.Symbol */
.highlight .bp {
color: #999999;
}
/* Name.Builtin.Pseudo */
.highlight .vc {
color: #008080;
}
/* Name.Variable.Class */
.highlight .vg {
color: #008080;
}
/* Name.Variable.Global */
.highlight .vi {
color: #008080;
}
/* Name.Variable.Instance */
.highlight .il {
color: #009999;
}
/* Literal.Number.Integer.Long */
/* General Style */
body {
font-size: 16px;
font-family: Helvetica, Arial, sans-serif;
color: #52514c;
background: #ffffff;
}
a {
text-decoration: none;
color: #4298BA;
}
a:visited {
color: #4298BA;
}
a:hover {
color: #0F769F;
}
a:active {
color: #9E792E;
}
a:hover, a:active {
outline: 0;
}
/* Layout */
.wrapper {
width: 960px;
margin: 0 auto;
}
.wrapper header {
padding: 50px 0 15px;
}
.wrapper header h1 {
width: 300px;
margin: 0 auto;
padding: 130px 0 0 0;
background-position: 4px 0;
background-image: url("../images/logo.png");
background-repeat: no-repeat;
background-size: 264px 107px;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3 / 2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
.wrapper header h1 {
background-image: url("../images/logo@2x.png");
background-size: 264px 107px;
}
}
.wrapper header h1 a {
display: block;
width: 180px;
height: 50px;
margin: 0 auto;
font-size: 50px;
font-family: 'Myriad', 'Helvetica Neue', Helvetica;
color: #3b5f6d;
text-align: center;
text-indent: -9999px;
overflow: hidden;
background-position: center 0;
background-image: url("../images/title.png");
background-repeat: no-repeat;
background-size: 171px 39px;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3 / 2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
.wrapper header h1 a {
background-image: url("../images/title@2x.png");
background-size: 171px 39px;
}
}
.wrapper header .desc {
font-size: 19px;
color: #9ba5a9;
text-align: center;
}
.wrapper nav {
text-align: center;
padding: 26px 0;
}
.wrapper nav a {
padding: 0 25px;
font-size: 16px;
color: #4f838f;
line-height: 20px;
}
.wrapper nav a:hover {
color: #666666;
}
.wrapper nav a.active {
color: #000000;
}
.wrapper section {
border-top: 2px solid #dee7ec;
}
.wrapper footer {
font-size: 14px;
margin: 40px 0;
color: #999999;
text-align: center;
}
.wrapper footer a {
color: #999999;
}
.wrapper footer a:hover {
text-decoration: underline;
}
.wrapper #link-fork {
display: block;
width: 133px;
height: 133px;
position: absolute;
top: 0;
right: 0;
}
/* Demo Page */
section#page-demo {
border-top: none;
}
section#page-demo .simditor {
box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15);
}
section#page-demo #preview {
min-height: 100px;
padding: 15px;
margin: 60px 0 0 0;
border: 1px solid #dfdfdf;
}
/* Sidebar Page */
section.page-sidebar {
position: relative;
margin: 0 0 30px 0;
}
section.page-sidebar aside {
width: 180px;
padding: 50px 0 0 0;
position: absolute;
top: 0;
left: 0;
}
section.page-sidebar aside ul {
padding: 0 10px 0 60px;
}
section.page-sidebar aside ul li {
margin: 0 0 30px 0;
position: relative;
}
section.page-sidebar aside ul li .icon {
display: none;
width: 10px;
line-height: 20px;
font-size: 14px;
color: #000000;
position: absolute;
top: 0;
left: -18px;
}
section.page-sidebar aside ul li a {
line-height: 20px;
font-size: 18px;
color: #a3afb2;
}
section.page-sidebar aside ul li a:hover {
color: #666666;
}
section.page-sidebar aside ul li.active .icon {
display: block;
}
section.page-sidebar aside ul li.active a {
color: #000000;
}
section.page-sidebar article {
padding: 40px 20px 10px 60px;
margin: 0 0 0 180px;
min-height: 500px;
}
/* Download Page */
section#page-download {
min-height: 400px;
}
section#page-download .version {
border-bottom: 1px solid #dfdfdf;
}
section#page-download .version .title {
padding: 15px 15px;
cursor: pointer;
}
section#page-download .version .title .icon {
display: inline-block;
width: 12px;
line-height: 30px;
font-size: 20px;
}
section#page-download .version .title .name {
font-size: 20px;
line-height: 30px;
font-weight: bold;
margin: 0 20px;
}
section#page-download .version .title .date {
font-size: 16px;
line-height: 30px;
color: #aaaaaa;
}
section#page-download .version .title .btn-download {
display: inline-block;
float: right;
line-height: 30px;
padding: 0 15px;
font-size: 14px;
color: #ffffff;
background: #aaaaaa;
border-radius: 3px;
}
section#page-download .version .title .btn-download:hover {
background: #bbbbbb;
}
section#page-download .version .release-notes {
display: none;
margin: 10px 0 25px 0;
padding: 0 50px;
list-style: disc outside none;
}
section#page-download .version .release-notes li {
margin: 0 0 10px 0;
}
section#page-download .version.expand .release-notes {
display: block;
}
/* Document Page */
section.page-doc dt {
border-top: 1px solid #ddd;
margin-top: 30px;
margin-bottom: 10px;
padding-top: 20px;
}
section.page-doc dt:first-child {
border-top: none;
margin-top: 0;
padding-top: 0;
}
section.page-doc dt > a, section.page-doc dt > span {
margin-left: 10px;
}
section.page-doc dt > a:first-child, section.page-doc dt > span:first-child {
margin-left: 0;
}
section.page-doc dt .name {
font-size: 1.2em;
font-weight: bold;
}
section.page-doc dt .param-type,
section.page-doc dt .type {
background-color: #efefef;
border-radius: 3px;
padding: 2px 6px;
font-size: 0.8em;
vertical-align: text-top;
}
section.page-doc dt .default {
color: #aaa;
font-size: 0.8em;
}
section.page-doc dt .params:before {
content: "(";
}
section.page-doc dt .params:after {
content: ")";
}
section.page-doc dt .params .param:after {
content: ",";
margin: 0 6px 0 3px;
}
section.page-doc dt .params .param:last-child:after {
content: "";
margin: 0;
}
section.page-doc dt .return {
font-size: 0.8em;
color: green;
}
section.page-doc dd {
display: none;
}
section.page-doc dd.expand {
display: block;
}
/* Extension Page */
section#page-extension article {
padding: 40px 130px 10px;
}
section#page-extension article #btn-submit-extension {
margin: 20px 0 0 0;
display: inline-block;
padding: 6px 12px;
color: #333333;
border: 1px solid #cccccc;
border-radius: 4px;
}
section#page-extension article #btn-submit-extension:hover {
border-color: #aaaaaa;
background: #f3f3f3;
}
@media screen and (max-device-width: 240px) and (min-device-width: 220px) {
body {
width: 240px;
margin: 0 auto;
}
body .wrapper {
width: 100%;
}
body .wrapper header {
padding: 30px 0 20px;
}
body .wrapper header h1 {
background-size: 200px auto;
background-position: 50px 0;
padding-top: 90px;
height: 45px;
}
body .wrapper header h1 a {
background-size: 160px auto;
background-position: 10px 0;
}
body .wrapper header p.desc {
font-size: 16px;
}
body .wrapper footer {
margin: 20px 0;
}
body .wrapper #page-demo {
width: 96%;
margin: 0 2%;
}
body .wrapper #link-fork {
z-index: -1;
width: 80px;
height: auto;
}
body .wrapper #link-fork img {
max-width: 80px;
height: auto;
}
nav {
display: none;
}
}
@media screen and (max-device-width: 320px) and (min-device-width: 300px) {
body {
width: 320px;
margin: 0 auto;
}
body .wrapper {
width: 100%;
}
body .wrapper header {
padding: 30px 0 20px;
}
body .wrapper header h1 {
background-size: 200px auto;
background-position: 50px 0;
padding-top: 90px;
height: 45px;
}
body .wrapper header h1 a {
background-size: 160px auto;
background-position: 10px 0;
}
body .wrapper header p.desc {
font-size: 16px;
}
body .wrapper footer {
margin: 20px 0;
}
body .wrapper #page-demo {
width: 96%;
margin: 0 2%;
}
body .wrapper #link-fork {
z-index: -1;
width: 80px;
height: auto;
}
body .wrapper #link-fork img {
max-width: 80px;
height: auto;
}
nav {
display: none;
}
}
@media screen and (max-device-width: 360px) and (min-device-width: 340px) {
body {
width: 360px;
margin: 0 auto;
}
body .wrapper {
width: 100%;
}
body .wrapper header {
padding: 30px 0 20px;
}
body .wrapper header h1 {
background-size: 200px auto;
background-position: 50px 0;
padding-top: 90px;
height: 45px;
}
body .wrapper header h1 a {
background-size: 160px auto;
background-position: 10px 0;
}
body .wrapper header p.desc {
font-size: 16px;
}
body .wrapper footer {
margin: 20px 0;
}
body .wrapper #page-demo {
width: 96%;
margin: 0 2%;
}
body .wrapper #link-fork {
z-index: -1;
width: 80px;
height: auto;
}
body .wrapper #link-fork img {
max-width: 80px;
height: auto;
}
nav {
display: none;
}
}
@media screen and (max-device-width: 480px) and (min-device-width: 460px) {
body {
width: 480px;
margin: 0 auto;
}
body .wrapper {
width: 100%;
}
body .wrapper header {
padding: 30px 0 20px;
}
body .wrapper header h1 {
background-size: 200px auto;
background-position: 50px 0;
padding-top: 90px;
height: 45px;
}
body .wrapper header h1 a {
background-size: 160px auto;
background-position: 10px 0;
}
body .wrapper header p.desc {
font-size: 16px;
}
body .wrapper footer {
margin: 20px 0;
}
body .wrapper #page-demo {
width: 96%;
margin: 0 2%;
}
body .wrapper #link-fork {
z-index: -1;
width: 80px;
height: auto;
}
body .wrapper #link-fork img {
max-width: 80px;
height: auto;
}
nav {
display: none;
}
}
@media screen and (max-device-width: 640px) and (min-device-width: 620px) {
body {
width: 320px;
margin: 0 auto;
}
body .wrapper {
width: 100%;
}
body .wrapper header {
padding: 30px 0 20px;
}
body .wrapper header h1 {
background-size: 200px auto;
background-position: 50px 0;
padding-top: 90px;
height: 45px;
}
body .wrapper header h1 a {
background-size: 160px auto;
background-position: 10px 0;
}
body .wrapper header p.desc {
font-size: 16px;
}
body .wrapper footer {
margin: 20px 0;
}
body .wrapper #page-demo {
width: 96%;
margin: 0 2%;
}
body .wrapper #link-fork {
z-index: -1;
width: 80px;
height: auto;
}
body .wrapper #link-fork img {
max-width: 80px;
height: auto;
}
nav {
display: none;
}
}
@media screen and (max-device-width: 720px) and (min-device-width: 700px) {
body {
width: 360px;
margin: 0 auto;
}
body .wrapper {
width: 100%;
}
body .wrapper header {
padding: 30px 0 20px;
}
body .wrapper header h1 {
background-size: 200px auto;
background-position: 50px 0;
padding-top: 90px;
height: 45px;
}
body .wrapper header h1 a {
background-size: 160px auto;
background-position: 10px 0;
}
body .wrapper header p.desc {
font-size: 16px;
}
body .wrapper footer {
margin: 20px 0;
}
body .wrapper #page-demo {
width: 96%;
margin: 0 2%;
}
body .wrapper #link-fork {
z-index: -1;
width: 80px;
height: auto;
}
body .wrapper #link-fork img {
max-width: 80px;
height: auto;
}
nav {
display: none;
}
}
@media screen and (max-device-width: 800px) and (min-device-width: 780px) {
body {
width: 400px;
margin: 0 auto;
}
body .wrapper {
width: 100%;
}
body .wrapper header {
padding: 30px 0 20px;
}
body .wrapper header h1 {
background-size: 200px auto;
background-position: 50px 0;
padding-top: 90px;
height: 45px;
}
body .wrapper header h1 a {
background-size: 160px auto;
background-position: 10px 0;
}
body .wrapper header p.desc {
font-size: 16px;
}
body .wrapper footer {
margin: 20px 0;
}
body .wrapper #page-demo {
width: 96%;
margin: 0 2%;
}
body .wrapper #link-fork {
z-index: -1;
width: 88.88889px;
height: auto;
}
body .wrapper #link-fork img {
max-width: 88.88889px;
height: auto;
}
nav {
display: none;
}
}
@media screen and (max-device-width: 960px) and (min-device-width: 940px) {
body {
width: 480px;
margin: 0 auto;
}
body .wrapper {
width: 100%;
}
body .wrapper header {
padding: 30px 0 20px;
}
body .wrapper header h1 {
background-size: 200px auto;
background-position: 50px 0;
padding-top: 90px;
height: 45px;
}
body .wrapper header h1 a {
background-size: 160px auto;
background-position: 10px 0;
}
body .wrapper header p.desc {
font-size: 16px;
}
body .wrapper footer {
margin: 20px 0;
}
body .wrapper #page-demo {
width: 96%;
margin: 0 2%;
}
body .wrapper #link-fork {
z-index: -1;
width: 100px;
height: auto;
}
body .wrapper #link-fork img {
max-width: 100px;
height: auto;
}
nav {
display: none;
}
}
@media screen and (max-device-width: 1024px) and (min-device-width: 1004px) {
body {
width: 512px;
margin: 0 auto;
}
body .wrapper {
width: 100%;
}
body .wrapper header {
padding: 30px 0 20px;
}
body .wrapper header h1 {
background-size: 200px auto;
background-position: 50px 0;
padding-top: 90px;
height: 45px;
}
body .wrapper header h1 a {
background-size: 160px auto;
background-position: 10px 0;
}
body .wrapper header p.desc {
font-size: 16px;
}
body .wrapper footer {
margin: 20px 0;
}
body .wrapper #page-demo {
width: 96%;
margin: 0 2%;
}
body .wrapper #link-fork {
z-index: -1;
width: 100px;
height: auto;
}
body .wrapper #link-fork img {
max-width: 100px;
height: auto;
}
nav {
display: none;
}
}
@media screen and (max-device-width: 1280px) and (min-device-width: 1260px) {
body {
width: 640px;
margin: 0 auto;
}
body .wrapper {
width: 100%;
}
body .wrapper header {
padding: 30px 0 20px;
}
body .wrapper header h1 {
background-size: 200px auto;
background-position: 50px 0;
padding-top: 90px;
height: 45px;
}
body .wrapper header h1 a {
background-size: 160px auto;
background-position: 10px 0;
}
body .wrapper header p.desc {
font-size: 16px;
}
body .wrapper footer {
margin: 20px 0;
}
body .wrapper #page-demo {
width: 96%;
margin: 0 2%;
}
body .wrapper #link-fork {
z-index: -1;
width: 100px;
height: auto;
}
body .wrapper #link-fork img {
max-width: 100px;
height: auto;
}
nav {
display: none;
}
}
@media screen and (device-aspect-ratio: 40 / 71) and (orientation: landscape) {
body {
width: 568px;
}
}
@media screen and (device-aspect-ratio: 2 / 3) and (orientation: landscape) {
body {
width: 480px;
}
}
@font-face {
font-family: 'Simditor';
src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABp8AA4AAAAAKmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAaYAAAABoAAAAcdO8GE09TLzIAAAG0AAAARQAAAGAQ+ZFXY21hcAAAAkgAAABRAAABWuA2Gx9jdnQgAAAEgAAAAAoAAAAKAwQAxGZwZ20AAAKcAAABsQAAAmUPtC+nZ2x5ZgAABNgAABPeAAAgZG/p6QxoZWFkAAABRAAAADAAAAA2BvuCgGhoZWEAAAF0AAAAHgAAACQH9QTlaG10eAAAAfwAAABKAAAAlHv7AItsb2NhAAAEjAAAAEwAAABMi4qTXm1heHAAAAGUAAAAIAAAACABRwHNbmFtZQAAGLgAAAEFAAAB12vS/ulwb3N0AAAZwAAAAJ4AAAFsyCrvunByZXAAAARQAAAALgAAAC6w8isUeNpjYGRgYADiKAkPy3h+m68M8swfgCIMF0/IVyDo/84sFswJQC4HAxNIFAAZwAnyeNpjYGRgYE5gmMAQzWLBwPD/O5AEiqAAVQBa6wPkAAAAAQAAACUAoAAKAAAAAAACAAEAAgAWAAABAAEpAAAAAHjaY2BhnsA4gYGVgYGpn+kgAwNDL4RmfMxgxMgCFGVgZWaAAUYBBjTQwMDwQY454X8BQzRzAsMEIJcRSVaBgREAQ9oK6QAAAHjaY8xhUGQAAsYABgbmDwjMYsEgxCzBwMDkAOQnALEEgx1UjhNMr4BjTqBakDxC/wqIPsYMqJoEKIbpk0C1C4zXM3DA5AEzchbtAAB42mNgYGBmgGAZBkYGEAgB8hjBfBYGCyDNxcDBwASEDAy8DAof5P7/B6sCsRmAbOb/3/8/FWCD6oUCRjaIkWA2SCcLAyoAqmZlGN4AALmUC0kAAAB42l1Ru05bQRDdDQ8DgcTYIDnaFLOZkALvhTZIIK4uwsh2YzlC2o1c5GJcwAdQIFGD9msGaChTpE2DkAskPoFPiJSZNYmiNDs7s3POmTNLypGqd2m956lzFkjhboNmm34npNpFgAfS9Y1GRtrBIy02M3rlun2/j8FmNOVOGkB5z1vKQ0bTTqAW7bl/Mj+D4T7/yzwHg5Zmmp5aZyE9hMB8M25p8DWjWXf9QV+xOlwNBoYU01Tc9cdUyv+W5lxtGbY2M5p3cCEiP5gGaGqtjUDTnzqkej6OYgly+WysDSamrD/JRHBhMl3VVC0zvnZwn+wsOtikSnPgAQ6wVZ6Ch+OjCYX0LYkyS0OEg9gqMULEJIdCTjl3sj8pUD6ShDFvktLOuGGtgXHkNTCozdMcvsxmU9tbhzB+EUfw3S/Gkg4+sqE2RoTYjlgKYAKRkFFVvqHGcy+LAbnU/jMQJWB5+u1fJwKtOzYRL2VtnWOMFYKe3zbf+WXF3apc50Whu3dVNVTplOZDL2ff4xFPj4XhoLHgzed9f6NA7Q2LGw2aA8GQ3o3e/9FadcRV3gsf2W81s7EWAAAAuAH/hbABjQBLsAhQWLEBAY5ZsUYGK1ghsBBZS7AUUlghsIBZHbAGK1xYWbAUKwAAAAAAowCFACECfwAAAAAAKgAqACoAKgAqACoAfgEkAcAChAK+A2oElgU2BbQGxgeYCBgIPgjGCU4KZgqKCq4LQAuYDDoMcAzuDXINoA4MDngO4g86D6QQMnjazVl5cBvXeX9vF4tdXHsBuwBBEvdBAgQXxOIgRPGQSEkULcoJJds6Yku2Na6TKJXHsnx0XNptHcvNpLaSJpkczthV68Zu0ulbQE58qXXaHK3j7ThjD6PmmnQmaTydSaqkmdbxkFC/tyApinXiuP2jlcC37/vegX3f8fu+7wExKIkQLjCPIxbxaNjCyNja4l3sTyqWm/vu1hbLQBdZLGVzlN3i3a7lrS1M+aaSVPKmkk5iz+tf/zrz+MrRJHMDgp3US3/tyjEvIQn1oiJCWd6dx7kGrsexLuGwjlm3AXSQ0h5M+5M4D3/1MNbx4b5AoPNmIIDdgQB0v/e9AJ78JqemVLfT4uN0sDtAHzBtvvvYsIK5aqWgcF6XyizRR+f+K9cAhRB9T3TpGTbCRlAARdAEehiRCYNwNulNLCmkzyZ+g6g2GTSIaJKCTUo2JpMGSS0RZBOp0kohb7E9lerzFMlghSDZ4nGRbLGJRpdXbGsKFy2UUlRL7Gk2iaacYzlfeCITbhJeJY0msvycorZj8eYWylMV4JFBtaXlKs1mszyS5UNh3azUqvlhnOLZsAZEvZpLp9gU35jAjfo4lvM5GEzn6xkzXAnrWogXMR/DITfvTuMy9hSyr0XSx+6VXa6+1NFbTrwrPvD+v8OevSHFLzT9cYbZgqXZ+U9cVahEC7nrTo6ZN33w2fdsCykvTOaaCTc+/vn7XbOf27X840CNEYXYRJYp6gEOswb24YPlHbsHtIgSvO1Tt/aNgglRWTJTIMsB9FeIDIAcTZKzidsmIYNoNumpEE0mvSDCQcMqgKDq0ecmDv/sY0grekXil4n0opXCvyTxF4Foi34pWCQpuZ1IxYPFdpK2LWAmPpT4UNotKmqzBTx4kEQTPe0X44lkatj5h6+gyFQUI8s9AErADCghpxChSUIq6W9aWq+iEh0EzeVzKTffqK/+V2sg03wjXKk33FSeImbcYKhhN4/fd9OemVtlr18f6ZF5rjKH9R0+33cKp0KsIC1o7ti2EsbaPoaf9TE+XHZxvoCWEf8N39gvBlhmi0fAkSinC+Kfdr71j6KX8/f3IsaxwaMgt13oOvSHqDWPUJHst4lgUJPbYrSVYGw6EzbJmG2FpioVMiaTCDWwcZMkbLKjgskBgwSWSMZuZQLUIDMxT7EVyNBuIAi2mZGtEbDEg/A3kgGDi/RuGQODQ1aiABSWA3WgrMgWkMa2JhlTyCTIBLxUhbO706lhZhxXc/mUgetmuFGpm3xYc6d4dz+mQgGbBJFN4OowNjCYIp9vmGG9EdZDsFbEwRoYbDIFk0O6mazUmTcx5w8nC4c/c/3p7WF9p8ozvPRZIiZYjLPTXh4L3N6Rxs1jUZ8Wcgksy/T3NAXGODmw0+tiotqg/xavsPwVwesV2K2Cl/ly0tv5m+Nbkjur+2+/7oX3J1hmBPMc5rMcJ/LTyd/77O8O9A6F5NSO04195WQ+hpmymxFwMCDybv/ymxm6EW2o/U5c+g/m28xHURrwSg9J2A0n5mmTq1J0gqZeiYPXQUOHmZdkeY9cVJ94Qi1CR37iiU30Y7+Cv0av4c9F0L2EBtEcWkTENMiMo3vJJmmD6OAuVwEILZGs3Z7IqkKRTNokK1uz4EAl29oDOp2cAMXJTZJVqPpm1afj+kChYlJIKSnnIv3R4qCjbWEGtF0ojU5SbaclIGQ12k+n6QqJUJVXdFCTG9SVA43XzUauVm3UzUoYAEUC7eaom4RA5WHeBPWKbIpqnBoHIFEjhqktgCHkc+z3qVyXq7TtjF6156NX3+4OMLwh9MVGPrhn7u6bzQd+7Ar7hq87cLq0N+lnmKasspMnM/trJQXf2tUIbTKzV98yuyunv6/pYVhmf9zcfnhPKp4+ox3a2j88qgd0r9fDjw8N4giTLrtu7Js5MCBRXHcjz6XbQK6HURiV0RSaR9ejD+BB1KpT3xq3iatCxmXC2hTHAeNlm0QNMmyTsk32GeSQTVIGydvkZoNsN8n7bKqSbZXWzM3UpWau8hQx+W2DsEtkrkIYmzCytQPUMW8TvtLaMU8n7Zj2FNvq/A7QV8IkXruleilbpaFiXrYMX5FE6J7WCVAgwyoqgJYWy+ym2tihtEOl4V1OSFCfllE4lb+KEvOK5RsCCPOqbTc3WHB0KvsB2LwB4NaVtkcMhuhEVrV4DVhIIUCNq8TdtIajYCS9TbIP4lqTlFVSapJDyrlYojCUoWtSKsk2SV4hg2AIDV5L10zNCSSpfMOJQXy+Pom1dK4KCFmrplNAmxWdBhrerHHaBrNJVnRM19fSbgoG2uZBZRP9QH3r87X+5Ph7s4m+SHlMqgT2v8wOhKfi0WA5tnNwNBceZ3ax+73Cyn5qF8wXBO/y6+fHsSsyMD/GXrORv7F/iOm/ZmQbPzhXzVaiiSwX3+a/cFAyG2IuEksmx40Zw5+KJNvH6Xza4J81Gmc8WnHXD//pMi+y3u3aFbr0XfYi8wvIlCQUR3nUANQ+gVoatSvIF1iKyzwkCgap2sRHKfDjccen05TKgz/PQmhcsvwZgHJsW0KiUrF24yKy+jSKxi4OUf+sloDw+AMCJWbGgUhmsgkgyiN1UAqoobL2xJvkiX4Ff7PcL0wemlz7sNddKd63YG7sn3KW/bPTdv5iXUaMsZlzpQAZJ+l6EvAujibRAmpxVG4Zk4puK6QHIDWT+G0yBDFtyiDCEgiI9NitHoE6T48CzoNlawB8LWmTpt1qDlB+c8RTtLaBBAHB4IhFnMrVlGp9bBXOgHaiD6W5txmH9K50oTT51F0ZSdOkzNg1CX2xNInfeEvuDPAmS/jDdz2lSbOSds2Yqiecif+NSY/tXT87tRwDzn81OgK2cx96BD2GHkStj1NZ+G1r6D1gGJxhZfabVDDWnnsrVDTWzB1Ab7Wt4x8GumZYxx4A+lGwp8cN8skl4rGtyCiMeGQLAabIZegP2tbsrfQpWwngTR2F/kHbuvsh+pStdwHvtvuh/xHb+hNHflmI1hvkUafYvpHmNo3j2q8ff6fzN39fQ+maLNWXgysJr3COGtQVzUZu5wdvzf9N5lxuZmvZFX+2Vssyv8hVD62b8A/We69ctvBn3oL5NsOX93lh5VHna46B5Gk+4Ln0ZfYx9jqomhqQDT7u1CNRm+x0ckE3RZBrneC013ayvrklmmLnZCsGPrFgk+10hm6TBdlinFLESfq25yC+JPtmds7vpWiixyBmTO+DALGgWKH98GTUds/4xLVORNkJgeJphm9u2TZNJxfcMHmGTrpWsYp0UUpt53bPvduBomy9CmlBio8xkO+5U8Ns3h2C7KgClZ4zAElUlx5m8hSSYiy3llnlqo38WnLVTan4cL0SZtOyfEoaVlnFzXkTMUnkZVaV7pBLUuer3ec+mCCXNk7A3zfK+4wHyyeNSqV8euTUFdTDsOQUpBcyz/sHEi6fW2FVAzaS8He6zwV5SL5ywr+PPDi8YJTvGDkNTmScuoJCLpqzuUbBj3kkohgaRu9FrbCDY4D/BkV/2SBF0I8BOcQSCUH9I1scaMNL8b6FOYpZ2NPFsl7gJ2yrDFrCUAsSf5P0KiQAemDDgPkCRACnXFSICOK+jOzJWiOMs5BXa0o3rwYPyYU3e8utDowz9y2/fu4QTuDE8r1O4vwAtAu17PK91N3ZB3JVZncXt19YPk4nnt0I9erKfsdCv5CrVimEQZ2HE2wEvwE4piEAKgrYfjiubFjKOghvjDNsJKGv7NcTCZ35gp7Af3ucdmmDOAcTLzr1dz8qoXHI1OqoFaTSjDr5r8upuyEphqoa5DcNJg9ftdewrqYR0yzQsg7RWll1zMo5OhjT5leovUP6a9xZXvR6Rf4sa6wlsuzLTgx81BHMsc39y3PwR/38Wc4r4BnBy53t/OjXwsMrV+QXby8PdoM8fG8tD4Gn8giCLax7l/6/lccFKgrOEQobeacCYYY7L1BR8I5cOrO/uUAEpz56kj2KPGBrSdRE74ZM/r3oJPo2apWpVAbsFiQVxTY7UIZUe4DCH2TycZtca5DDNkVPipR3OEi5HfBRtmTwOB8IT7aOQe+ITY7IVhVT77VOUaycAxEyHOCcrHzRo4fHZ3bMUw/0qWRvkxxT2kMlp3gmR1Qy0CRV5UtGvt44cPD4CcrMqOQk+G60rKhfFELBzFCpStlxhaQBQNV2vTGzgzIOK2R3k0yoX9oytn3uxpuOf4Ay9yrkdif5hpyb3oXpYY36O9VBRc91ExcnbVmvTnN5qLMrkw7YNvRwns+vQS6f24Csrg1r8YY9w+vf9J9nQDmBwJlAdMEre+GzuB4LmbMAp6WHys97xdOfkoYp/H7aKyknLhOqeH5tCr59fV3nQnenH61v/fEzHOd0MuuxdtGZ0tNF2Be8uvfTFI9L0mdOe6Tfukz4/efXpow7K3BifYvr13btYhM6x0wBNgWQiojbcIBJNCzJASZ0OfaAVTNFzbfsSXiWfZqE38BvaHHoAieuOfvM4hnmIdgniJwdeKjYIFtf3ehKsJlxVtH1+O61/STYvBsrwH63OvVCHnK+21CLp3Yrmt3AQG9wIGh4TRo9+rppr7lEhiAHli0MZhmwSUC2PNBT7JZHobHDE+nmu9aQCbY6thVsFSuWKwPPgEomwf4yCRgwyhQHMlWnZqf3hs6zscGzx3AMO1kWFHIsmMhqcjyO012zoLbDvKLFNC32hNNen9CXv0LR+6JvNH0mPeq7qCe+JPSc0aQzknYGsnR12dfnW1adyaufs+foAtoMDCQS+Fp9mSbRy3pYptKWu/eGzv1XDlURFYbk3BjmQHN55+YDxD5A0S0kKeo5jLzRXuotOcVKZegJkexOp3KrHhPDzhVpig/r/Ophqo16HNcT7NFO68a/nPD5592Ka/Cu6bueeur1ffOqV+iBF4K32X0fvp6Jdh7tLMwFfPNuhquNPfXTp+b3ymEdXpeebfauVYxefd8gZGlpVEQm+ghqFalWDUeZoLKwQWIm6YVUrUIPYcJZqgYZWYKMnCbjPaBOzSaabCWh12+TftnKdi90aqBXrQdSMJ87XzAq9KRJpc0yAT/t9qtPS8Fccdh0UrVwAOYJSmawVKaDvUo7OzA04iRmWMRUJhOYiqRC7+dieC17cK0+VTmXcMt6AgSYyMn1BLOo3f7w7Ron9vW5xD037BFdfX1i50eFrYXCVjznPJ57tbP06qu4gHtXOp9eWcG3YHZm374ZsdcjiqXR0ZIoenoxR2eufjp/jAuv0kVMb3fBytq9+zTEORP8wgtZVA61/FR+gMuQT3hAWpJBgRpZnF9RW4ybd+7DsYnT+SSfxmwS15Ia/sZRvGtxrvOZubvwyT/C0ZV76ZYr/mefZe7s/NnKv54/j7o1p+ODEajeG2gvIl6jFUs2TCiefHarN12tQAEEzlc0wNAwGTWsJv1inxdciI+DT2WUViBqwguQotrWI8MGlTVWiOZcklbqZi5Pr0kbE2wDm0HIhGNMHIf4fIoH/KXgXAN0FnEoxgKe83j0SU7jyo3OT3rLW7BY6U8KOD17j7qQjhSjewUWL2l/z8xh3tu7sCI35EQk78J4gMGPnFh5zCWUXALfozE/7/xL4Rt7x09oMpv0cB5BjEkMK8jaeZz7RFT1cC6c9HKrZ/+Y8/uGgnT0eUQ8Br30gvxUMgFPCKoQBo5t0h85ggA+YcOKdC/mXxx/c5FezBN1WCT6i5zFML8UiffF5ya/8eYFOsARDCMijATpSOhFjohyG4k4WCSMDAbrDRbbHtpSvkT5LGp7xZDu3NFP+RFmWI9XlNRgl7X2j0xFaQ7ZSAaT9M4xHcdmrRFM5nGS5bLMvUJHjuID/hMn+Jv8LzMv9XU+4bmE2Mhs5/nOeUa+ufPq/bHY1Y828SgeuQULy986fHhVDmBvzEtgeSEaGVBX2VBV6w6ga2BOWUANiKCN/AQex9gMa+zFlWeDmd7snj/4UEIKM8K7m+cPHnwt0BPfw39wiNVEE3+nuYdi/GrOtlbX51bvNSAv1gx6tZE1KKDXDKjeKcCv3lVkN+VY+U10423G2YuASwcomLJPStoFTeoIlKChBwB5+XVnJNId+aQzcqukHZ+lPdr8w6/tof9H51opU4J5pXuux52Ro92Ru52Rh/5PzvVOc+grz7XxWBtP9T86FIuESyfZZ5ivQkSKoRTUDEQwWu6gTlHOY7c4NUxRLmBArMFQRlgZCnEegUJciKYNCmG6+KrHsZbna3VwPBGHIQPNSbg2gScxZs0gVJ34z3fjqbypLn3zHtfCG2bIJd3w+B2l2jjLYu3I157BLuary52g12X4vcNy9OWTh4WouyT6XEWfznGM2rmEv3XgAMV/qgPmTuf34RQ6hloC1YAO2OTcdSlxeHHJeVfiW6J8XabVJb33S3ZvO1ibnsJKKlA1p5ok5txrs/R3PWTpcDJKasq5YKQ/meqGxIqubSyQsZLm82nFrIUbGtdI19Jamv1cvFCIL5+lLf7p4g1HFheP3IC3PHZk8QbmzkK80+cM/DBe6Aj4dxYXOw+ev+ee8/HvOoHm8t1mEU2hQ6s2lbBbCVrwo0QBCv4ep1im59rm3G52Iz8cg+Y42+E0mX4o+pXhStOJ7z2QxrWH6036gw2RFCfVu1xer1b5EN8hGS1i51e2tdsAsDkIPGYliDdesazes7CRI9OdoekjR6bxa8mk4OL7XB7OJ3aGoMLP4ddyVS7j5kK/36mLGfHnojgBj4/h49BOiPiadnfd9BGRDfJ9nKua6657hIdVGMMiWEOnOmvoYoT+C93/Vj8AAHjafY+/asMwEIc/JU6aQhsyltJBQ6eCg20IgdCt1GTwlNJsHUJijCCxwHaeqVufpM/Qta/Ri31ZOkTipO9Ov/sjYMwXhm7d8qBsGPGs3OOKd+U+j3wqB6L5UR5wY4zykJGxojTBtXj3bdaJDROelHvS91W5z5IP5UA038oD7vhVHjIxY1I8JQ2ObUs1lkz2C6S+bNzWl7XNMnHfRHNgJ2cjykoC7rBzjRdakVNwZM/m9LDKi+N+I3AunrYJhagsCVMiuRdi/0t20Vg0IXOxRJQxs26U1FdFbpNpZBf23FowTsJ5mETx7OKEa+ldyedcO9GpRzcF67yqnS9tLHUvVfgDz/ZF8gAAAHjabc25DgFhGIXh/53B2Pd9J9HPN/bSWolC4iI0OjfgxhFO6SQnT/k6z333errI/dvkc5yHh+98YsRJEJAkRZoMWXLkKVCkRJkKVWrUadCkRZsOXXr0GTBkxDh2vp5O3u4SPO63YxiG0mQkp3Im53Ihl3Il13Ijt3In9/Igjz9NfVPf1Df1TX1T39Q39U19U9/UN/VNfVPfDm8tR0peAAB42mNgYGBkAIKLcceVwfQJ+XIoXQEARe8GegAA) format("woff");
font-weight: normal;
font-style: normal;
}
.simditor-icon {
display: inline-block;
font: normal normal normal 14px/1 'Simditor';
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
transform: translate(0, 0);
}
.simditor-icon-code:before {
content: '\f000';
}
.simditor-icon-bold:before {
content: '\f001';
}
.simditor-icon-italic:before {
content: '\f002';
}
.simditor-icon-underline:before {
content: '\f003';
}
.simditor-icon-times:before {
content: '\f004';
}
.simditor-icon-strikethrough:before {
content: '\f005';
}
.simditor-icon-list-ol:before {
content: '\f006';
}
.simditor-icon-list-ul:before {
content: '\f007';
}
.simditor-icon-quote-left:before {
content: '\f008';
}
.simditor-icon-table:before {
content: '\f009';
}
.simditor-icon-link:before {
content: '\f00a';
}
.simditor-icon-picture-o:before {
content: '\f00b';
}
.simditor-icon-minus:before {
content: '\f00c';
}
.simditor-icon-indent:before {
content: '\f00d';
}
.simditor-icon-outdent:before {
content: '\f00e';
}
.simditor-icon-unlink:before {
content: '\f00f';
}
.simditor-icon-caret-down:before {
content: '\f010';
}
.simditor-icon-caret-right:before {
content: '\f011';
}
.simditor-icon-upload:before {
content: '\f012';
}
.simditor-icon-undo:before {
content: '\f013';
}
.simditor-icon-smile-o:before {
content: '\f014';
}
.simditor-icon-tint:before {
content: '\f015';
}
.simditor-icon-font:before {
content: '\f016';
}
.simditor-icon-html5:before {
content: '\f017';
}
.simditor-icon-mark:before {
content: '\f018';
}
.simditor-icon-align-center:before {
content: '\f019';
}
.simditor-icon-align-left:before {
content: '\f01a';
}
.simditor-icon-align-right:before {
content: '\f01b';
}
.simditor-icon-font-minus:before {
content: '\f01c';
}
.simditor-icon-markdown:before {
content: '\f01d';
}
.simditor-icon-checklist:before {
content: '\f01e';
}
.simditor {
position: relative;
border: 1px solid #c9d8db;
}
.simditor .simditor-wrapper {
position: relative;
background: #ffffff;
}
.simditor .simditor-wrapper > textarea {
display: none !important;
width: 100%;
box-sizing: border-box;
font-family: monaco;
font-size: 16px;
line-height: 1.6;
border: none;
padding: 22px 15px 40px;
min-height: 300px;
outline: none;
background: transparent;
resize: none;
}
.simditor .simditor-wrapper .simditor-placeholder {
display: none;
position: absolute;
left: 0;
z-index: 0;
padding: 22px 15px;
font-size: 16px;
font-family: arial, sans-serif;
line-height: 1.5;
color: #999999;
background: transparent;
}
.simditor .simditor-wrapper.toolbar-floating .simditor-toolbar {
position: fixed;
top: 0;
z-index: 10;
box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}
.simditor .simditor-wrapper .simditor-image-loading {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 2;
}
.simditor .simditor-wrapper .simditor-image-loading .progress {
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
position: absolute;
bottom: 0;
left: 0;
}
.simditor .simditor-body {
padding: 22px 15px 40px;
min-height: 300px;
outline: none;
cursor: text;
position: relative;
z-index: 1;
background: transparent;
}
.simditor .simditor-body a.selected {
background: #b3d4fd;
}
.simditor .simditor-body a.simditor-mention {
cursor: pointer;
}
.simditor .simditor-body .simditor-table {
position: relative;
}
.simditor .simditor-body .simditor-table.resizing {
cursor: col-resize;
}
.simditor .simditor-body .simditor-table .simditor-resize-handle {
position: absolute;
left: 0;
top: 0;
width: 10px;
height: 100%;
cursor: col-resize;
}
.simditor .simditor-body pre {
/*min-height: 28px;*/
box-sizing: border-box;
-moz-box-sizing: border-box;
word-wrap: break-word !important;
white-space: pre-wrap !important;
}
.simditor .simditor-body img {
cursor: pointer;
}
.simditor .simditor-body img.selected {
box-shadow: 0 0 0 4px #cccccc;
}
.simditor .simditor-paste-bin {
position: fixed;
bottom: 10px;
right: 10px;
width: 1px;
height: 20px;
font-size: 1px;
line-height: 1px;
overflow: hidden;
padding: 0;
margin: 0;
opacity: 0;
-webkit-user-select: text;
}
.simditor .simditor-toolbar {
border-bottom: 1px solid #eeeeee;
background: #ffffff;
width: 100%;
}
.simditor .simditor-toolbar > ul {
margin: 0;
padding: 0 0 0 6px;
list-style: none;
}
.simditor .simditor-toolbar > ul > li {
position: relative;
display: inline-block;
font-size: 0;
}
.simditor .simditor-toolbar > ul > li > span.separator {
display: inline-block;
background: #cfcfcf;
width: 1px;
height: 18px;
margin: 11px 15px;
vertical-align: middle;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item {
display: inline-block;
width: 46px;
height: 40px;
outline: none;
color: #333333;
font-size: 15px;
line-height: 40px;
vertical-align: middle;
text-align: center;
text-decoration: none;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item span {
opacity: 0.6;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item span.simditor-icon {
display: inline;
line-height: normal;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item:hover span {
opacity: 1;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.active {
background: #eeeeee;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.active span {
opacity: 1;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.disabled {
cursor: default;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.disabled span {
opacity: 0.3;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title span:before {
content: "H";
font-size: 19px;
font-weight: bold;
font-family: 'Times New Roman';
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h1 span:before {
content: 'H1';
font-size: 18px;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h2 span:before {
content: 'H2';
font-size: 18px;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h3 span:before {
content: 'H3';
font-size: 18px;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-image {
position: relative;
overflow: hidden;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-image > input[type=file] {
position: absolute;
right: 0px;
top: 0px;
opacity: 0;
font-size: 100px;
cursor: pointer;
}
.simditor .simditor-toolbar > ul > li.menu-on .toolbar-item {
position: relative;
z-index: 20;
background: #ffffff;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}
.simditor .simditor-toolbar > ul > li.menu-on .toolbar-item span {
opacity: 1;
}
.simditor .simditor-toolbar > ul > li.menu-on .toolbar-menu {
display: block;
}
.simditor .simditor-toolbar .toolbar-menu {
display: none;
position: absolute;
top: 40px;
left: 0;
z-index: 21;
background: #ffffff;
text-align: left;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
}
.simditor .simditor-toolbar .toolbar-menu:before {
content: '';
display: block;
width: 46px;
height: 4px;
background: #ffffff;
position: absolute;
top: -3px;
left: 0;
}
.simditor .simditor-toolbar .toolbar-menu ul {
min-width: 160px;
list-style: none;
margin: 0;
padding: 10px 1px;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item {
display: block;
font-size: 16px;
line-height: 2em;
padding: 0 10px;
text-decoration: none;
color: #666666;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item:hover {
background: #f6f6f6;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h1 {
font-size: 24px;
color: #333333;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h2 {
font-size: 22px;
color: #333333;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h3 {
font-size: 20px;
color: #333333;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h4 {
font-size: 18px;
color: #333333;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h5 {
font-size: 16px;
color: #333333;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .separator {
display: block;
border-top: 1px solid #cccccc;
height: 0;
line-height: 0;
font-size: 0;
margin: 6px 0;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color {
width: 96px;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list {
height: 40px;
margin: 10px 6px 6px 10px;
padding: 0;
min-width: 0;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li {
float: left;
margin: 0 4px 4px 0;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color {
display: block;
width: 16px;
height: 16px;
background: #dfdfdf;
border-radius: 2px;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color:hover {
opacity: 0.8;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color.font-color-default {
background: #333333;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-1 {
background: #E33737;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-2 {
background: #e28b41;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-3 {
background: #c8a732;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-4 {
background: #209361;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-5 {
background: #418caf;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-6 {
background: #aa8773;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-7 {
background: #999999;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table {
background: #ffffff;
padding: 1px;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table {
border: none;
border-collapse: collapse;
border-spacing: 0;
table-layout: fixed;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td {
padding: 0;
cursor: pointer;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td:before {
width: 16px;
height: 16px;
border: 1px solid #ffffff;
background: #f3f3f3;
display: block;
content: "";
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td.selected:before {
background: #cfcfcf;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table {
display: none;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table ul li {
white-space: nowrap;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image {
position: relative;
overflow: hidden;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image input[type=file] {
position: absolute;
right: 0px;
top: 0px;
opacity: 0;
font-size: 100px;
cursor: pointer;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment {
width: 100%;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment ul {
min-width: 100%;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment .menu-item {
text-align: center;
}
.simditor .simditor-popover {
display: none;
padding: 5px 8px 0;
background: #ffffff;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
border-radius: 2px;
position: absolute;
z-index: 2;
}
.simditor .simditor-popover .settings-field {
margin: 0 0 5px 0;
font-size: 12px;
height: 25px;
line-height: 25px;
}
.simditor .simditor-popover .settings-field label {
display: inline-block;
margin: 0 5px 0 0;
}
.simditor .simditor-popover .settings-field input[type=text] {
display: inline-block;
width: 200px;
box-sizing: border-box;
font-size: 12px;
}
.simditor .simditor-popover .settings-field input[type=text].image-size {
width: 83px;
}
.simditor .simditor-popover .settings-field .times {
display: inline-block;
width: 26px;
font-size: 12px;
text-align: center;
}
.simditor .simditor-popover.link-popover .btn-unlink, .simditor .simditor-popover.image-popover .btn-upload, .simditor .simditor-popover.image-popover .btn-restore {
display: inline-block;
margin: 0 0 0 5px;
color: #333333;
font-size: 14px;
outline: 0;
}
.simditor .simditor-popover.link-popover .btn-unlink span, .simditor .simditor-popover.image-popover .btn-upload span, .simditor .simditor-popover.image-popover .btn-restore span {
opacity: 0.6;
}
.simditor .simditor-popover.link-popover .btn-unlink:hover span, .simditor .simditor-popover.image-popover .btn-upload:hover span, .simditor .simditor-popover.image-popover .btn-restore:hover span {
opacity: 1;
}
.simditor .simditor-popover.image-popover .btn-upload {
position: relative;
display: inline-block;
overflow: hidden;
vertical-align: middle;
}
.simditor .simditor-popover.image-popover .btn-upload input[type=file] {
position: absolute;
right: 0px;
top: 0px;
opacity: 0;
height: 100%;
width: 28px;
}
.simditor.simditor-mobile .simditor-wrapper.toolbar-floating .simditor-toolbar {
position: absolute;
top: 0;
z-index: 10;
box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}
.simditor .simditor-body, .editor-style {
font-size: 16px;
font-family: arial, sans-serif;
line-height: 1.6;
color: #333;
outline: none;
word-wrap: break-word;
}
.simditor .simditor-body > :first-child, .editor-style > :first-child {
margin-top: 0 !important;
}
.simditor .simditor-body a, .editor-style a {
color: #4298BA;
text-decoration: none;
word-break: break-all;
}
.simditor .simditor-body a:visited, .editor-style a:visited {
color: #4298BA;
}
.simditor .simditor-body a:hover, .editor-style a:hover {
color: #0F769F;
}
.simditor .simditor-body a:active, .editor-style a:active {
color: #9E792E;
}
.simditor .simditor-body a:hover, .simditor .simditor-body a:active, .editor-style a:hover, .editor-style a:active {
outline: 0;
}
.simditor .simditor-body h1, .simditor .simditor-body h2, .simditor .simditor-body h3, .simditor .simditor-body h4, .simditor .simditor-body h5, .simditor .simditor-body h6, .editor-style h1, .editor-style h2, .editor-style h3, .editor-style h4, .editor-style h5, .editor-style h6 {
font-weight: normal;
margin: 40px 0 20px;
color: #000000;
}
.simditor .simditor-body h1, .editor-style h1 {
font-size: 24px;
}
.simditor .simditor-body h2, .editor-style h2 {
font-size: 22px;
}
.simditor .simditor-body h3, .editor-style h3 {
font-size: 20px;
}
.simditor .simditor-body h4, .editor-style h4 {
font-size: 18px;
}
.simditor .simditor-body h5, .editor-style h5 {
font-size: 16px;
}
.simditor .simditor-body h6, .editor-style h6 {
font-size: 16px;
}
.simditor .simditor-body p, .simditor .simditor-body div, .editor-style p, .editor-style div {
word-wrap: break-word;
margin: 0 0 15px 0;
color: #333;
word-wrap: break-word;
}
.simditor .simditor-body b, .simditor .simditor-body strong, .editor-style b, .editor-style strong {
font-weight: bold;
}
.simditor .simditor-body i, .simditor .simditor-body em, .editor-style i, .editor-style em {
font-style: italic;
}
.simditor .simditor-body u, .editor-style u {
text-decoration: underline;
}
.simditor .simditor-body strike, .simditor .simditor-body del, .editor-style strike, .editor-style del {
text-decoration: line-through;
}
.simditor .simditor-body ul, .simditor .simditor-body ol, .editor-style ul, .editor-style ol {
list-style: disc outside none;
margin: 15px 0;
padding: 0 0 0 40px;
line-height: 1.6;
}
.simditor .simditor-body ul ul, .simditor .simditor-body ul ol, .simditor .simditor-body ol ul, .simditor .simditor-body ol ol, .editor-style ul ul, .editor-style ul ol, .editor-style ol ul, .editor-style ol ol {
padding-left: 30px;
}
.simditor .simditor-body ul ul, .simditor .simditor-body ol ul, .editor-style ul ul, .editor-style ol ul {
list-style: circle outside none;
}
.simditor .simditor-body ul ul ul, .simditor .simditor-body ol ul ul, .editor-style ul ul ul, .editor-style ol ul ul {
list-style: square outside none;
}
.simditor .simditor-body ol, .editor-style ol {
list-style: decimal;
}
.simditor .simditor-body blockquote, .editor-style blockquote {
border-left: 6px solid #ddd;
padding: 5px 0 5px 10px;
margin: 15px 0 15px 15px;
}
.simditor .simditor-body blockquote > :first-child, .editor-style blockquote > :first-child {
margin-top: 0;
}
.simditor .simditor-body code, .editor-style code {
display: inline-block;
padding: 0 4px;
margin: 0 5px;
background: #eeeeee;
border-radius: 3px;
font-size: 13px;
font-family: 'monaco', 'Consolas', "Liberation Mono", Courier, monospace;
}
.simditor .simditor-body pre, .editor-style pre {
padding: 10px 5px 10px 10px;
margin: 15px 0;
display: block;
line-height: 18px;
background: #F0F0F0;
border-radius: 3px;
font-size: 13px;
font-family: 'monaco', 'Consolas', "Liberation Mono", Courier, monospace;
white-space: pre;
word-wrap: normal;
overflow-x: auto;
}
.simditor .simditor-body pre code, .editor-style pre code {
display: block;
padding: 0;
margin: 0;
background: none;
border-radius: 0;
}
.simditor .simditor-body hr, .editor-style hr {
display: block;
height: 0px;
border: 0;
border-top: 1px solid #ccc;
margin: 15px 0;
padding: 0;
}
.simditor .simditor-body table, .editor-style table {
width: 100%;
table-layout: fixed;
border-collapse: collapse;
border-spacing: 0;
margin: 15px 0;
}
.simditor .simditor-body table thead, .editor-style table thead {
background-color: #f9f9f9;
}
.simditor .simditor-body table td, .simditor .simditor-body table th, .editor-style table td, .editor-style table th {
min-width: 40px;
height: 30px;
border: 1px solid #ccc;
vertical-align: top;
padding: 2px 4px;
text-align: left;
box-sizing: border-box;
}
.simditor .simditor-body table td.active, .simditor .simditor-body table th.active, .editor-style table td.active, .editor-style table th.active {
background-color: #ffffee;
}
.simditor .simditor-body img, .editor-style img {
/*margin: 0 5px;*/
max-width: 100%;
vertical-align: middle;
}
<ion-view view-title="报告查询">
<ion-content scroll="false">
<div class="list">
<label class="item item-input item-stacked-label">
<span class="input-label">样品编号</span>
<input type="text" placeholder="11长度编号">
</label>
<label class="item item-input item-stacked-label">
<span class="input-label">企业授权码</span>
<input type="text" placeholder="企业独有">
</label>
</div>
<div class="padding">
<button class="button button-block button-positive">查询</button>
</div>
</ion-content>
</ion-view>
<ion-view view-title="{{category_name}}">
<ion-content>
<!-- <div class="list">
<label class="item item-input item-stacked-label">
<span class="input-label">企业名称</span>
<input type="text" placeholder="企业名称全拼">
</label>
<label class="item item-input item-stacked-label">
<span class="input-label">联系电话</span>
<input type="text" placeholder="手机号/座机号">
</label>
<label class="item item-input item-stacked-label">
<span class="input-label">检测内容</span>
<textarea name="" placeholder="描述一下需要检测的产品和检测的项目" rows="10"></textarea>
</label>
</div>
<div class="padding">
<button class="button button-block button-positive">提交</button>
</div> -->
<div class="post-detail padding" ng-bind-html="post.detail" ng-if="posts.length == 1"></div>
<ion-list ng-if="posts.length > 1">
<a class="item item-thumbnail-left" ng-repeat="post in posts" href="#/app/{{channel}}/{{category}}/{{post.flag}}">
<img ng-src="{{post.img}}">
<h2>{{post.title}}</h2>
<p>{{post.sub_detail}}</p>
</a>
</ion-list>
</ion-content>
</ion-view>
<ion-view view-title="{{category_object.name}}">
<ion-content>
<ion-list>
<ion-item ng-repeat="(k,v) in category_object.cate" href="#/app/{{channel}}/{{k}}">
{{v}}
</ion-item>
</ion-list>
</ion-content>
</ion-view>
<ion-view view-title="检测设备">
<ion-content>
<ion-gallery ion-gallery-items="items" ion-gallery-toggle="false"></ion-gallery>
</ion-content>
</ion-view>
<ion-view view-title="企业宣传片">
<ion-content>
<div class="mp4 padding">
<video width="1" height="1" webkit-playsinline x-webkit-airplay controls src="http://static.mpwang.cn/nuozheng/normz.mp4"></video>
<p>
山东诺正检测有限公司,成立于2014年11月,是潍坊市科技局重点招商引资项目。
</p>
<p>
诺正检测是在中国科学院沈阳应用生态研究所技术支持下成立的综合性检测公司,是通过山东省级资质认定及农业行业机构认证的第三方检验机构,主要从事食品、农产品、环境、饲料、肥料及水产养殖、畜牧产品、消防设施等领域的检验检测,以及相关技术咨询、培训、研发。
</p>
<p>
2015年12月19日,诺正检测与中国科学院沈阳应用生态研究所深入合作、强强联手,正式挂牌成立了中国科学院沈阳应用生态研究所农产品安全山东中心。中国科学院沈阳应用生态研究所是国家农产品安全与环境质量检测中心的核心成员单位;是国家绿色食品、有机食品、无公害农产品定点监测机构;是国家现代农业技术中心、绿色农业研究中心、食品安全风险评估技术研究平台。诺正检测布局食品检测行业,精耕潍坊,立足山东,面向全国,获得社会各界的一致认可和信赖。
</p>
<p>
中科院沈阳生态研究所是中国科学院的直属单位,是中科院国家知识创新工程试点单位,是我国重要的基础性科研机构。沈阳生态研究所农产品安全山东中心落户潍坊、“安家”奎文,既搭建了科技成果转化的平台,也架起了奎文与高等级科研院所合作沟通的桥梁,必将对潍坊市加强食品安全、做好人才工作、推进科技创新起到重要的引领和推动作用。中科院沈阳生态研究所农产品安全山东中心立足潍坊、辐射全省、面向全国,充分开发利用国内外资源,积极扩大业务范围,迅速发展壮大。同时,广泛引进中科院的科技人才和科研成果来潍坊创业发展,为潍坊市和奎文区的科技进步和经济社会发展作出更大贡献。
</p>
<p>
诺正检测旨在搭建全面、完善、系统的产品检测与认证技术服务平台,建立完善的检测质量保证体系,实现农产品及其加工产品从起点到终端的全程质量控制与检测。诺正检测所有产业模块和发展规划都将围绕为社会铸造安全保障、固化安全壁垒、营造健康通道。
</p>
<p>
诺正检测公司精心培养专业技术团队,长期派遣技术人才到中国科学院沈阳应用生态研究所实地交流和学习。诺正检测公司目前拥有各类人才30余人,其中高级职称6人,中级职称10人,初级职称10人。配备有专业实验室面积2000余平方米,引进美国、德国、日本等国家的高尖端进口检测仪器设备60余台,其中包括三重四级杆串联液质联用仪、气相色谱质谱联用仪、日立全自动氨基酸分析仪、极具中国特色的原子荧光光谱仪等代表了国际尖端水平的专业仪器,可以广泛应用于农林牧渔业、及食品、饲料、环保、电子、纺织品、石油化工、香精香料、医药等诸多行业和领域,提供农药残留测试、兽药残留测试、微生物测试、贵金属及微量元素测试等精细化检测服务。
</p>
<p>
独立公正,是诺正恪守的准则;国际认可,是诺正能力的保证;客户需求,是诺正关注的焦点;高质高效,是诺正不变的承诺。本着科学严谨、服务至上的理念,诺正检测不负众望,打造出高水平检测实验室。今后,诺正检测将始终遵循诚信、公正、科学、高效的八字方针,继续承担社会委托和政府委托检测任务,服务企业,全过程质量监控,努力把公司建成集检测技术服务、技术咨询、技术培训及技术开发为一体的国内和国际认可的综合检测服务平台。
</p>
<p>
“君以民为本,民以食为天,食以安为先”。食品安全是事关每个家庭、每个人的重大基本民生问题,它不仅直接关系到人类的健康生存,而且还严重影响着经济和社会的发展。食品安全工作是一个系统工程,从源头到终端,无论哪个环节失控都会对食品安全构成严重威胁。加强监管,提升食品、饲料、肥料、环境及消防设施等行业素质是实现食品安全形势持续稳定好转的根本基础,食品检测是实现食品安全的重要保障。
</p>
<p>
安全与健康,是人类社会共同倡导的理念,没有时代的隔阂,没有空间的局限。诺正检测心系民生,有担当、有能力为保障区域生态安全和可持续发展,实现人与自然的和谐提供科学基础、决策依据和关键技术,承载起促进社会和谐发展的历史使命。
</p>
</div>
</ion-content>
</ion-view>
<ion-view view-title="诺正检测">
<ion-content>
<ion-list>
<ion-item class="item-divider">检测项目</ion-item>
<ion-item class="item-body">
<img class="full-image" ng-src="/images/jcrange/nongchanpin.jpg">
<p>
农产品检测
</p>
</ion-item>
<ion-item class="item-body">
<img class="full-image" ng-src="/images/jcrange/xiaofangjiance.jpg">
<p>
消防检测
</p>
</ion-item>
<ion-item class="item-body">
<img class="full-image" ng-src="/images/jcrange/huanjing.jpg">
<p>
环境检测
</p>
</ion-item>
<ion-item class="item-divider">服务宗旨</ion-item>
<ion-item class="item-body">
<img class="full-image" ng-src="/images/jcrange/mubiao.jpg">
<div style="font-size:13px;">
<h5>质量方针</h5>
诚信、公正、科学、高效地保证质量第一。<br>
坚持秉公检验,保证良好的职业规范和职业道德。<br>
坚持信誉至上,保守秘密,确保客户权益。<br>
坚持科学管理,保证资源,切实执行规范程序。<br>
坚持高效服务,保证准确及时出具检验报告。<br>
坚持服务质量第一、体系运行质量第一。
<h5>质量目标</h5>
全年测试项目错误率不大于1‰。<br>
报告及时率不低于99%。<br>
客户投诉率不大于1%、投诉处理率100%。
</div>
</ion-item>
<ion-item class="item-divider">科学速检</ion-item>
<ion-item class="item-body">
<img class="full-image" ng-src="/images/jcrange/shangyang.jpg">
<div style="font-size:13px;">
中科院沈阳生态应用研究所是中国农产品检测标准的制定者, 也是国内农产品检测技术最前沿的团队。<br>
诺正检测与中科院沈阳生态应用研究所深入合作, 强强联手, 培养了大批国内顶尖的检测人员服务于诺正检测。并且公司购入大量进口的先进检测设备, 保证检测的权威, 公正, 科学性。
</div>
</ion-item>
<ion-item class="item-divider">服务承诺</ion-item>
<ion-item class="item-body">
<img class="full-image" ng-src="/images/jcrange/kexuegongzheng.jpg">
<div style="font-size:13px;">
本公司具有第三方实验室的地位,检测工作不受任何来自内、外部的不正当的行政干预、商业利润和其它方面压力的影响。不生产、不经营所检验的产品,不和被检测单位发生利益冲突。<br>
本公司严格遵守保密原则,保证不泄漏用户技术资料和检测结果。保证完善质量体系,提高检测水平和管理水平,在确保检验报告的真实和准确的前提下,使客户满意率达到100%。
</div>
</ion-item>
</ion-list>
</ion-content>
</ion-view>
<ion-modal-view>
<ion-header-bar>
<h1 class="title">Login</h1>
<div class="buttons">
<button class="button button-clear" ng-click="closeLogin()">Close</button>
</div>
</ion-header-bar>
<ion-content>
<form ng-submit="doLogin()">
<div class="list">
<label class="item item-input">
<span class="input-label">Username</span>
<input type="text" ng-model="loginData.username">
</label>
<label class="item item-input">
<span class="input-label">Password</span>
<input type="password" ng-model="loginData.password">
</label>
<label class="item">
<button class="button button-block button-positive" type="submit">Log in</button>
</label>
</div>
</form>
</ion-content>
</ion-modal-view>
<ion-side-menus enable-menu-with-back-views="false">
<ion-side-menu-content>
<ion-nav-bar class="bar-balanced">
<ion-nav-back-button></ion-nav-back-button>
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view name="menuContent"></ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="left">
<ion-header-bar class="bar-balanced">
<h1 class="title">诺正检测</h1>
</ion-header-bar>
<ion-content scroll="false">
<ion-list>
<ion-item menu-close href="#/app/home">
诺正首页
</ion-item>
<ion-item menu-close href="#/app/{{key}}" ng-repeat="(key,val) in channels">
{{val.name}}
</ion-item>
<!-- <ion-item menu-close href="#/browse">
资源中心
</ion-item>
<ion-item menu-close href="#/playlists">
诺正动态
</ion-item>
<ion-item menu-close href="#/playlists">
诺正文化
</ion-item>
<ion-item menu-close href="#/playlists">
关于诺正
</ion-item>
<ion-item menu-close href="#/playlists">
招贤纳士
</ion-item> -->
</ion-list>
<div class="descption padding" style="position: absolute; bottom: 0; left: 0; right: 0;">
<p>Copyright © 2015-2016</p>
<p>山东诺正检测有限公司</p>
<p>版权所有 鲁ICP备15045188号</p>
</div>
</ion-content>
</ion-side-menu>
</ion-side-menus>
<ion-view view-title="{{post.title}}">
<ion-content>
<div class="post-detail padding" ng-bind-html="post.detail"></div>
</ion-content>
</ion-view>
<ion-view view-title="网上送检">
<ion-content scroll="false">
<div class="list">
<label class="item item-input item-stacked-label">
<span class="input-label">企业名称</span>
<input type="text" placeholder="企业名称全拼">
</label>
<label class="item item-input item-stacked-label">
<span class="input-label">联系电话</span>
<input type="text" placeholder="手机号/座机号">
</label>
<label class="item item-input item-stacked-label">
<span class="input-label">检测内容</span>
<textarea name="" placeholder="描述一下需要检测的产品和检测的项目" rows="10"></textarea>
</label>
</div>
<div class="padding">
<button class="button button-block button-positive">提交</button>
</div>
</ion-content>
</ion-view>
No preview for this file type
#!/usr/bin/env ruby
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
APP_PATH = File.expand_path('../../config/application', __FILE__)
require File.expand_path('../../config/boot', __FILE__)
require 'rails/commands'
File mode changed
File mode changed
File mode changed
require 'test_helper'
require 'rails/performance_test_help'
class BrowsingTest < ActionDispatch::PerformanceTest
# Refer to the documentation for all available options
# self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory]
# :output => 'tmp/performance', :formats => [:flat] }
def test_homepage
get '/'
end
end
ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
class ActiveSupport::TestCase
# Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
#
# Note: You'll currently still have to declare fixtures explicitly in integration tests
# -- they do not yet inherit this setting
fixtures :all
# Add more helper methods to be used by all tests here...
end
File mode changed
File mode changed