Anaconda – Important Pkgs: – Installing Anaconda



Anaconda – Important Pkgs: – Installing Anaconda

0 0


PyDataEMC


On Github quasiben / PyDataEMC

Python Setup

IPython Notebook

Me?

  • Ben Zaitlen
  • @quasiben
  • Developer and Data Scientist at Continuum Analytics

Anaconda

Completely free Python distribution for large-scale data processing, predictive analytics, and scientific computing:

  • 130+ of the most popular Python packages for science, math, engineering, data analysis
  • Completely free - including for commercial use and even redistribution
  • Cross platform on Linux, Windows, Mac
  • Zipped Windows executable files for those behind firewalls

Miniconda available for small footprint installs -- contains conda and Python

Download at http://continuum.io

Important Pkgs:

  • NumPy
  • SciPy
  • Pandas
  • Numba
  • PyODBC
  • SQL
  • Matplotlib
  • Bokeh
  • llvm
  • curl
  • Spyder
  • ipython
  • ipython notebook
  • ...

The official conda repository contains 200+ pkgs

Installing Anaconda

$ bash Anaconda-1.x.x-Linux-x86[_64].sh

click on downloaded dmg/exe and follow instructions

Anaconda installs in a single directory and does not overwrite pre-existing Python environments.

With anaconda installed you are now ready to tackle the problem at hand...

Launch an ipython notebook

$ ipython notebook
#or
C:/>ipython notebook

Advanced Features

  • Environment managment
  • Pkg management
  • Pkg building

Important distinction:

  • Anaconda is really just a meta-package of pre-defined libraries, modules, and binaries

    • A flavor of Python (like a flavor of Linux)
    • Anaconda 1.9.1 (the latest) is the current release and includes latest updates to NumPy, Scipy, etc.
  • Conda is a cross-platform, Python-agnostic binary package manager.

The Problem

  • Packaging is extremely important!
    • Developers know the pain
    • Users can and should be oblivously to the problem
  • Binaries are hard to produce
  • Binaries are hard to produce for all platforms
  • Binaries are hard to produce for all platforms for multiple versions

System Packaging

  • Windows
    • ?
  • OSX
    • macports
    • homebrew
  • Linux
    • yum
    • apt-get/aptitude

Again, Conda is cross-platform.

The Python Problem

  • Python 3.x/Py3k breaks backwards compatibilty with Python 2.7
  • PEP 404: "There never will be an official Python 2.8 release. It is an ex-release. Python 2.7 is the end of the Python 2 line of development."
  • How to install multiple Python versions?

CONDA!

Conda Create

  • Conda solves dependency issues for you automatically
  • Creates a new environment with packages or metapackages defined
  • Environments are entirely self-contained Python runtime layouts

Anaconda with Python 3.3

    $ conda create -n py3k python=3.3 anaconda=1.9
    $ source activate py3k
    #on windows
    C:> activate py3k

Minimalist Environment

    $ conda create -n tinyp27 python=2.7
    $ source activate tinyp27
    #on windows
    C:> activate tinyp27

Conda Build/Binstar

  • Nice recipe defintions
  • Designed for cross-platform build
  • Hosted Binaries and CI with Binstar
  • For another time...

IPython Notebook: An Overview

An Overview

  • What is it?
  • Basic Usage
  • Magics and Bangs
  • Multi-lingual Support
  • Hosted IPython Notebooks
  • IPCluster
  • Diabetes and Data

"The IPython Notebook is a web-based interactive computational environment where you can combine code execution, text, mathematics, plots and rich media into a single document"

  • More than an IDE
  • Programmers and people who program
  • Integrated visualization and processing
  • Storying telling with Data

Starting IPython/IPython Notebook

Extremely Easy Method:

  • Download Anaconda
  • $ipython or $ipython notebook

Can also be installed via pip and building from master

The Cell

In []:

Cell Types

  • Code
  • Markdown
  • Raw
  • Heading
In [1]:
1+1
Out[1]:
2
In [2]:
%pylab inline 
#(import numpy as np and matplotlib)
plt.xkcd()
x = np.arange(0,2*np.pi,.01)
plt.plot(x,np.sin(x))
Populating the interactive namespace from numpy and matplotlib

Out[2]:
[<matplotlib.lines.Line2D at 0x1092dd410>]

Execute a cell with:

  • shift+enter
  • ctrl+enter

Cells Run arbitrary Python Code...

And HTML

In [3]:
from IPython.display import HTML
s = """<marquee>PyData EMC</marquee>"""
h = HTML(s); h
Out[3]:
PyData EMC
In [4]:
%%HTML
<button type="button" id="loading-example-btn" data-loading-text="Loading..." class="btn btn-primary">
  Loading state
</button>
Loading state

And JS

In [5]:
%%javascript
console.log('hello world');
<IPython.core.display.Javascript at 0x105f51810>
  • bootstrap
  • jquery
  • codemirror
  • and a few other goodies

Bokeh Plotting Library

  • New plotting library for interactive visualization
  • Plots embed Javascript (BokehJS) and some CSS
  • Callable through Python!
In [6]:
import bokeh.plotting as bplt
bplt.output_notebook()
bplt.figure()
bplt.line(x, sin(x), color="red")
bplt.show()
Bokeh Plot
",t.firstChild.className="i",2===t.getElementsByClassName("i").length}),k.getById=o(function(t){return E.appendChild(t).id=B,!e.getElementsByName||!e.getElementsByName(B).length}),k.getById?(C.find.ID=function(t,e){if(typeof e.getElementById!==Y&&F){var n=e.getElementById(t);return n&&n.parentNode?[n]:[]}},C.filter.ID=function(t){var e=t.replace(ke,Te);return function(t){return t.getAttribute("id")===e}}):(delete C.find.ID,C.filter.ID=function(t){var e=t.replace(ke,Te);return function(t){var n=typeof t.getAttributeNode!==Y&&t.getAttributeNode("id");return n&&n.value===e}}),C.find.TAG=k.getElementsByTagName?function(t,e){return typeof e.getElementsByTagName!==Y?e.getElementsByTagName(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},C.find.CLASS=k.getElementsByClassName&&function(t,e){return typeof e.getElementsByClassName!==Y&&F?e.getElementsByClassName(t):void 0},O=[],D=[],(k.qsa=ye.test(e.querySelectorAll))&&(o(function(t){t.innerHTML="",t.querySelectorAll("[selected]").length||D.push("\\["+ie+"*(?:value|"+re+")"),t.querySelectorAll(":checked").length||D.push(":checked")}),o(function(t){var n=e.createElement("input");n.setAttribute("type","hidden"),t.appendChild(n).setAttribute("t",""),t.querySelectorAll("[t^='']").length&&D.push("[*^$]="+ie+"*(?:''|\"\")"),t.querySelectorAll(":enabled").length||D.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),D.push(",.*:")})),(k.matchesSelector=ye.test($=E.webkitMatchesSelector||E.mozMatchesSelector||E.oMatchesSelector||E.msMatchesSelector))&&o(function(t){k.disconnectedMatch=$.call(t,"div"),$.call(t,"[s!='']:x"),O.push("!=",ue)}),D=D.length&&new RegExp(D.join("|")),O=O.length&&new RegExp(O.join("|")),q=ye.test(E.contains)||E.compareDocumentPosition?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},W=E.compareDocumentPosition?function(t,n){if(t===n)return G=!0,0;var r=n.compareDocumentPosition&&t.compareDocumentPosition&&t.compareDocumentPosition(n);return r?1&r||!k.sortDetached&&n.compareDocumentPosition(t)===r?t===e||q(R,t)?-1:n===e||q(R,n)?1:A?ne.call(A,t)-ne.call(A,n):0:4&r?-1:1:t.compareDocumentPosition?-1:1}:function(t,n){var r,i=0,o=t.parentNode,s=n.parentNode,l=[t],u=[n];if(t===n)return G=!0,0;if(!o||!s)return t===e?-1:n===e?1:o?-1:s?1:A?ne.call(A,t)-ne.call(A,n):0;if(o===s)return a(t,n);for(r=t;r=r.parentNode;)l.unshift(r);for(r=n;r=r.parentNode;)u.unshift(r);for(;l[i]===u[i];)i++;return i?a(l[i],u[i]):l[i]===R?-1:u[i]===R?1:0},e):P},n.matches=function(t,e){return n(t,null,null,e)},n.matchesSelector=function(t,e){if((t.ownerDocument||t)!==P&&N(t),e=e.replace(de,"='$1']"),!(!k.matchesSelector||!F||O&&O.test(e)||D&&D.test(e)))try{var r=$.call(t,e);if(r||k.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return n(e,P,null,[t]).length>0},n.contains=function(t,e){return(t.ownerDocument||t)!==P&&N(t),q(t,e)},n.attr=function(t,n){(t.ownerDocument||t)!==P&&N(t);var r=C.attrHandle[n.toLowerCase()],i=r&&J.call(C.attrHandle,n.toLowerCase())?r(t,n,!F):e;return i===e?k.attributes||!F?t.getAttribute(n):(i=t.getAttributeNode(n))&&i.specified?i.value:null:i},n.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},n.uniqueSort=function(t){var e,n=[],r=0,i=0;if(G=!k.detectDuplicates,A=!k.sortStable&&t.slice(0),t.sort(W),G){for(;e=t[i++];)e===t[i]&&(r=n.push(i));for(;r--;)t.splice(n[r],1)}return t},M=n.getText=function(t){var e,n="",r=0,i=t.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=M(t)}else if(3===i||4===i)return t.nodeValue}else for(;e=t[r];r++)n+=M(e);return n},C=n.selectors={cacheLength:50,createPseudo:i,match:me,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(ke,Te),t[3]=(t[4]||t[5]||"").replace(ke,Te),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||n.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&n.error(t[0]),t},PSEUDO:function(t){var n,r=!t[5]&&t[2];return me.CHILD.test(t[0])?null:(t[3]&&t[4]!==e?t[2]=t[4]:r&&fe.test(r)&&(n=h(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(t[0]=t[0].slice(0,n),t[2]=r.slice(0,n)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(ke,Te).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=H[t+" "];return e||(e=new RegExp("(^|"+ie+")"+t+"("+ie+"|$)"))&&H(t,function(t){return e.test("string"==typeof t.className&&t.className||typeof t.getAttribute!==Y&&t.getAttribute("class")||"")})},ATTR:function(t,e,r){return function(i){var o=n.attr(i,t);return null==o?"!="===e:e?(o+="","="===e?o===r:"!="===e?o!==r:"^="===e?r&&0===o.indexOf(r):"*="===e?r&&o.indexOf(r)>-1:"$="===e?r&&o.slice(-r.length)===r:"~="===e?(" "+o+" ").indexOf(r)>-1:"|="===e?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),s="last"!==t.slice(-4),a="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,l){var u,p,c,h,_,d,f=o!==s?"nextSibling":"previousSibling",g=e.parentNode,m=a&&e.nodeName.toLowerCase(),y=!l&&!a;if(g){if(o){for(;f;){for(c=e;c=c[f];)if(a?c.nodeName.toLowerCase()===m:1===c.nodeType)return!1;d=f="only"===t&&!d&&"nextSibling"}return!0}if(d=[s?g.firstChild:g.lastChild],s&&y){for(p=g[B]||(g[B]={}),u=p[t]||[],_=u[0]===L&&u[1],h=u[0]===L&&u[2],c=_&&g.childNodes[_];c=++_&&c&&c[f]||(h=_=0)||d.pop();)if(1===c.nodeType&&++h&&c===e){p[t]=[L,_,h];break}}else if(y&&(u=(e[B]||(e[B]={}))[t])&&u[0]===L)h=u[1];else for(;(c=++_&&c&&c[f]||(h=_=0)||d.pop())&&((a?c.nodeName.toLowerCase()!==m:1!==c.nodeType)||!++h||(y&&((c[B]||(c[B]={}))[t]=[L,h]),c!==e)););return h-=i,h===r||0===h%r&&h/r>=0}}},PSEUDO:function(t,e){var r,o=C.pseudos[t]||C.setFilters[t.toLowerCase()]||n.error("unsupported pseudo: "+t);return o[B]?o(e):o.length>1?(r=[t,t,"",e],C.setFilters.hasOwnProperty(t.toLowerCase())?i(function(t,n){for(var r,i=o(t,e),s=i.length;s--;)r=ne.call(t,i[s]),t[r]=!(n[r]=i[s])}):function(t){return o(t,0,r)}):o}},pseudos:{not:i(function(t){var e=[],n=[],r=S(t.replace(pe,"$1"));return r[B]?i(function(t,e,n,i){for(var o,s=r(t,null,i,[]),a=t.length;a--;)(o=s[a])&&(t[a]=!(e[a]=o))}):function(t,i,o){return e[0]=t,r(e,null,o,n),!n.pop()}}),has:i(function(t){return function(e){return n(t,e).length>0}}),contains:i(function(t){return function(e){return(e.textContent||e.innerText||M(e)).indexOf(t)>-1}}),lang:i(function(t){return ge.test(t||"")||n.error("unsupported lang: "+t),t=t.replace(ke,Te).toLowerCase(),function(e){var n;do if(n=F?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===E},focus:function(t){return t===P.activeElement&&(!P.hasFocus||P.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:function(t){return t.disabled===!1},disabled:function(t){return t.disabled===!0},checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,t.selected===!0},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeName>"@"||3===t.nodeType||4===t.nodeType)return!1;return!0},parent:function(t){return!C.pseudos.empty(t)},header:function(t){return we.test(t.nodeName)},input:function(t){return be.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||e.toLowerCase()===t.type)},first:p(function(){return[0]}),last:p(function(t,e){return[e-1]}),eq:p(function(t,e,n){return[0>n?n+e:n]}),even:p(function(t,e){for(var n=0;e>n;n+=2)t.push(n);return t}),odd:p(function(t,e){for(var n=1;e>n;n+=2)t.push(n);return t}),lt:p(function(t,e,n){for(var r=0>n?n+e:n;--r>=0;)t.push(r);return t}),gt:p(function(t,e,n){for(var r=0>n?n+e:n;++r","#"===t.firstChild.getAttribute("href")})||s("type|href|height|width",function(t,e,n){return n?void 0:t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),k.attributes&&o(function(t){return t.innerHTML="",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||s("value",function(t,e,n){return n||"input"!==t.nodeName.toLowerCase()?void 0:t.defaultValue}),o(function(t){return null==t.getAttribute("disabled")})||s(re,function(t,e,n){var r;return n?void 0:(r=t.getAttributeNode(e))&&r.specified?r.value:t[e]===!0?e.toLowerCase():null}),se.find=n,se.expr=n.selectors,se.expr[":"]=se.expr.pseudos,se.unique=n.uniqueSort,se.text=n.getText,se.isXMLDoc=n.isXML,se.contains=n.contains}(t);var fe={};se.Callbacks=function(t){t="string"==typeof t?fe[t]||i(t):se.extend({},t);var n,r,o,s,a,l,u=[],p=!t.once&&[],c=function(e){for(n=t.memory&&e,r=!0,l=s||0,s=0,a=u.length,o=!0;u&&a>l;l++)if(u[l].apply(e[0],e[1])===!1&&t.stopOnFalse){n=!1;break}o=!1,u&&(p?p.length&&c(p.shift()):n?u=[]:h.disable())},h={add:function(){if(u){var e=u.length;!function r(e){se.each(e,function(e,n){var i=se.type(n);"function"===i?t.unique&&h.has(n)||u.push(n):n&&n.length&&"string"!==i&&r(n)})}(arguments),o?a=u.length:n&&(s=e,c(n))}return this},remove:function(){return u&&se.each(arguments,function(t,e){for(var n;(n=se.inArray(e,u,n))>-1;)u.splice(n,1),o&&(a>=n&&a--,l>=n&&l--)}),this},has:function(t){return t?se.inArray(t,u)>-1:!(!u||!u.length)},empty:function(){return u=[],a=0,this},disable:function(){return u=p=n=e,this},disabled:function(){return!u},lock:function(){return p=e,n||h.disable(),this},locked:function(){return!p},fireWith:function(t,e){return!u||r&&!p||(e=e||[],e=[t,e.slice?e.slice():e],o?p.push(e):c(e)),this},fire:function(){return h.fireWith(this,arguments),this},fired:function(){return!!r}};return h},se.extend({Deferred:function(t){var e=[["resolve","done",se.Callbacks("once memory"),"resolved"],["reject","fail",se.Callbacks("once memory"),"rejected"],["notify","progress",se.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var t=arguments;return se.Deferred(function(n){se.each(e,function(e,o){var s=o[0],a=se.isFunction(t[e])&&t[e];i[o[1]](function(){var t=a&&a.apply(this,arguments);t&&se.isFunction(t.promise)?t.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===r?n.promise():this,a?[t]:arguments)})}),t=null}).promise()},promise:function(t){return null!=t?se.extend(t,r):r}},i={};return r.pipe=r.then,se.each(e,function(t,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},e[1^t][2].disable,e[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),t&&t.call(i,i),i},when:function(t){var e,n,r,i=0,o=ee.call(arguments),s=o.length,a=1!==s||t&&se.isFunction(t.promise)?s:0,l=1===a?t:se.Deferred(),u=function(t,n,r){return function(i){n[t]=this,r[t]=arguments.length>1?ee.call(arguments):i,r===e?l.notifyWith(n,r):--a||l.resolveWith(n,r)}};if(s>1)for(e=new Array(s),n=new Array(s),r=new Array(s);s>i;i++)o[i]&&se.isFunction(o[i].promise)?o[i].promise().done(u(i,r,o)).fail(l.reject).progress(u(i,n,e)):--a;return a||l.resolveWith(r,o),l.promise()}}),se.support=function(e){var n=G.createElement("input"),r=G.createDocumentFragment(),i=G.createElement("div"),o=G.createElement("select"),s=o.appendChild(G.createElement("option"));return n.type?(n.type="checkbox",e.checkOn=""!==n.value,e.optSelected=s.selected,e.reliableMarginRight=!0,e.boxSizingReliable=!0,e.pixelPosition=!1,n.checked=!0,e.noCloneChecked=n.cloneNode(!0).checked,o.disabled=!0,e.optDisabled=!s.disabled,n=G.createElement("input"),n.value="t",n.type="radio",e.radioValue="t"===n.value,n.setAttribute("checked","t"),n.setAttribute("name","t"),r.appendChild(n),e.checkClone=r.cloneNode(!0).cloneNode(!0).lastChild.checked,e.focusinBubbles="onfocusin"in t,i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",e.clearCloneStyle="content-box"===i.style.backgroundClip,se(function(){var n,r,o="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",s=G.getElementsByTagName("body")[0];s&&(n=G.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",s.appendChild(n).appendChild(i),i.innerHTML="",i.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",se.swap(s,null!=s.style.zoom?{zoom:1}:{},function(){e.boxSizing=4===i.offsetWidth}),t.getComputedStyle&&(e.pixelPosition="1%"!==(t.getComputedStyle(i,null)||{}).top,e.boxSizingReliable="4px"===(t.getComputedStyle(i,null)||{width:"4px"}).width,r=i.appendChild(G.createElement("div")),r.style.cssText=i.style.cssText=o,r.style.marginRight=r.style.width="0",i.style.width="1px",e.reliableMarginRight=!parseFloat((t.getComputedStyle(r,null)||{}).marginRight)),s.removeChild(n))}),e):e}({});var ge,me,ye=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,ve=/([A-Z])/g;o.uid=1,o.accepts=function(t){return t.nodeType?1===t.nodeType||9===t.nodeType:!0},o.prototype={key:function(t){if(!o.accepts(t))return 0;var e={},n=t[this.expando];if(!n){n=o.uid++;try{e[this.expando]={value:n},Object.defineProperties(t,e)}catch(r){e[this.expando]=n,se.extend(t,e)}}return this.cache[n]||(this.cache[n]={}),n},set:function(t,e,n){var r,i=this.key(t),o=this.cache[i];if("string"==typeof e)o[e]=n;else if(se.isEmptyObject(o))se.extend(this.cache[i],e);else for(r in e)o[r]=e[r];return o},get:function(t,n){var r=this.cache[this.key(t)];return n===e?r:r[n]},access:function(t,n,r){var i;return n===e||n&&"string"==typeof n&&r===e?(i=this.get(t,n),i!==e?i:this.get(t,se.camelCase(n))):(this.set(t,n,r),r!==e?r:n)},remove:function(t,n){var r,i,o,s=this.key(t),a=this.cache[s];if(n===e)this.cache[s]={};else{se.isArray(n)?i=n.concat(n.map(se.camelCase)):(o=se.camelCase(n),n in a?i=[n,o]:(i=o,i=i in a?[i]:i.match(le)||[])),r=i.length;for(;r--;)delete a[i[r]]}},hasData:function(t){return!se.isEmptyObject(this.cache[t[this.expando]]||{})},discard:function(t){t[this.expando]&&delete this.cache[t[this.expando]]}},ge=new o,me=new o,se.extend({acceptData:o.accepts,hasData:function(t){return ge.hasData(t)||me.hasData(t)},data:function(t,e,n){return ge.access(t,e,n)},removeData:function(t,e){ge.remove(t,e)},_data:function(t,e,n){return me.access(t,e,n)},_removeData:function(t,e){me.remove(t,e)}}),se.fn.extend({data:function(t,n){var r,i,o=this[0],a=0,l=null;if(t===e){if(this.length&&(l=ge.get(o),1===o.nodeType&&!me.get(o,"hasDataAttrs"))){for(r=o.attributes;a1,null,!0)},removeData:function(t){return this.each(function(){ge.remove(this,t)})}}),se.extend({queue:function(t,e,n){var r;return t?(e=(e||"fx")+"queue",r=me.get(t,e),n&&(!r||se.isArray(n)?r=me.access(t,e,se.makeArray(n)):r.push(n)),r||[]):void 0},dequeue:function(t,e){e=e||"fx";var n=se.queue(t,e),r=n.length,i=n.shift(),o=se._queueHooks(t,e),s=function(){se.dequeue(t,e)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return me.get(t,n)||me.access(t,n,{empty:se.Callbacks("once memory").add(function(){me.remove(t,[e+"queue",n])})})}}),se.fn.extend({queue:function(t,n){var r=2;return"string"!=typeof t&&(n=t,t="fx",r--),arguments.length1)},removeAttr:function(t){return this.each(function(){se.removeAttr(this,t)})},prop:function(t,e){return se.access(this,se.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[se.propFix[t]||t]})},addClass:function(t){var e,n,r,i,o,s=0,a=this.length,l="string"==typeof t&&t;if(se.isFunction(t))return this.each(function(e){se(this).addClass(t.call(this,e,this.className))});if(l)for(e=(t||"").match(le)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(xe," "):" ")){for(o=0;i=e[o++];)r.indexOf(" "+i+" ")s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(xe," "):"")){for(o=0;i=e[o++];)for(;r.indexOf(" "+i+" ")>=0;)r=r.replace(" "+i+" "," ");n.className=t?se.trim(r):""}return this},toggleClass:function(t,e){var n=typeof t;return"boolean"==typeof e&&"string"===n?e?this.addClass(t):this.removeClass(t):se.isFunction(t)?this.each(function(n){se(this).toggleClass(t.call(this,n,this.className,e),e)}):this.each(function(){if("string"===n)for(var e,r=0,i=se(this),o=t.match(le)||[];e=o[r++];)i.hasClass(e)?i.removeClass(e):i.addClass(e);else(n===I||"boolean"===n)&&(this.className&&me.set(this,"__className__",this.className),this.className=this.className||t===!1?"":me.get(this,"__className__")||"")})},hasClass:function(t){for(var e=" "+t+" ",n=0,r=this.length;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(xe," ").indexOf(e)>=0)return!0;return!1},val:function(t){var n,r,i,o=this[0];{if(arguments.length)return i=se.isFunction(t),this.each(function(r){var o;1===this.nodeType&&(o=i?t.call(this,r,se(this).val()):t,null==o?o="":"number"==typeof o?o+="":se.isArray(o)&&(o=se.map(o,function(t){return null==t?"":t+""})),n=se.valHooks[this.type]||se.valHooks[this.nodeName.toLowerCase()],n&&"set"in n&&n.set(this,o,"value")!==e||(this.value=o))});if(o)return n=se.valHooks[o.type]||se.valHooks[o.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(o,"value"))!==e?r:(r=o.value,"string"==typeof r?r.replace(ke,""):null==r?"":r)}}}),se.extend({valHooks:{option:{get:function(t){var e=t.attributes.value;return!e||e.specified?t.value:t.text}},select:{get:function(t){for(var e,n,r=t.options,i=t.selectedIndex,o="select-one"===t.type||0>i,s=o?null:[],a=o?i+1:r.length,l=0>i?a:o?i:0;a>l;l++)if(n=r[l],!(!n.selected&&l!==i||(se.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&se.nodeName(n.parentNode,"optgroup"))){if(e=se(n).val(),o)return e;s.push(e)}return s},set:function(t,e){for(var n,r,i=t.options,o=se.makeArray(e),s=i.length;s--;)r=i[s],(r.selected=se.inArray(se(r).val(),o)>=0)&&(n=!0);return n||(t.selectedIndex=-1),o}}},attr:function(t,n,r){var i,o,s=t.nodeType;if(t&&3!==s&&8!==s&&2!==s)return typeof t.getAttribute===I?se.prop(t,n,r):(1===s&&se.isXMLDoc(t)||(n=n.toLowerCase(),i=se.attrHooks[n]||(se.expr.match.bool.test(n)?we:be)),r===e?i&&"get"in i&&null!==(o=i.get(t,n))?o:(o=se.find.attr(t,n),null==o?e:o):null!==r?i&&"set"in i&&(o=i.set(t,r,n))!==e?o:(t.setAttribute(n,r+""),r):(se.removeAttr(t,n),void 0))},removeAttr:function(t,e){var n,r,i=0,o=e&&e.match(le);if(o&&1===t.nodeType)for(;n=o[i++];)r=se.propFix[n]||n,se.expr.match.bool.test(n)&&(t[r]=!1),t.removeAttribute(n)},attrHooks:{type:{set:function(t,e){if(!se.support.radioValue&&"radio"===e&&se.nodeName(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(t,n,r){var i,o,s,a=t.nodeType;if(t&&3!==a&&8!==a&&2!==a)return s=1!==a||!se.isXMLDoc(t),s&&(n=se.propFix[n]||n,o=se.propHooks[n]),r!==e?o&&"set"in o&&(i=o.set(t,r,n))!==e?i:t[n]=r:o&&"get"in o&&null!==(i=o.get(t,n))?i:t[n]},propHooks:{tabIndex:{get:function(t){return t.hasAttribute("tabindex")||Te.test(t.nodeName)||t.href?t.tabIndex:-1}}}}),we={set:function(t,e,n){return e===!1?se.removeAttr(t,n):t.setAttribute(n,n),n}},se.each(se.expr.match.bool.source.match(/\w+/g),function(t,n){var r=se.expr.attrHandle[n]||se.find.attr;se.expr.attrHandle[n]=function(t,n,i){var o=se.expr.attrHandle[n],s=i?e:(se.expr.attrHandle[n]=e)!=r(t,n,i)?n.toLowerCase():null;return se.expr.attrHandle[n]=o,s}}),se.support.optSelected||(se.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null}}),se.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){se.propFix[this.toLowerCase()]=this}),se.each(["radio","checkbox"],function(){se.valHooks[this]={set:function(t,e){return se.isArray(e)?t.checked=se.inArray(se(t).val(),e)>=0:void 0}},se.support.checkOn||(se.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})});var Ce=/^key/,Me=/^(?:mouse|contextmenu)|click/,je=/^(?:focusinfocus|focusoutblur)$/,Se=/^([^.]*)(?:\.(.+)|)$/;se.event={global:{},add:function(t,n,r,i,o){var s,a,l,u,p,c,h,_,d,f,g,m=me.get(t);if(m){for(r.handler&&(s=r,r=s.handler,o=s.selector),r.guid||(r.guid=se.guid++),(u=m.events)||(u=m.events={}),(a=m.handle)||(a=m.handle=function(t){return typeof se===I||t&&se.event.triggered===t.type?e:se.event.dispatch.apply(a.elem,arguments) },a.elem=t),n=(n||"").match(le)||[""],p=n.length;p--;)l=Se.exec(n[p])||[],d=g=l[1],f=(l[2]||"").split(".").sort(),d&&(h=se.event.special[d]||{},d=(o?h.delegateType:h.bindType)||d,h=se.event.special[d]||{},c=se.extend({type:d,origType:g,data:i,handler:r,guid:r.guid,selector:o,needsContext:o&&se.expr.match.needsContext.test(o),namespace:f.join(".")},s),(_=u[d])||(_=u[d]=[],_.delegateCount=0,h.setup&&h.setup.call(t,i,f,a)!==!1||t.addEventListener&&t.addEventListener(d,a,!1)),h.add&&(h.add.call(t,c),c.handler.guid||(c.handler.guid=r.guid)),o?_.splice(_.delegateCount++,0,c):_.push(c),se.event.global[d]=!0);t=null}},remove:function(t,e,n,r,i){var o,s,a,l,u,p,c,h,_,d,f,g=me.hasData(t)&&me.get(t);if(g&&(l=g.events)){for(e=(e||"").match(le)||[""],u=e.length;u--;)if(a=Se.exec(e[u])||[],_=f=a[1],d=(a[2]||"").split(".").sort(),_){for(c=se.event.special[_]||{},_=(r?c.delegateType:c.bindType)||_,h=l[_]||[],a=a[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=h.length;o--;)p=h[o],!i&&f!==p.origType||n&&n.guid!==p.guid||a&&!a.test(p.namespace)||r&&r!==p.selector&&("**"!==r||!p.selector)||(h.splice(o,1),p.selector&&h.delegateCount--,c.remove&&c.remove.call(t,p));s&&!h.length&&(c.teardown&&c.teardown.call(t,d,g.handle)!==!1||se.removeEvent(t,_,g.handle),delete l[_])}else for(_ in l)se.event.remove(t,_+e[u],n,r,!0);se.isEmptyObject(l)&&(delete g.handle,me.remove(t,"events"))}},trigger:function(n,r,i,o){var s,a,l,u,p,c,h,_=[i||G],d=ie.call(n,"type")?n.type:n,f=ie.call(n,"namespace")?n.namespace.split("."):[];if(a=l=i=i||G,3!==i.nodeType&&8!==i.nodeType&&!je.test(d+se.event.triggered)&&(d.indexOf(".")>=0&&(f=d.split("."),d=f.shift(),f.sort()),p=d.indexOf(":")1?u:h.bindType||d,c=(me.get(a,"events")||{})[n.type]&&me.get(a,"handle"),c&&c.apply(a,r),c=p&&a[p],c&&se.acceptData(a)&&c.apply&&c.apply(a,r)===!1&&n.preventDefault();return n.type=d,o||n.isDefaultPrevented()||h._default&&h._default.apply(_.pop(),r)!==!1||!se.acceptData(i)||p&&se.isFunction(i[d])&&!se.isWindow(i)&&(l=i[p],l&&(i[p]=null),se.event.triggered=d,i[d](),se.event.triggered=e,l&&(i[p]=l)),n.result}},dispatch:function(t){t=se.event.fix(t);var n,r,i,o,s,a=[],l=ee.call(arguments),u=(me.get(this,"events")||{})[t.type]||[],p=se.event.special[t.type]||{};if(l[0]=t,t.delegateTarget=this,!p.preDispatch||p.preDispatch.call(this,t)!==!1){for(a=se.event.handlers.call(this,t,u),n=0;(o=a[n++])&&!t.isPropagationStopped();)for(t.currentTarget=o.elem,r=0;(s=o.handlers[r++])&&!t.isImmediatePropagationStopped();)(!t.namespace_re||t.namespace_re.test(s.namespace))&&(t.handleObj=s,t.data=s.data,i=((se.event.special[s.origType]||{}).handle||s.handler).apply(o.elem,l),i!==e&&(t.result=i)===!1&&(t.preventDefault(),t.stopPropagation()));return p.postDispatch&&p.postDispatch.call(this,t),t.result}},handlers:function(t,n){var r,i,o,s,a=[],l=n.delegateCount,u=t.target;if(l&&u.nodeType&&(!t.button||"click"!==t.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==t.type){for(i=[],r=0;l>r;r++)s=n[r],o=s.selector+" ",i[o]===e&&(i[o]=s.needsContext?se(o,this).index(u)>=0:se.find(o,this,null,[u]).length),i[o]&&i.push(s);i.length&&a.push({elem:u,handlers:i})}return le;e++)if(se.contains(r[e],this))return!0}));for(e=0;i>e;e++)se.find(t,r[e],n);return n=this.pushStack(i>1?se.unique(n):n),n.selector=this.selector?this.selector+" "+t:t,n},has:function(t){var e=se(t,this),n=e.length;return this.filter(function(){for(var t=0;n>t;t++)if(se.contains(this,e[t]))return!0})},not:function(t){return this.pushStack(c(this,t||[],!0))},filter:function(t){return this.pushStack(c(this,t||[],!1))},is:function(t){return!!c(this,"string"==typeof t&&Ne.test(t)?se(t):t||[],!1).length},closest:function(t,e){for(var n,r=0,i=this.length,o=[],s=Ne.test(t)||"string"!=typeof t?se(t,e||this.context):0;i>r;r++)for(n=this[r];n&&n!==e;n=n.parentNode)if(n.nodeType-1:1===n.nodeType&&se.find.matchesSelector(n,t))){n=o.push(n);break}return this.pushStack(o.length>1?se.unique(o):o)},index:function(t){return t?"string"==typeof t?ne.call(se(t),this[0]):ne.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){var n="string"==typeof t?se(t,e):se.makeArray(t&&t.nodeType?[t]:t),r=se.merge(this.get(),n);return this.pushStack(se.unique(r))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),se.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return se.dir(t,"parentNode")},parentsUntil:function(t,e,n){return se.dir(t,"parentNode",n)},next:function(t){return p(t,"nextSibling")},prev:function(t){return p(t,"previousSibling")},nextAll:function(t){return se.dir(t,"nextSibling")},prevAll:function(t){return se.dir(t,"previousSibling")},nextUntil:function(t,e,n){return se.dir(t,"nextSibling",n)},prevUntil:function(t,e,n){return se.dir(t,"previousSibling",n)},siblings:function(t){return se.sibling((t.parentNode||{}).firstChild,t)},children:function(t){return se.sibling(t.firstChild)},contents:function(t){return t.contentDocument||se.merge([],t.childNodes)}},function(t,e){se.fn[t]=function(n,r){var i=se.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=se.filter(r,i)),this.length>1&&(Pe[t]||se.unique(i),Ae.test(t)&&i.reverse()),this.pushStack(i)}}),se.extend({filter:function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?se.find.matchesSelector(r,t)?[r]:[]:se.find.matches(t,se.grep(e,function(t){return 1===t.nodeType}))},dir:function(t,n,r){for(var i=[],o=r!==e;(t=t[n])&&9!==t.nodeType;)if(1===t.nodeType){if(o&&se(t).is(r))break;i.push(t)}return i},sibling:function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n}});var Ee=/]*)\/>/gi,Fe=/\s*$/g,Ue={option:[1,"",""],thead:[1,"",""],col:[2,"",""],tr:[2,"",""],td:[3,"",""],_default:[0,"",""]};Ue.optgroup=Ue.option,Ue.tbody=Ue.tfoot=Ue.colgroup=Ue.caption=Ue.thead,Ue.th=Ue.td,se.fn.extend({text:function(t){return se.access(this,function(t){return t===e?se.text(this):this.empty().append((this[0]&&this[0].ownerDocument||G).createTextNode(t))},null,t,arguments.length)},append:function(){return this.domManip(arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=h(this,t);e.appendChild(t)}})},prepend:function(){return this.domManip(arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=h(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return this.domManip(arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return this.domManip(arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},remove:function(t,e){for(var n,r=t?se.filter(t,this):this,i=0;null!=(n=r[i]);i++)e||1!==n.nodeType||se.cleanData(m(n)),n.parentNode&&(e&&se.contains(n.ownerDocument,n)&&f(m(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(se.cleanData(m(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null==t?!1:t,e=null==e?t:e,this.map(function(){return se.clone(this,t,e)})},html:function(t){return se.access(this,function(t){var n=this[0]||{},r=0,i=this.length;if(t===e&&1===n.nodeType)return n.innerHTML;if("string"==typeof t&&!Oe.test(t)&&!Ue[(Fe.exec(t)||["",""])[1].toLowerCase()]){t=t.replace(Ee,"$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(se.cleanData(m(n,!1)),n.innerHTML=t);n=0}catch(o){}}n&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=se.map(this,function(t){return[t.nextSibling,t.parentNode]}),e=0;return this.domManip(arguments,function(n){var r=t[e++],i=t[e++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),se(this).remove(),i.insertBefore(n,r))},!0),e?this:this.remove()},detach:function(t){return this.remove(t,!0)},domManip:function(t,e,n){t=K.apply([],t);var r,i,o,s,a,l,u=0,p=this.length,c=this,h=p-1,f=t[0],g=se.isFunction(f);if(g||!(1>=p||"string"!=typeof f||se.support.checkClone)&&qe.test(f))return this.each(function(r){var i=c.eq(r);g&&(t[0]=f.call(this,r,i.html())),i.domManip(t,e,n)});if(p&&(r=se.buildFragment(t,this[0].ownerDocument,!1,!n&&this),i=r.firstChild,1===r.childNodes.length&&(r=i),i)){for(o=se.map(m(r,"script"),_),s=o.length;p>u;u++)a=r,u!==h&&(a=se.clone(a,!0,!0),s&&se.merge(o,m(a,"script"))),e.call(this[u],a,u);if(s)for(l=o[o.length-1].ownerDocument,se.map(o,d),u=0;s>u;u++)a=o[u],Be.test(a.type||"")&&!me.access(a,"globalEval")&&se.contains(l,a)&&(a.src?se._evalUrl(a.src):se.globalEval(a.textContent.replace(Le,"")))}return this}}),se.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){se.fn[t]=function(t){for(var n,r=[],i=se(t),o=i.length-1,s=0;o>=s;s++)n=s===o?this:this.clone(!0),se(i[s])[e](n),te.apply(r,n.get());return this.pushStack(r)}}),se.extend({clone:function(t,e,n){var r,i,o,s,a=t.cloneNode(!0),l=se.contains(t.ownerDocument,t);if(!(se.support.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||se.isXMLDoc(t)))for(s=m(a),o=m(t),r=0,i=o.length;i>r;r++)y(o[r],s[r]);if(e)if(n)for(o=o||m(t),s=s||m(a),r=0,i=o.length;i>r;r++)g(o[r],s[r]);else g(t,a);return s=m(a,"script"),s.length>0&&f(s,!l&&m(t,"script")),a},buildFragment:function(t,e,n,r){for(var i,o,s,a,l,u,p=0,c=t.length,h=e.createDocumentFragment(),_=[];c>p;p++)if(i=t[p],i||0===i)if("object"===se.type(i))se.merge(_,i.nodeType?[i]:i);else if(De.test(i)){for(o=o||h.appendChild(e.createElement("div")),s=(Fe.exec(i)||["",""])[1].toLowerCase(),a=Ue[s]||Ue._default,o.innerHTML=a[1]+i.replace(Ee,"$2>")+a[2],u=a[0];u--;)o=o.lastChild;se.merge(_,o.childNodes),o=h.firstChild,o.textContent=""}else _.push(e.createTextNode(i));for(h.textContent="",p=0;i=_[p++];)if((!r||-1===se.inArray(i,r))&&(l=se.contains(i.ownerDocument,i),o=m(h.appendChild(i),"script"),l&&f(o),n))for(u=0;i=o[u++];)Be.test(i.type||"")&&n.push(i);return h},cleanData:function(t){for(var n,r,i,s,a,l,u=se.event.special,p=0;(r=t[p])!==e;p++){if(o.accepts(r)&&(a=r[me.expando],a&&(n=me.cache[a]))){if(i=Object.keys(n.events||{}),i.length)for(l=0;(s=i[l])!==e;l++)u[s]?se.event.remove(r,s):se.removeEvent(r,s,n.handle);me.cache[a]&&delete me.cache[a]}delete ge.cache[r[ge.expando]]}},_evalUrl:function(t){return se.ajax({url:t,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),se.fn.extend({wrapAll:function(t){var e;return se.isFunction(t)?this.each(function(e){se(this).wrapAll(t.call(this,e))}):(this[0]&&(e=se(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this)},wrapInner:function(t){return se.isFunction(t)?this.each(function(e){se(this).wrapInner(t.call(this,e))}):this.each(function(){var e=se(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=se.isFunction(t);return this.each(function(n){se(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(){return this.parent().each(function(){se.nodeName(this,"body")||se(this).replaceWith(this.childNodes)}).end()}});var He,Ie,Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^margin/,We=new RegExp("^("+ae+")(.*)$","i"),Ye=new RegExp("^("+ae+")(?!px)[a-z%]+$","i"),Xe=new RegExp("^([+-])=("+ae+")","i"),Je={BODY:"block"},Ze={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:0,fontWeight:400},Ke=["Top","Right","Bottom","Left"],tn=["Webkit","O","Moz","ms"];se.fn.extend({css:function(t,n){return se.access(this,function(t,n,r){var i,o,s={},a=0;if(se.isArray(n)){for(i=w(t),o=n.length;o>a;a++)s[n[a]]=se.css(t,n[a],!1,i);return s}return r!==e?se.style(t,n,r):se.css(t,n)},t,n,arguments.length>1)},show:function(){return x(this,!0)},hide:function(){return x(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){b(this)?se(this).show():se(this).hide()})}}),se.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=He(t,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(t,n,r,i){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var o,s,a,l=se.camelCase(n),u=t.style;return n=se.cssProps[l]||(se.cssProps[l]=v(u,l)),a=se.cssHooks[n]||se.cssHooks[l],r===e?a&&"get"in a&&(o=a.get(t,!1,i))!==e?o:u[n]:(s=typeof r,"string"===s&&(o=Xe.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(se.css(t,n)),s="number"),null==r||"number"===s&&isNaN(r)||("number"!==s||se.cssNumber[l]||(r+="px"),se.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),a&&"set"in a&&(r=a.set(t,r,i))===e||(u[n]=r)),void 0)}},css:function(t,n,r,i){var o,s,a,l=se.camelCase(n);return n=se.cssProps[l]||(se.cssProps[l]=v(t.style,l)),a=se.cssHooks[n]||se.cssHooks[l],a&&"get"in a&&(o=a.get(t,!0,r)),o===e&&(o=He(t,n,i)),"normal"===o&&n in Qe&&(o=Qe[n]),""===r||r?(s=parseFloat(o),r===!0||se.isNumeric(s)?s||0:o):o}}),He=function(t,n,r){var i,o,s,a=r||w(t),l=a?a.getPropertyValue(n)||a[n]:e,u=t.style;return a&&(""!==l||se.contains(t.ownerDocument,t)||(l=se.style(t,n)),Ye.test(l)&&Ge.test(n)&&(i=u.width,o=u.minWidth,s=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=a.width,u.width=i,u.minWidth=o,u.maxWidth=s)),l},se.each(["height","width"],function(t,e){se.cssHooks[e]={get:function(t,n,r){return n?0===t.offsetWidth&&Ve.test(se.css(t,"display"))?se.swap(t,Ze,function(){return C(t,e,r)}):C(t,e,r):void 0},set:function(t,n,r){var i=r&&w(t);return k(t,n,r?T(t,e,r,se.support.boxSizing&&"border-box"===se.css(t,"boxSizing",!1,i),i):0)}}}),se(function(){se.support.reliableMarginRight||(se.cssHooks.marginRight={get:function(t,e){return e?se.swap(t,{display:"inline-block"},He,[t,"marginRight"]):void 0}}),!se.support.pixelPosition&&se.fn.position&&se.each(["top","left"],function(t,e){se.cssHooks[e]={get:function(t,n){return n?(n=He(t,e),Ye.test(n)?se(t).position()[e]+"px":n):void 0}}})}),se.expr&&se.expr.filters&&(se.expr.filters.hidden=function(t){return t.offsetWidthr;r++)i[t+Ke[r]+e]=o[r]||o[r-2]||o[0];return i}},Ge.test(t)||(se.cssHooks[t+e].set=k)});var en=/%20/g,nn=/\[\]$/,rn=/\r?\n/g,on=/^(?:submit|button|image|reset|file)$/i,sn=/^(?:input|select|textarea|keygen)/i;se.fn.extend({serialize:function(){return se.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=se.prop(this,"elements");return t?se.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!se(this).is(":disabled")&&sn.test(this.nodeName)&&!on.test(t)&&(this.checked||!$e.test(t))}).map(function(t,e){var n=se(this).val();return null==n?null:se.isArray(n)?se.map(n,function(t){return{name:e.name,value:t.replace(rn,"\r\n")}}):{name:e.name,value:n.replace(rn,"\r\n")}}).get()}}),se.param=function(t,n){var r,i=[],o=function(t,e){e=se.isFunction(e)?e():null==e?"":e,i[i.length]=encodeURIComponent(t)+"="+encodeURIComponent(e)};if(n===e&&(n=se.ajaxSettings&&se.ajaxSettings.traditional),se.isArray(t)||t.jquery&&!se.isPlainObject(t))se.each(t,function(){o(this.name,this.value)});else for(r in t)S(r,t[r],n,o);return i.join("&").replace(en,"+")},se.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(t,e){se.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),se.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)},bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,r){return this.on(e,t,n,r)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)}});var an,ln,un=se.now(),pn=/\?/,cn=/#.*$/,hn=/([?&])_=[^&]*/,_n=/^(.*?):[ \t]*([^\r\n]*)$/gm,dn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,fn=/^(?:GET|HEAD)$/,gn=/^\/\//,mn=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,yn=se.fn.load,vn={},bn={},wn="*/".concat("*");try{ln=V.href}catch(xn){ln=G.createElement("a"),ln.href="",ln=ln.href}an=mn.exec(ln.toLowerCase())||[],se.fn.load=function(t,n,r){if("string"!=typeof t&&yn)return yn.apply(this,arguments);var i,o,s,a=this,l=t.indexOf(" ");return l>=0&&(i=t.slice(l),t=t.slice(0,l)),se.isFunction(n)?(r=n,n=e):n&&"object"==typeof n&&(o="POST"),a.length>0&&se.ajax({url:t,type:o,dataType:"html",data:n}).done(function(t){s=arguments,a.html(i?se("
").append(se.parseHTML(t)).find(i):t)}).complete(r&&function(t,e){a.each(r,s||[t.responseText,e,t])}),this},se.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){se.fn[e]=function(t){return this.on(e,t)}}),se.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ln,type:"GET",isLocal:dn.test(an[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":wn,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":se.parseJSON,"text xml":se.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?N(N(t,se.ajaxSettings),e):N(se.ajaxSettings,t)},ajaxPrefilter:z(vn),ajaxTransport:z(bn),ajax:function(t,n){function r(t,n,r,a){var u,c,y,v,w,k=n;2!==b&&(b=2,l&&clearTimeout(l),i=e,s=a||"",x.readyState=t>0?4:0,u=t>=200&&300>t||304===t,r&&(v=P(h,x,r)),v=E(h,v,x,u),u?(h.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(se.lastModified[o]=w),w=x.getResponseHeader("etag"),w&&(se.etag[o]=w)),204===t||"HEAD"===h.type?k="nocontent":304===t?k="notmodified":(k=v.state,c=v.data,y=v.error,u=!y)):(y=k,(t||!k)&&(k="error",0>t&&(t=0))),x.status=t,x.statusText=(n||k)+"",u?f.resolveWith(_,[c,k,x]):f.rejectWith(_,[x,k,y]),x.statusCode(m),m=e,p&&d.trigger(u?"ajaxSuccess":"ajaxError",[x,h,u?c:y]),g.fireWith(_,[x,k]),p&&(d.trigger("ajaxComplete",[x,h]),--se.active||se.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=e),n=n||{};var i,o,s,a,l,u,p,c,h=se.ajaxSetup({},n),_=h.context||h,d=h.context&&(_.nodeType||_.jquery)?se(_):se.event,f=se.Deferred(),g=se.Callbacks("once memory"),m=h.statusCode||{},y={},v={},b=0,w="canceled",x={readyState:0,getResponseHeader:function(t){var e;if(2===b){if(!a)for(a={};e=_n.exec(s);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return 2===b?s:null},setRequestHeader:function(t,e){var n=t.toLowerCase();return b||(t=v[n]=v[n]||t,y[t]=e),this},overrideMimeType:function(t){return b||(h.mimeType=t),this},statusCode:function(t){var e;if(t)if(2>b)for(e in t)m[e]=[m[e],t[e]];else x.always(t[x.status]);return this},abort:function(t){var e=t||w;return i&&i.abort(e),r(0,e),this}};if(f.promise(x).complete=g.add,x.success=x.done,x.error=x.fail,h.url=((t||h.url||ln)+"").replace(cn,"").replace(gn,an[1]+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=se.trim(h.dataType||"*").toLowerCase().match(le)||[""],null==h.crossDomain&&(u=mn.exec(h.url.toLowerCase()),h.crossDomain=!(!u||u[1]===an[1]&&u[2]===an[2]&&(u[3]||("http:"===u[1]?"80":"443"))===(an[3]||("http:"===an[1]?"80":"443")))),h.data&&h.processData&&"string"!=typeof h.data&&(h.data=se.param(h.data,h.traditional)),A(vn,h,n,x),2===b)return x;p=h.global,p&&0===se.active++&&se.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!fn.test(h.type),o=h.url,h.hasContent||(h.data&&(o=h.url+=(pn.test(o)?"&":"?")+h.data,delete h.data),h.cache===!1&&(h.url=hn.test(o)?o.replace(hn,"$1_="+un++):o+(pn.test(o)?"&":"?")+"_="+un++)),h.ifModified&&(se.lastModified[o]&&x.setRequestHeader("If-Modified-Since",se.lastModified[o]),se.etag[o]&&x.setRequestHeader("If-None-Match",se.etag[o])),(h.data&&h.hasContent&&h.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",h.contentType),x.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+wn+"; q=0.01":""):h.accepts["*"]);for(c in h.headers)x.setRequestHeader(c,h.headers[c]);if(h.beforeSend&&(h.beforeSend.call(_,x,h)===!1||2===b))return x.abort();w="abort";for(c in{success:1,error:1,complete:1})x[c](h[c]);if(i=A(bn,h,n,x)){x.readyState=1,p&&d.trigger("ajaxSend",[x,h]),h.async&&h.timeout>0&&(l=setTimeout(function(){x.abort("timeout")},h.timeout));try{b=1,i.send(y,r)}catch(k){if(!(2>b))throw k;r(-1,k)}}else r(-1,"No Transport");return x},getJSON:function(t,e,n){return se.get(t,e,n,"json")},getScript:function(t,n){return se.get(t,e,n,"script")}}),se.each(["get","post"],function(t,n){se[n]=function(t,r,i,o){return se.isFunction(r)&&(o=o||i,i=r,r=e),se.ajax({url:t,type:n,dataType:o,data:r,success:i})}}),se.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(t){return se.globalEval(t),t}}}),se.ajaxPrefilter("script",function(t){t.cache===e&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),se.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(r,i){e=se("
\n
")),this.button_bar=this.$el.find(".button_bar"),this.canvas_wrapper=this.$el.find(".bokeh_canvas_wrapper"),this.canvas=this.$el.find("canvas.bokeh_canvas")},l.prototype.render_canvas=function(t){var e,n,r,i,o;return null==t&&(t=!0),this.ctx=this.canvas[0].getContext("2d"),this.hidpi?(n=window.devicePixelRatio||1,e=this.ctx.webkitBackingStorePixelRatio||this.ctx.mozBackingStorePixelRatio||this.ctx.msBackingStorePixelRatio||this.ctx.oBackingStorePixelRatio||this.ctx.backingStorePixelRatio||1,o=n/e):o=1,i=this.view_state.get("outer_width"),r=this.view_state.get("outer_height"),this.canvas.width=i*o,this.canvas.height=r*o,this.button_bar.attr("style","width:"+i+"px;"),this.canvas_wrapper.attr("style","width:"+i+"px; height:"+r+"px"),this.canvas.attr("style","width:"+i+"px;"),this.canvas.attr("style","height:"+r+"px;"),this.canvas.attr("width",i*o).attr("height",r*o),this.$el.attr("width",i).attr("height",r),this.ctx.scale(o,o),this.ctx.translate(.5,.5),t?this.render():void 0},l.prototype.save_png=function(){var t;return this.render(),t=this.canvas[0].toDataURL(),this.model.set("png",this.canvas[0].toDataURL()),a([this.model])},l.prototype.render=function(){var t,e,n,r,i,o,s,a,u,p,c,h,_,d,f,g,m,y,v,b,w;for(l.__super__.render.call(this),null==this.initial_range_info&&null!=this.x_range.get("start")&&(this.initial_range_info={xr:{start:this.x_range.get("start"),end:this.x_range.get("end")},yr:{start:this.y_range.get("start"),end:this.y_range.get("end")}}),this.requested_padding={top:0,bottom:0,left:0,right:0},v=["image","underlay","glyph","overlay","annotation","tool"],f=0,m=v.length;m>f;f++){r=v[f],o=this.levels[r];for(n in o)if(h=o[n],null!=h.padding_request){i=h.padding_request();for(n in i)h=i[n],this.requested_padding[n]+=h}}c=this.mget("title"),c&&(this.title_props.set(this.ctx,{}),p=this.ctx.measureText(this.mget("title")).ascent,this.requested_padding.top+=p+this.mget("title_standoff")),u=this.mget("border_symmetry"),(u.indexOf("h")>=0||u.indexOf("H")>=0)&&(e=Math.max(this.requested_padding.left,this.requested_padding.right),this.requested_padding.left=e,this.requested_padding.right=e),(u.indexOf("v")>=0||u.indexOf("V")>=0)&&(e=Math.max(this.requested_padding.top,this.requested_padding.bottom),this.requested_padding.top=e,this.requested_padding.bottom=e),this.is_paused=!0,b=this.requested_padding;for(n in b)h=b[n],this.view_state.set("requested_border_"+n,h);for(this.is_paused=!1,this.ctx.fillStyle=this.mget("border_fill"),this.ctx.fillRect(0,0,this.view_state.get("canvas_width"),this.view_state.get("canvas_height")),this.ctx.fillStyle=this.mget("background_fill"),this.ctx.fillRect(this.view_state.get("border_left"),this.view_state.get("border_top"),this.view_state.get("inner_width"),this.view_state.get("inner_height")),this.outline_props.do_stroke&&(this.outline_props.set(this.ctx,{}),this.ctx.strokeRect(this.view_state.get("border_left"),this.view_state.get("border_top"),this.view_state.get("inner_width"),this.view_state.get("inner_height"))),t=!1,_=this.xmapper.get("mapper_state")[0],d=this.ymapper.get("mapper_state")[0],(Math.abs(this.old_mapper_state.x-_)>1e-8||Math.abs(this.old_mapper_state.y-d)>1e-8)&&(this.old_mapper_state.x=_,this.old_mapper_state.y=d,t=!0),this.ctx.save(),this.ctx.beginPath(),this.ctx.rect(this.view_state.get("border_left"),this.view_state.get("border_top"),this.view_state.get("inner_width"),this.view_state.get("inner_height")),this.ctx.clip(),this.ctx.beginPath(),w=["image","underlay","glyph"],g=0,y=w.length;y>g;g++){r=w[g],o=this.levels[r]; for(n in o)h=o[n],h.render(t)}return this.ctx.restore(),this.render_overlays(t),c?(s=this.view_state.get("outer_width")/2,a=p,this.title_props.set(this.ctx,{}),this.ctx.fillText(c,s,a)):void 0},l.prototype.render_overlays=function(t){var e,n,r,i,o,s,a,l;for(a=["overlay","annotation","tool"],l=[],o=0,s=a.length;s>o;o++)n=a[o],r=this.levels[n],l.push(function(){var n;n=[];for(e in r)i=r[e],n.push(i.render(t));return n}());return l},l}(l.View),g=function(t){function e(){return T=e.__super__.constructor.apply(this,arguments)}return r(e,t),e.prototype.type="Plot",e.prototype.default_view=m,e.prototype.add_renderers=function(t){var e;return e=this.get("renderers"),e=e.concat(t),this.set("renderers",e)},e.prototype.parent_properties=["background_fill","border_fill","canvas_width","canvas_height","outer_width","outer_height","min_border","min_border_top","min_border_bottom","min_border_left","min_border_right"],e.prototype.defaults=function(){return{data_sources:{},renderers:[],tools:[],title:"Plot"}},e.prototype.display_defaults=function(){return{hidpi:!0,background_fill:"#fff",border_fill:"#fff",border_symmetry:"h",min_border:40,x_offset:0,y_offset:0,canvas_width:300,canvas_height:300,outer_width:300,outer_height:300,title_standoff:8,title_text_font:"helvetica",title_text_font_size:"20pt",title_text_font_style:"normal",title_text_color:"#444444",title_text_alpha:1,title_text_align:"center",title_text_baseline:"alphabetic",outline_line_color:"#aaaaaa",outline_line_width:1,outline_line_alpha:1,outline_line_join:"miter",outline_line_cap:"butt",outline_line_dash:[],outline_line_dash_offset:0}},e}(u),y=function(t){function e(){return C=e.__super__.constructor.apply(this,arguments)}return r(e,t),e.prototype.model=g,e}(n.Collection),{Model:g,Collection:new y,View:m}})}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}},e={}.hasOwnProperty,r=function(t,n){function r(){this.constructor=t}for(var i in n)e.call(n,i)&&(t[i]=n[i]);return r.prototype=n.prototype,t.prototype=new r,t.__super__=n.prototype,t};n("common/gmap_plot",["underscore","jquery","backbone","./build_views","./safebind","./bulk_save","./continuum_view","./has_parent","./view_state","mapper/1d/linear_mapper","mapper/2d/grid_mapper","renderer/properties","tool/active_tool_manager"],function(e,n,i,o,s,a,l,u,p,c,h,_,d){var f,g,m,y,v,b,w;return y=["image","underlay","glyph","overlay","annotation","tool"],g=function(l){function u(){return this.bounds_change=t(this.bounds_change,this),this._mousemove=t(this._mousemove,this),this._mousedown=t(this._mousedown,this),v=u.__super__.constructor.apply(this,arguments)}return r(u,l),u.prototype.events={"mousemove .bokeh_canvas_wrapper":"_mousemove","mousedown .bokeh_canvas_wrapper":"_mousedown"},u.prototype.className="bokeh",u.prototype.view_options=function(){return e.extend({plot_model:this.model,plot_view:this},this.options)},u.prototype._mousedown=function(t){var e,n,r,i,o;for(i=this.mousedownCallbacks,o=[],n=0,r=i.length;r>n;n++)e=i[n],o.push(e(t,t.layerX,t.layerY));return o},u.prototype._mousemove=function(t){var e,n,r,i,o;for(i=this.moveCallbacks,o=[],n=0,r=i.length;r>n;n++)e=i[n],o.push(e(t,t.layerX,t.layerY));return o},u.prototype.pause=function(){return this.is_paused=!0},u.prototype.unpause=function(t){return null==t&&(t=!1),this.is_paused=!1,t?this.request_render_canvas(!0):this.request_render()},u.prototype.request_render=function(){this.is_paused||this.throttled_render()},u.prototype.request_render_canvas=function(t){this.is_paused||this.throttled_render_canvas(t)},u.prototype.initialize=function(t){var n,r,o,s,a,l,f,g,m,v,b,w,x,k,T,C,M,j,S,z,A,N,P,E;for(u.__super__.initialize.call(this,e.defaults(t,this.default_options)),this.throttled_render=e.throttle(this.render,100),this.throttled_render_canvas=e.throttle(this.render_canvas,100),this.outline_props=new _.line_properties(this,{},"title_"),this.title_props=new _.text_properties(this,{},"title_"),this.view_state=new p({canvas_width:null!=(f=t.canvas_width)?f:this.mget("canvas_width"),canvas_height:null!=(M=t.canvas_height)?M:this.mget("canvas_height"),x_offset:null!=(j=t.x_offset)?j:this.mget("x_offset"),y_offset:null!=(S=t.y_offset)?S:this.mget("y_offset"),outer_width:null!=(z=t.outer_width)?z:this.mget("outer_width"),outer_height:null!=(A=t.outer_height)?A:this.mget("outer_height"),min_border_top:null!=(N=null!=(P=t.min_border_top)?P:this.mget("min_border_top"))?N:this.mget("min_border"),min_border_bottom:null!=(E=null!=(g=t.min_border_bottom)?g:this.mget("min_border_bottom"))?E:this.mget("min_border"),min_border_left:null!=(m=null!=(v=t.min_border_left)?v:this.mget("min_border_left"))?m:this.mget("min_border"),min_border_right:null!=(b=null!=(w=t.min_border_right)?w:this.mget("min_border_right"))?b:this.mget("min_border"),requested_border_top:0,requested_border_bottom:0,requested_border_left:0,requested_border_right:0}),this.hidpi=null!=(x=t.hidpi)?x:this.mget("hidpi"),this.x_range=null!=(k=t.x_range)?k:this.mget_obj("x_range"),this.y_range=null!=(T=t.y_range)?T:this.mget_obj("y_range"),this.xmapper=new c({source_range:this.x_range,target_range:this.view_state.get("inner_range_horizontal")}),this.ymapper=new c({source_range:this.y_range,target_range:this.view_state.get("inner_range_vertical")}),this.mapper=new h({domain_mapper:this.xmapper,codomain_mapper:this.ymapper}),C=this.mget_obj("tools"),o=0,a=C.length;a>o;o++)r=C[o],("PanTool"===r.type||"WheelZoomTool"===r.type)&&(r.set_obj("dataranges",[this.x_range,this.y_range]),r.set("dimensions",["width","height"]));for(this.requested_padding={top:0,bottom:0,left:0,right:0},this.old_mapper_state={x:null,y:null},this.am_rendering=!1,this.renderers={},this.tools={},this.zoom_count=null,this.eventSink=e.extend({},i.Events),this.moveCallbacks=[],this.mousedownCallbacks=[],this.keydownCallbacks=[],this.render_init(),this.render_canvas(!1),this.atm=new d(this.eventSink),this.levels={},s=0,l=y.length;l>s;s++)n=y[s],this.levels[n]={};return this.build_levels(),this.request_render(),this.atm.bind_bokeh_events(),this.bind_bokeh_events(),this},u.prototype.map_to_screen=function(t,e,n){var r,i,o;return"screen"===e?(r=t.slice(0),i=n.slice(0)):(o=this.mapper.v_map_to_target(t,n),r=o[0],i=o[1]),r=this.view_state.v_vx_to_sx(r),i=this.view_state.v_vy_to_sy(i),[r,i]},u.prototype.map_from_screen=function(t,e,n){var r,i,o;return t=this.view_state.v_sx_to_vx(t.slice(0)),e=this.view_state.v_sy_to_vy(e.slice(0)),"screen"===n?(r=t,i=e