Roboy Audio¶
This project aims to implement human-like hearing skills. This with the use of the eight Microphones from the Matrix Creator board.
Status¶
Stable functionality:
- Audio stream from the 8 Mics through ROS
- Recieving Audio stream in python
- Azimutal angle localization of one Audio source, with low resolution
- Publishing the angles onto a rostopic
In development:
- Recognition of several xylophone key tones
- Localization with higher resolution
Contents:¶
Installation¶
We use catkin to build our tools. So make sure that you have a working catkin workspace.
Prerequisites & Dependencies¶
The roboy_communication_cognition package. It can be found in the roboy_communication repository (https://github.com/Roboy/roboy_communication). Best practice is to store the repository in the source folder of your catkin workspace.
libgstreamer1.0-0, libgstreamer1.0-dev, libgstreamer-plugins-base1.0-0, libgstreamer-plugins-base1.0-dev,
gstreamer1.0-plugins-ugly & gstreamer1.0-plugins-good, fftw3, libgflags-dev
To have them installed, you need to simply do
sudo apt install <package_name>
In addition doa_estimation is just build and executable on a Raspberry Pi, since it uses it’s Libraries and the current version just works with a Matrix Creator and a Pi.
Using command line¶
Clone the audio repository into the source folder of your catkin workspace.
git clone https://github.com/Roboy/roboy_audio /path/to/catkin_workspace/src/roboy_audio
Navigate to your catkin workspace.
cd /path/to/catkin_workspace
Make the packages. The available packages are: doa_estimation, roboy_audio_stream
catkin_make --pkg <package_name>
Have fun with roslaunch.
Start the direction of arrival estimation
roslaunch doa_estimation matrix_doa.launch
Capture and stream audio from the default audio source
roslaunch roboy_audio_stream capture.launch
Capture and stream audio from the 8 Matrix Creator microphones
roslaunch roboy_audio_stream capture_matrix_mics.launch
Start the stream receiver template node
roslaunch roboy_audio_stream receive_py.launch
Using IDE (Clion)¶
Clone the audio repository.
git clone https://github.com/Roboy/roboy_audio
Now open the CMakeLists.txt from the package that you want to edit.
Getting started¶
How does it work?¶
You can roslaunch or rosrun every node that is currently released. But you will need a sound source from which the algorithms can get needed data. For that you can either use a Matrix Creator and run the rosnodes on it or try to change the rostopic names inside of the code and use it for your own sources.
How to extend it?¶
You can create new rosnodes, by adding new catkin packages to the root folder (roboy_audio). You can find a Tutorial for creating catkin packages on the ROS Tutorial side (http://wiki.ros.org/ROS/Tutorials/CreatingPackage).
API¶
-
namespace
conf
¶ Variables
-
string conf.on_rtd
= ‘True’
-
list conf.extensions
= [ ‘sphinx.ext.autodoc’, ‘sphinx.ext.doctest’, ‘sphinx.ext.intersphinx’, ‘sphinx.ext.todo’, ‘sphinx.ext.coverage’, ‘sphinx.ext.mathjax’, ‘sphinx.ext.ifconfig’, ‘sphinx.ext.viewcode’, ‘breathe’, ]
-
list conf.templates_path
= [‘_templates’]
-
string conf.source_suffix
= ‘.rst’
-
string conf.master_doc
= ‘index’
-
string conf.project
= u’Architecture Documentation Wiki’
-
string conf.copyright
= u‘2016, Raphael Dürscheid, based on Template by Dr. Peter’
-
string conf.author
= u’Raphael Dürscheid, based on Template by Dr. Peter’
-
string conf.version
= u‘0.0.’
-
string conf.release
= u‘0.0.’
-
dictionary conf.breathe_projects
= { project: “doxyxml/” }
-
breathe_default_project
= project¶
-
string conf.language
= ‘en’
-
list conf.exclude_patterns
= []
-
string conf.pygments_style
= ‘sphinx’
-
bool conf.todo_include_todos
= True
-
string conf.html_theme
= “sphinx_rtd_theme”
-
list conf.html_theme_path
= [sphinx_rtd_theme.get_html_theme_path()]
-
list conf.html_static_path
= [‘_static’]
-
string conf.htmlhelp_basename
= ‘ArchitectureDocumentationWikidoc’
-
dictionary conf.latex_elements
= { # The paper size (‘letterpaper’ or ‘a4paper’). # # ‘papersize’: ‘letterpaper’, # The font size (‘10pt’, ‘11pt’ or ‘12pt’). # # ‘pointsize’: ‘10pt’, # Additional stuff for the LaTeX preamble. # # ‘preamble’: ‘’, # Latex figure (float) alignment # # ‘figure_align’: ‘htbp’, }
-
list conf.man_pages
= [ (master_doc, ‘architecturedocumentationwiki’, u’Architecture Documentation Wiki Documentation’, [author], 1) ]
-
list conf.texinfo_documents
= [ (master_doc, ‘ArchitectureDocumentationWiki’, u’Architecture Documentation Wiki Documentation’, author, ‘ArchitectureDocumentationWiki’, ‘One line description of project.’, ‘Miscellaneous’), ]
-
dictionary conf.intersphinx_mapping
= {‘https://docs.python.org/’: None}
-
string conf.SUFFIX
= source_suffix
-
bool conf.using_rtd_theme
= False
-
html_style
= None¶
-
dictionary conf.html_theme_options
= {}
-
string conf.websupport2_base_url
= ‘https://readthedocs.org/websupport’
-
string conf.websupport2_static_url
= ‘https://media.readthedocs.org/static/’
-
dictionary conf.context
-
html_context
= context¶
-
-
file
about-arc42.rst.txt
Variables
-
About
arc42
=========== arc42¶
-
About the Template for documentation of software and system architecture By Dr Gernot Starke
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Revision
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Juni © We acknowledge that this document uses material from the arc architecture template
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Juni © We acknowledge that this document uses material from the arc architecture http
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Juni © We acknowledge that this document uses material from the arc architecture Auflage Starke Hruschka Gernot Starke und Peter Hruschka
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Juni © We acknowledge that this document uses material from the arc architecture Auflage Starke Hruschka Gernot Starke und Peter Auflage Zörner Softwarearchitekturen dokumentieren und kommunizieren
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Juni © We acknowledge that this document uses material from the arc architecture Auflage Starke Hruschka Gernot Starke und Peter Auflage Zörner Softwarearchitekturen dokumentieren und Carl Hanser Verlag
-
About
-
file
about-arc42.rst.txt
Variables
-
About
arc42
=========== arc42¶
-
About the Template for documentation of software and system architecture By Dr Gernot Starke
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Revision
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Juni © We acknowledge that this document uses material from the arc architecture template
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Juni © We acknowledge that this document uses material from the arc architecture http
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Juni © We acknowledge that this document uses material from the arc architecture Auflage Starke Hruschka Gernot Starke und Peter Hruschka
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Juni © We acknowledge that this document uses material from the arc architecture Auflage Starke Hruschka Gernot Starke und Peter Auflage Zörner Softwarearchitekturen dokumentieren und kommunizieren
-
About the Template for documentation of software and system architecture By Dr Gernot Dr Peter Hruschka and contributors Template Juni © We acknowledge that this document uses material from the arc architecture Auflage Starke Hruschka Gernot Starke und Peter Auflage Zörner Softwarearchitekturen dokumentieren und Carl Hanser Verlag
-
About
-
file
index.rst.txt
Variables
-
Architecture Documentation Wiki documentation master file
-
Architecture Documentation Wiki documentation master created by sphinx quickstart on Fri Jul
-
Architecture Documentation Wiki documentation master created by sphinx quickstart on Fri but it should at least contain the root toctree directive Roboy Audio
=========================================================== This project aims to implement human-like hearing skills. This with the use of the eight Microphones from the Matrix Creator board. Status —— Stable functionality: - Audio stream from the 8 Mics through ROS - Recieving Audio stream in python - Azimutal angle localization of one Audio source
-
-
file
index.rst.txt
Variables
-
Architecture Documentation Wiki documentation master file
-
Architecture Documentation Wiki documentation master created by sphinx quickstart on Fri Jul
-
Architecture Documentation Wiki documentation master created by sphinx quickstart on Fri but it should at least contain the root toctree directive Roboy Audio
=========================================================== This project aims to implement human-like hearing skills. This with the use of the eight Microphones from the Matrix Creator board. Status —— Stable functionality: - Audio stream from the 8 Mics through ROS - Recieving Audio stream in python - Azimutal angle localization of one Audio source
-
-
file
6_API.rst.txt
-
file
6_API.rst.txt
-
file
0_installation.rst.txt
-
file
0_installation.rst.txt
-
file
1_getting_started.rst.txt
Variables
-
Getting
started
=============== How does it work? ----------------- You can roslaunch or rosrun every node that is currently released. But you will need a sound source from which the algorithms can get needed data. For that you can either use a Matrix Creator and run the rosnodes on it or try to change the rostopic names inside of the code and use it for your own sources. How to extend it? ----------------- You can create new rosnodes¶
-
Getting
-
file
1_getting_started.rst.txt
Variables
-
Getting
started
=============== How does it work? ----------------- You can roslaunch or rosrun every node that is currently released. But you will need a sound source from which the algorithms can get needed data. For that you can either use a Matrix Creator and run the rosnodes on it or try to change the rostopic names inside of the code and use it for your own sources. How to extend it? ----------------- You can create new rosnodes¶
-
Getting
-
file
doctools.js
Functions
-
if(!jQuery. browser)
-
if(activeElementType! activeElementType! = = 'TEXTAREA'&&activeElementType!== 'INPUT'&&activeElementType!== 'SELECT')
-
document ready(function(){Documentation.init();} function(){Documentation.init();})
Variables
-
$u
= _.noConflict() select a different prefix for underscore
-
jQuery
urldecode
= function(x) { return decodeURIComponent(x).replace(/\+/g, ' '); }¶ make the code below compatible with browsers without an installed firebug like debugger if (!window.console || !console.firebug) { var names = [“log”, “debug”, “info”, “warn”, “error”, “assert”, “dir”, “dirxml”, “group”, “groupEnd”, “time”, “timeEnd”, “count”, “trace”, “profile”, “profileEnd”]; window.console = {}; for (var i = 0; i < names.length; ++i) window.console[names[i]] = function() {}; }
small helper function to urldecode strings
-
jQuery
urlencode
= encodeURIComponent¶ small helper function to urlencode strings
-
jQuery
getQueryParameters
= function(s) { if (typeof s === 'undefined') s = document.location.search; var parts = s.substr(s.indexOf('?') + 1).split('&'); var result = {}; for (var i = 0; i < parts.length; i++) { var tmp = parts[i].split('=', 2); var key = jQuery.urldecode(tmp[0]); var value = jQuery.urldecode(tmp[1]); if (key in result) result[key].push(value); else result[key] = [value]; } return result; }¶ This function returns the parsed url parameters of the current request.
Multiple values per key are supported, it will always return arrays of strings for the value parts.
-
jQuery fn highlightText
highlight a given string on a jquery object by wrapping it in span elements with the given class name.
-
var
Documentation
¶ Small JavaScript module for the documentation.
-
var
initOnKeyListeners
¶
-
_
= Documentation.gettext
-
-
file
doctools.js
Functions
-
if(!jQuery. browser)
-
if(activeElementType! activeElementType! = = 'TEXTAREA'&&activeElementType!== 'INPUT'&&activeElementType!== 'SELECT')
-
document ready(function(){Documentation.init();} function(){Documentation.init();})
Variables
-
$u
= _.noConflict() select a different prefix for underscore
-
jQuery
urldecode
= function(x) { return decodeURIComponent(x).replace(/\+/g, ' '); }¶ make the code below compatible with browsers without an installed firebug like debugger if (!window.console || !console.firebug) { var names = [“log”, “debug”, “info”, “warn”, “error”, “assert”, “dir”, “dirxml”, “group”, “groupEnd”, “time”, “timeEnd”, “count”, “trace”, “profile”, “profileEnd”]; window.console = {}; for (var i = 0; i < names.length; ++i) window.console[names[i]] = function() {}; }
small helper function to urldecode strings
-
jQuery
urlencode
= encodeURIComponent¶ small helper function to urlencode strings
-
jQuery
getQueryParameters
= function(s) { if (typeof s === 'undefined') s = document.location.search; var parts = s.substr(s.indexOf('?') + 1).split('&'); var result = {}; for (var i = 0; i < parts.length; i++) { var tmp = parts[i].split('=', 2); var key = jQuery.urldecode(tmp[0]); var value = jQuery.urldecode(tmp[1]); if (key in result) result[key].push(value); else result[key] = [value]; } return result; }¶ This function returns the parsed url parameters of the current request.
Multiple values per key are supported, it will always return arrays of strings for the value parts.
-
jQuery fn highlightText
highlight a given string on a jquery object by wrapping it in span elements with the given class name.
-
var
Documentation
¶ Small JavaScript module for the documentation.
-
var
initOnKeyListeners
¶
-
_
= Documentation.gettext
-
-
file
jquery-3.1.0.js
Functions
-
if(typeof module = =="object"&&typeof module.exports==="object")
-
function
DOMEval
(code code, doc doc)¶
-
jQuery extend({expando:"jQuery"+(version+Math.random()).replace(/D/g,""), isReady:true, error:function(msg){throw new Error(msg);}, noop:function(){}, isFunction:function(obj){return jQuery.type(obj)==="function";}, isArray:Array.isArray, isWindow:function(obj){return obj!=null &&obj===obj.window;}, isNumeric:function(obj){var type=jQuery.type(obj);return(type==="number"||type==="string")&&!isNaN(obj-parseFloat(obj));}, isPlainObject:function(obj){var proto, Ctor;if(!obj||toString.call(obj)!=="[object Object]"){return false;}proto=getProto(obj);if(!proto){return true;}Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString;}, isEmptyObject:function(obj){var name;for(name in obj){return false;}return true;}, type:function(obj){if(obj==null){return obj+"";}return typeof obj==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj;}, globalEval:function(code){DOMEval(code);}, camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha, fcamelCase);}, nodeName:function(elem, name){return elem.nodeName &&elem.nodeName.toLowerCase()===name.toLowerCase();}, each:function(obj, callback){var length, i=0;if(isArrayLike(obj)){length=obj.length;for(;i< length;i++){if(callback.call(obj[i], i, obj[i])===false){break;}}}else{for(i in obj){if(callback.call(obj[i], i, obj[i])===false){break;}}}return obj;}, trim:function(text){return text==null?"":(text+"").replace(rtrim,"");}, makeArray:function(arr, results){var ret=results||[];if(arr!=null){if(isArrayLike(Object(arr))){jQuery.merge(ret, typeof arr==="string"?[arr]:arr);}else{push.call(ret, arr);}}return ret;}, inArray:function(elem, arr, i){return arr==null?-1:indexOf.call(arr, elem, i);}, merge:function(first, second){var len=+second.length, j=0, i=first.length;for(;j< len;j++){first[i++]=second[j];}first.length=i;return first;}, grep:function(elems, callback, invert){var callbackInverse, matches=[], i=0, length=elems.length, callbackExpect=!invert;for(;i< length;i++){callbackInverse=!callback(elems[i], i);if(callbackInverse!==callbackExpect){matches.push(elems[i]);}}return matches;}, map:function(elems, callback, arg){var length, value, i=0, ret=[];if(isArrayLike(elems)){length=elems.length;for(;i< length;i++){value=callback(elems[i], i, arg);if(value!=null){ret.push(value);}}}else{for(i in elems){value=callback(elems[i], i, arg);if(value!=null){ret.push(value);}}}return concat.apply([], ret);}, guid:1, proxy:function(fn, context){var tmp, args, proxy;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp;}if(!jQuery.isFunction(fn)){return undefined;}args=slice.call(arguments, 2);proxy=function(){return fn.apply(context||this, args.concat(slice.call(arguments)));};proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy;}, now:Date.now, support:support} {expando:"jQuery"+(version+Math.random()).replace(/D/g,""), isReady:true, error:function(msg){throw new Error(msg);}, noop:function(){}, isFunction:function(obj){return jQuery.type(obj)==="function";}, isArray:Array.isArray, isWindow:function(obj){return obj!=null &&obj===obj.window;}, isNumeric:function(obj){var type=jQuery.type(obj);return(type==="number"||type==="string")&&!isNaN(obj-parseFloat(obj));}, isPlainObject:function(obj){var proto, Ctor;if(!obj||toString.call(obj)!=="[object Object]"){return false;}proto=getProto(obj);if(!proto){return true;}Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString;}, isEmptyObject:function(obj){var name;for(name in obj){return false;}return true;}, type:function(obj){if(obj==null){return obj+"";}return typeof obj==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj;}, globalEval:function(code){DOMEval(code);}, camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha, fcamelCase);}, nodeName:function(elem, name){return elem.nodeName &&elem.nodeName.toLowerCase()===name.toLowerCase();}, each:function(obj, callback){var length, i=0;if(isArrayLike(obj)){length=obj.length;for(;i< length;i++){if(callback.call(obj[i], i, obj[i])===false){break;}}}else{for(i in obj){if(callback.call(obj[i], i, obj[i])===false){break;}}}return obj;}, trim:function(text){return text==null?"":(text+"").replace(rtrim,"");}, makeArray:function(arr, results){var ret=results||[];if(arr!=null){if(isArrayLike(Object(arr))){jQuery.merge(ret, typeof arr==="string"?[arr]:arr);}else{push.call(ret, arr);}}return ret;}, inArray:function(elem, arr, i){return arr==null?-1:indexOf.call(arr, elem, i);}, merge:function(first, second){var len=+second.length, j=0, i=first.length;for(;j< len;j++){first[i++]=second[j];}first.length=i;return first;}, grep:function(elems, callback, invert){var callbackInverse, matches=[], i=0, length=elems.length, callbackExpect=!invert;for(;i< length;i++){callbackInverse=!callback(elems[i], i);if(callbackInverse!==callbackExpect){matches.push(elems[i]);}}return matches;}, map:function(elems, callback, arg){var length, value, i=0, ret=[];if(isArrayLike(elems)){length=elems.length;for(;i< length;i++){value=callback(elems[i], i, arg);if(value!=null){ret.push(value);}}}else{for(i in elems){value=callback(elems[i], i, arg);if(value!=null){ret.push(value);}}}return concat.apply([], ret);}, guid:1, proxy:function(fn, context){var tmp, args, proxy;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp;}if(!jQuery.isFunction(fn)){return undefined;}args=slice.call(arguments, 2);proxy=function(){return fn.apply(context||this, args.concat(slice.call(arguments)));};proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy;}, now:Date.now, support:support})
-
jQuery each("Boolean Number String Function Array Date RegExp Object Error Symbol". split" ", function(i, name){class2type["[object "+name+"]"]=name.toLowerCase();} function(i, name){class2type["[object "+name+"]"]=name.toLowerCase();})
-
function
isArrayLike
(obj obj)¶
-
function winnow(elements elements, qualifier qualifier, not not)
-
jQuery each({parent:function(elem){var parent=elem.parentNode;return parent &&parent.nodeType!==11?parent:null;}, parents:function(elem){return dir(elem,"parentNode");}, parentsUntil:function(elem, i, until){return dir(elem,"parentNode", until);}, next:function(elem){return sibling(elem,"nextSibling");}, prev:function(elem){return sibling(elem,"previousSibling");}, nextAll:function(elem){return dir(elem,"nextSibling");}, prevAll:function(elem){return dir(elem,"previousSibling");}, nextUntil:function(elem, i, until){return dir(elem,"nextSibling", until);}, prevUntil:function(elem, i, until){return dir(elem,"previousSibling", until);}, siblings:function(elem){return siblings((elem.parentNode||{}).firstChild, elem);}, children:function(elem){return siblings(elem.firstChild);}, contents:function(elem){return elem.contentDocument||jQuery.merge([], elem.childNodes);}} {parent:function(elem){var parent=elem.parentNode;return parent &&parent.nodeType!==11?parent:null;}, parents:function(elem){return dir(elem,"parentNode");}, parentsUntil:function(elem, i, until){return dir(elem,"parentNode", until);}, next:function(elem){return sibling(elem,"nextSibling");}, prev:function(elem){return sibling(elem,"previousSibling");}, nextAll:function(elem){return dir(elem,"nextSibling");}, prevAll:function(elem){return dir(elem,"previousSibling");}, nextUntil:function(elem, i, until){return dir(elem,"nextSibling", until);}, prevUntil:function(elem, i, until){return dir(elem,"previousSibling", until);}, siblings:function(elem){return siblings((elem.parentNode||{}).firstChild, elem);}, children:function(elem){return siblings(elem.firstChild);}, contents:function(elem){return elem.contentDocument||jQuery.merge([], elem.childNodes);}}, function(name, fn){jQuery.fn[name]=function(until, selector){var matched=jQuery.map(this, fn, until);if(name.slice(-5)!=="Until"){selector=until;}if(selector &&typeof selector==="string"){matched=jQuery.filter(selector, matched);}if(this.length > 1){if(!guaranteedUnique[name]){jQuery.uniqueSort(matched);}if(rparentsprev.test(name)){matched.reverse();}}return this.pushStack(matched);};} function(name, fn){jQuery.fn[name]=function(until, selector){var matched=jQuery.map(this, fn, until);if(name.slice(-5)!=="Until"){selector=until;}if(selector &&typeof selector==="string"){matched=jQuery.filter(selector, matched);}if(this.length > 1){if(!guaranteedUnique[name]){jQuery.uniqueSort(matched);}if(rparentsprev.test(name)){matched.reverse();}}return this.pushStack(matched);};})
-
function
createOptions
(options options)¶
-
function
Thrower
(ex ex)¶
-
function
completed
()¶
-
if(document. readyState = =="complete"||(document.readyState!=="loading"&&!document.documentElement.doScroll))
-
window addEventListener("load" "load", completed completed)
-
function
Data
()¶
-
function
dataAttr
(elem elem, key key, data data)¶
-
function
adjustCSS
(elem elem, prop prop, valueParts valueParts, tween tween)¶
-
function
getDefaultDisplay
(elem elem)¶
-
function
getAll
(context context, tag tag)¶
-
function
setGlobalEval
(elems elems, refElements refElements)¶
-
function
buildFragment
(elems elems, context context, scripts scripts, selection selection, ignored ignored)¶
-
input setAttribute("type" "type", "radio" "radio")
-
container
appendChild
(input input)¶
-
function
returnTrue
()¶
-
function
returnFalse
()¶
-
function
safeActiveElement
()¶
-
jQuery each({altKey:true, bubbles:true, cancelable:true, changedTouches:true, ctrlKey:true, detail:true, eventPhase:true, metaKey:true, pageX:true, pageY:true, shiftKey:true, view:true,"char":true, charCode:true, key:true, keyCode:true, button:true, buttons:true, clientX:true, clientY:true, offsetX:true, offsetY:true, pointerId:true, pointerType:true, screenX:true, screenY:true, targetTouches:true, toElement:true, touches:true, which:function(event){var button=event.button;if(event.which==null &&rkeyEvent.test(event.type)){return event.charCode!=null?event.charCode:event.keyCode;}if(!event.which &&button!==undefined &&rmouseEvent.test(event.type)){return(button &1?1:(button &2?3:(button &4?2:0)));}return event.which;}} {altKey:true, bubbles:true, cancelable:true, changedTouches:true, ctrlKey:true, detail:true, eventPhase:true, metaKey:true, pageX:true, pageY:true, shiftKey:true, view:true,"char":true, charCode:true, key:true, keyCode:true, button:true, buttons:true, clientX:true, clientY:true, offsetX:true, offsetY:true, pointerId:true, pointerType:true, screenX:true, screenY:true, targetTouches:true, toElement:true, touches:true, which:function(event){var button=event.button;if(event.which==null &&rkeyEvent.test(event.type)){return event.charCode!=null?event.charCode:event.keyCode;}if(!event.which &&button!==undefined &&rmouseEvent.test(event.type)){return(button &1?1:(button &2?3:(button &4?2:0)));}return event.which;}}, jQuery.event. addProp)
-
function
manipulationTarget
(elem elem, content content)¶
-
function
disableScript
(elem elem)¶
-
function
restoreScript
(elem elem)¶
-
function
domManip
(collection collection, args args, callback callback, ignored ignored)¶
-
function
remove
(elem elem, selector selector, keepData keepData)¶
-
function if(!div. style)
-
div cloneNode(true true)
-
jQuery extend(support support, {pixelPosition:function(){computeStyleTests();return pixelPositionVal;}, boxSizingReliable:function(){computeStyleTests();return boxSizingReliableVal;}, pixelMarginRight:function(){computeStyleTests();return pixelMarginRightVal;}, reliableMarginLeft:function(){computeStyleTests();return reliableMarginLeftVal;}} {pixelPosition:function(){computeStyleTests();return pixelPositionVal;}, boxSizingReliable:function(){computeStyleTests();return boxSizingReliableVal;}, pixelMarginRight:function(){computeStyleTests();return pixelMarginRightVal;}, reliableMarginLeft:function(){computeStyleTests();return reliableMarginLeftVal;}})
-
function
curCSS
(elem elem, name name, computed computed)¶
-
function
addGetHookIf
(conditionFn conditionFn, hookFn hookFn)¶
-
function
vendorPropName
(name name)¶
-
function
augmentWidthOrHeight
(elem elem, name name, extra extra, isBorderBox isBorderBox, styles styles)¶
-
function
getWidthOrHeight
(elem elem, name name, extra extra)¶
-
jQuery each(function(i, name){jQuery.cssHooks[name]={get:function(elem, computed, extra){if(computed){return rdisplayswap.test(jQuery.css(elem,"display"))&&(!elem.getClientRects().length||!elem.getBoundingClientRect().width)?swap(elem, cssShow, function(){return getWidthOrHeight(elem, name, extra);}):getWidthOrHeight(elem, name, extra);}}, set:function(elem, value, extra){var matches, styles=extra &&getStyles(elem), subtract=extra &&augmentWidthOrHeight(elem, name, extra, jQuery.css(elem,"boxSizing", false, styles)==="border-box", styles);if(subtract &&(matches=rcssNum.exec(value))&&(matches[3]||"px")!=="px"){elem.style[name]=value;value=jQuery.css(elem, name);}return setPositiveNumber(elem, value, subtract);}};} function(i, name){jQuery.cssHooks[name]={get:function(elem, computed, extra){if(computed){return rdisplayswap.test(jQuery.css(elem,"display"))&&(!elem.getClientRects().length||!elem.getBoundingClientRect().width)?swap(elem, cssShow, function(){return getWidthOrHeight(elem, name, extra);}):getWidthOrHeight(elem, name, extra);}}, set:function(elem, value, extra){var matches, styles=extra &&getStyles(elem), subtract=extra &&augmentWidthOrHeight(elem, name, extra, jQuery.css(elem,"boxSizing", false, styles)==="border-box", styles);if(subtract &&(matches=rcssNum.exec(value))&&(matches[3]||"px")!=="px"){elem.style[name]=value;value=jQuery.css(elem, name);}return setPositiveNumber(elem, value, subtract);}};})
-
function
raf
()¶
-
function
createFxNow
()¶
-
function
propFilter
(props props, specialEasing specialEasing)¶
-
function
Animation
(elem elem, properties properties, options options)¶
-
jQuery each(jQuery.expr.match.bool.source. match/w+/g, function(i, name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem, name, isXML){var ret, handle, lowercaseName=name.toLowerCase();if(!isXML){handle=attrHandle[lowercaseName];attrHandle[lowercaseName]=ret;ret=getter(elem, name, isXML)!=null?lowercaseName:null;attrHandle[lowercaseName]=handle;}return ret;};} function(i, name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem, name, isXML){var ret, handle, lowercaseName=name.toLowerCase();if(!isXML){handle=attrHandle[lowercaseName];attrHandle[lowercaseName]=ret;ret=getter(elem, name, isXML)!=null?lowercaseName:null;attrHandle[lowercaseName]=handle;}return ret;};})
-
if(!support. optSelected)
-
function
getClass
(elem elem)¶
-
jQuery extend(jQuery. event, {trigger:function(event, data, elem, onlyHandlers){var i, cur, tmp, bubbleType, ontype, handle, special, eventPath=[elem||document], type=hasOwn.call(event,"type")?event.type:event, namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=tmp=elem=elem||document;if(elem.nodeType===3||elem.nodeType===8){return;}if(rfocusMorph.test(type+jQuery.event.triggered)){return;}if(type.indexOf(".") >-1){namespaces=type.split(".");type=namespaces.shift();namespaces.sort();}ontype=type.indexOf(":")< 0 &&"on"+type;event=event[jQuery.expando]?event:new jQuery.Event(type, typeof event==="object"&&event);event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.rnamespace=event.namespace?new RegExp("(^|\.)"+namespaces.join("\.(?:.*\.|)")+"(\.|$)"):null;event.result=undefined;if(!event.target){event.target=elem;}data=data==null?[event]:jQuery.makeArray(data, [event]);special=jQuery.event.special[type]||{};if(!onlyHandlers &&special.trigger &&special.trigger.apply(elem, data)===false){return;}if(!onlyHandlers &&!special.noBubble &&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type)){cur=cur.parentNode;}for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur;}if(tmp===(elem.ownerDocument||document)){eventPath.push(tmp.defaultView||tmp.parentWindow||window);}}i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){event.type=i > 1?bubbleType:special.bindType||type;handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle");if(handle){handle.apply(cur, data);}handle=ontype &&cur[ontype];if(handle &&handle.apply &&acceptData(cur)){event.result=handle.apply(cur, data);if(event.result===false){event.preventDefault();}}}event.type=type;if(!onlyHandlers &&!event.isDefaultPrevented()){if((!special._default||special._default.apply(eventPath.pop(), data)===false)&&acceptData(elem)){if(ontype &&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)){tmp=elem[ontype];if(tmp){elem[ontype]=null;}jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(tmp){elem[ontype]=tmp;}}}}return event.result;}, simulate:function(type, elem, event){var e=jQuery.extend(new jQuery.Event(), event,{type:type, isSimulated:true});jQuery.event.trigger(e, null, elem);}} {trigger:function(event, data, elem, onlyHandlers){var i, cur, tmp, bubbleType, ontype, handle, special, eventPath=[elem||document], type=hasOwn.call(event,"type")?event.type:event, namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=tmp=elem=elem||document;if(elem.nodeType===3||elem.nodeType===8){return;}if(rfocusMorph.test(type+jQuery.event.triggered)){return;}if(type.indexOf(".") >-1){namespaces=type.split(".");type=namespaces.shift();namespaces.sort();}ontype=type.indexOf(":")< 0 &&"on"+type;event=event[jQuery.expando]?event:new jQuery.Event(type, typeof event==="object"&&event);event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.rnamespace=event.namespace?new RegExp("(^|\.)"+namespaces.join("\.(?:.*\.|)")+"(\.|$)"):null;event.result=undefined;if(!event.target){event.target=elem;}data=data==null?[event]:jQuery.makeArray(data, [event]);special=jQuery.event.special[type]||{};if(!onlyHandlers &&special.trigger &&special.trigger.apply(elem, data)===false){return;}if(!onlyHandlers &&!special.noBubble &&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type)){cur=cur.parentNode;}for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur;}if(tmp===(elem.ownerDocument||document)){eventPath.push(tmp.defaultView||tmp.parentWindow||window);}}i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){event.type=i > 1?bubbleType:special.bindType||type;handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle");if(handle){handle.apply(cur, data);}handle=ontype &&cur[ontype];if(handle &&handle.apply &&acceptData(cur)){event.result=handle.apply(cur, data);if(event.result===false){event.preventDefault();}}}event.type=type;if(!onlyHandlers &&!event.isDefaultPrevented()){if((!special._default||special._default.apply(eventPath.pop(), data)===false)&&acceptData(elem)){if(ontype &&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)){tmp=elem[ontype];if(tmp){elem[ontype]=null;}jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(tmp){elem[ontype]=tmp;}}}}return event.result;}, simulate:function(type, elem, event){var e=jQuery.extend(new jQuery.Event(), event,{type:type, isSimulated:true});jQuery.event.trigger(e, null, elem);}})
-
function
buildParams
(prefix prefix, obj obj, traditional traditional, add add)¶
-
function
addToPrefiltersOrTransports
(structure structure)¶
-
function
inspectPrefiltersOrTransports
(structure structure, options options, originalOptions originalOptions, jqXHR jqXHR)¶
-
jQuery ajaxTransport(function(options){var callback, errorCallback;if(support.cors||xhrSupported &&!options.crossDomain){return{send:function(headers, complete){var i, xhr=options.xhr();xhr.open(options.type, options.url, options.async, options.username, options.password);if(options.xhrFields){for(i in options.xhrFields){xhr[i]=options.xhrFields[i];}}if(options.mimeType &&xhr.overrideMimeType){xhr.overrideMimeType(options.mimeType);}if(!options.crossDomain &&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest";}for(i in headers){xhr.setRequestHeader(i, headers[i]);}callback=function(type){return function(){if(callback){callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null;if(type==="abort"){xhr.abort();}else if(type==="error"){if(typeof xhr.status!=="number"){complete(0,"error");}else{complete(xhr.status, xhr.statusText);}}else{complete(xhrSuccessStatus[xhr.status]||xhr.status, xhr.statusText,(xhr.responseType||"text")!=="text"||typeof xhr.responseText!=="string"?{binary:xhr.response}:{text:xhr.responseText}, xhr.getAllResponseHeaders());}}};};xhr.onload=callback();errorCallback=xhr.onerror=callback("error");if(xhr.onabort!==undefined){xhr.onabort=errorCallback;}else{xhr.onreadystatechange=function(){if(xhr.readyState===4){window.setTimeout(function(){if(callback){errorCallback();}});}};}callback=callback("abort");try{xhr.send(options.hasContent &&options.data||null);}catch(e){if(callback){throw e;}}}, abort:function(){if(callback){callback();}}};}} function(options){var callback, errorCallback;if(support.cors||xhrSupported &&!options.crossDomain){return{send:function(headers, complete){var i, xhr=options.xhr();xhr.open(options.type, options.url, options.async, options.username, options.password);if(options.xhrFields){for(i in options.xhrFields){xhr[i]=options.xhrFields[i];}}if(options.mimeType &&xhr.overrideMimeType){xhr.overrideMimeType(options.mimeType);}if(!options.crossDomain &&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest";}for(i in headers){xhr.setRequestHeader(i, headers[i]);}callback=function(type){return function(){if(callback){callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null;if(type==="abort"){xhr.abort();}else if(type==="error"){if(typeof xhr.status!=="number"){complete(0,"error");}else{complete(xhr.status, xhr.statusText);}}else{complete(xhrSuccessStatus[xhr.status]||xhr.status, xhr.statusText,(xhr.responseType||"text")!=="text"||typeof xhr.responseText!=="string"?{binary:xhr.response}:{text:xhr.responseText}, xhr.getAllResponseHeaders());}}};};xhr.onload=callback();errorCallback=xhr.onerror=callback("error");if(xhr.onabort!==undefined){xhr.onabort=errorCallback;}else{xhr.onreadystatechange=function(){if(xhr.readyState===4){window.setTimeout(function(){if(callback){errorCallback();}});}};}callback=callback("abort");try{xhr.send(options.hasContent &&options.data||null);}catch(e){if(callback){throw e;}}}, abort:function(){if(callback){callback();}}};}})
-
jQuery ajaxPrefilter(function(s){if(s.crossDomain){s.contents.script=false;}} function(s){if(s.crossDomain){s.contents.script=false;}})
-
jQuery ajaxSetup({accepts:{script:"text/javascript, application/javascript, "+"application/ecmascript, application/x-ecmascript"}, contents:{script:/b(?:java|ecma) scriptb/}, converters:{"text script":function(text){jQuery.globalEval(text);return text;}}} {accepts:{script:"text/javascript, application/javascript, "+"application/ecmascript, application/x-ecmascript"}, contents:{script:/b(?:java|ecma) scriptb/}, converters:{"text script":function(text){jQuery.globalEval(text);return text;}}})
-
jQuery ajaxPrefilter("script" "script", function(s){if(s.cache===undefined){s.cache=false;}if(s.crossDomain){s.type="GET";}} function(s){if(s.cache===undefined){s.cache=false;}if(s.crossDomain){s.type="GET";}})
-
jQuery ajaxTransport("script" "script", function(s){if(s.crossDomain){var script, callback;return{send:function(_, complete){script=jQuery("<script>").prop({charset:s.scriptCharset, src:s.url}).on("load error", callback=function(evt){script.remove();callback=null;if(evt){complete(evt.type==="error"?404:200, evt.type);}});document.head.appendChild(script[0]);}, abort:function(){if(callback){callback();}}};}} function(s){if(s.crossDomain){var script, callback;return{send:function(_, complete){script=jQuery("<script>").prop({charset:s.scriptCharset, src:s.url}).on("load error", callback=function(evt){script.remove();callback=null;if(evt){complete(evt.type==="error"?404:200, evt.type);}});document.head.appendChild(script[0]);}, abort:function(){if(callback){callback();}}};}})
-
function
getWindow
(elem elem)¶ Gets a window from an element.
-
if(! noGlobal)
Variables
-
function
global
¶ jQuery JavaScript Library v3.1.0 https://jquery.com/
Includes Sizzle.js https://sizzlejs.com/
Copyright jQuery Foundation and other contributors Released under the MIT license https://jquery.org/license
Date: 2016-07-07T21:44Z
-
function
factory
= { "use strict"¶
-
else
= { factory( global )
-
function
window
== "undefined" ? window : this¶
-
function
noGlobal
= { "use strict"¶
-
var
arr
= []¶
-
var
document
= window.document¶
-
var
getProto
= Object.getPrototypeOf¶
-
var
slice
= arr.slice¶
-
var
concat
= arr.concat¶
-
var
push
= arr.push¶
-
var
indexOf
= arr.indexOf¶
-
var
class2type
= {}¶
-
var
toString
= class2type.toString¶
-
var
hasOwn
= class2type.hasOwnProperty¶
-
var
fnToString
= hasOwn.toString¶
-
var
ObjectFunctionString
= fnToString.call( Object )¶
-
var
support
= {}¶
-
var
version
= "3.1.0"¶
-
return jQuery
= function( selector, context ) { return new jQuery.fn.init( selector, context ); }
-
var
rtrim
= /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g¶
-
var
rmsPrefix
= /^-ms-/¶
-
var
rdashAlpha
= /-([a-z])/g¶
-
var
fcamelCase
= function( all, letter ) { return letter.toUpperCase(); }¶
-
jQuery
fn
¶
-
jQuery fn extend
-
var
Sizzle
¶
-
jQuery
find
= Sizzle¶
-
jQuery
expr
= Sizzle.selectors¶
-
jQuery
uniqueSort
= jQuery.unique = Sizzle.uniqueSort¶
-
jQuery
text
= Sizzle.getText¶
-
jQuery
isXMLDoc
= Sizzle.isXML¶
-
jQuery
contains
= Sizzle.contains¶
-
jQuery
escapeSelector
= Sizzle.escape¶
-
var
dir
= function( elem, dir, until ) { var matched = [], truncate = until !== undefined; while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { if ( elem.nodeType === 1 ) { if ( truncate && jQuery( elem ).is( until ) ) { break; } matched.push( elem ); } } return matched; }¶
-
var
siblings
= function( n, elem ) { var matched = []; for ( ; n; n = n.nextSibling ) { if ( n.nodeType === 1 && n !== elem ) { matched.push( n ); } } return matched; }¶
-
var
rneedsContext
= jQuery.expr.match.needsContext¶
-
var
rsingleTag
= ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i )¶
-
var
risSimple
= /^.[^:#\[\.,]*$/¶
-
jQuery
filter
= function( expr, elems, not ) { var elem = elems[ 0 ]; if ( not ) { expr = ":not(" + expr + ")"; } return elems.length === 1 && elem.nodeType === 1 ? jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { return elem.nodeType === 1; } ) ); }¶
-
rootjQuery
= jQuery( document )
-
var
rquickExpr
= /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/¶
-
var
init
¶
-
Tween prototype init prototype
= jQuery.fn
-
var
rparentsprev
= /^(?:parents|prev(?:Until|All))/¶
-
var
guaranteedUnique
= { children: true, contents: true, next: true, prev: true }¶
-
var
rnotwhite
= ( /\S+/g )¶
-
jQuery
Callbacks
¶
-
var
rerrorNames
= /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/¶
-
jQuery Deferred exceptionHook
= function( error, stack ) { if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { window.console.warn( “jQuery.Deferred exception: ” + error.message, error.stack, stack ); } }
-
jQuery
readyException
= function( error ) { window.setTimeout( function() { throw error; } ); }¶
-
var
readyList
= jQuery.Deferred()¶
-
document
ready
= function( fn ) { readyList .then( fn ) .catch( function( error ) { jQuery.readyException( error ); } ); return this; }¶
-
jQuery ready then
= readyList.then
-
var
access
¶
-
var
acceptData
= function( owner ) { return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); }¶
-
var
dataPriv
= new Data()¶
-
var
dataUser
= new Data()¶
-
var
rbrace
= /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/¶
-
var
rmultiDash
= /[A-Z]/g¶
-
var
pnum
= ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source¶
-
var
rcssNum
= new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" )¶
-
var
cssExpand
= [ "Top", "Right", "Bottom", "Left" ]¶
-
var
isHiddenWithinTree
= function( elem, el ) { elem = el || elem; return elem.style.display === "none" || elem.style.display === "" && jQuery.contains( elem.ownerDocument, elem ) && jQuery.css( elem, "display" ) === "none"; }¶
-
var
swap
= function( elem, options, callback, args ) { var ret, name, old = {}; for ( name in options ) { old[ name ] = elem.style[ name ]; elem.style[ name ] = options[ name ]; } ret = callback.apply( elem, args || [] ); for ( name in options ) { elem.style[ name ] = old[ name ]; } return ret; }¶
-
var
defaultDisplayMap
= {}¶
-
var
rcheckableType
= ( /^(?:checkbox|radio)$/i )¶
-
var
rtagName
= ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i )¶
-
var
rscriptType
= ( /^$|\/(?:java|ecma)script/i )¶
-
var
wrapMap
= { 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, "", "" ] }¶
-
var
rhtml
= /<|&#?\w+¶
-
div
innerHTML
= "<textarea>x</textarea>"¶
-
var
documentElement
= document.documentElement¶
-
var
rkeyEvent
= /^key/¶
-
var
rmouseEvent
= /^(?:mouse|pointer|contextmenu|drag|drop)|click/¶
-
var
rtypenamespace
= /^([^.]*)(?:\.(.+)|)/¶
-
jQuery
event
¶
-
jQuery
removeEvent
= function( elem, type, handle ) { if ( elem.removeEventListener ) { elem.removeEventListener( type, handle ); } }¶
-
jQuery
Event
¶
-
var
rxhtmlTag
= /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi¶
-
var
rnoInnerhtml
= /<script|<style|<link/i, rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, rscriptTypeMasked = /^true\/(.*)/, rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g¶
-
var
rmargin
= ( /^margin/ )¶
-
var
rnumnonpx
= new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" )¶
-
var
getStyles
= function( elem ) { var view = elem.ownerDocument.defaultView; if ( !view || !view.opener ) { view = window; } return view.getComputedStyle( elem ); }¶
-
div style backgroundClip
= “content-box”
-
container style cssText
= “border:0;width:8px;height:0;top:0;left:-9999px;” + “padding:0;margin-top:1px;position:absolute”
-
var
rdisplayswap
= /^(none|table(?!-c[ea]).+)/¶
-
var
cssShow
= { position: "absolute", visibility: "hidden", display: "block" }¶
-
var
cssNormalTransform
= { letterSpacing: "0", fontWeight: "400" }¶
-
var
cssPrefixes
= [ "Webkit", "Moz", "ms" ]¶
-
var
emptyStyle
= document.createElement( "div" ).style¶
-
jQuery cssHooks marginLeft
= addGetHookIf( support.reliableMarginLeft, function( elem, computed ) { if ( computed ) { return ( parseFloat( curCSS( elem, “marginLeft” ) ) || elem.getBoundingClientRect().left - swap( elem, { marginLeft: 0 }, function() { return elem.getBoundingClientRect().left; } ) ) + “px”; } } )
-
jQuery
Tween
= Tween¶
-
Tween propHooks scrollTop
= Tween.propHooks.scrollLeft = { set: function( tween ) { if ( tween.elem.nodeType && tween.elem.parentNode ) { tween.elem[ tween.prop ] = tween.now; } } }
-
jQuery
easing
= { linear: function( p ) { return p; }, swing: function( p ) { return 0.5 - Math.cos( p * Math.PI ) / 2; }, _default: "swing" }¶
-
jQuery
fx
= Tween.prototype.init¶
-
jQuery fx step
= {}
-
var
fxNow
¶
-
var
timerId
¶
-
var
rfxtypes
= /^(?:toggle|show|hide)$/¶
-
var
rrun
= /queueHooks$/¶
-
jQuery
Animation
¶
-
jQuery
speed
¶
-
jQuery
timers
= []¶
-
jQuery fx tick
= function() { var timer, i = 0, timers = jQuery.timers; fxNow = jQuery.now(); for ( ; i < timers.length; i++ ) { timer = timers[ i ]; if ( !timer() && timers[ i ] === timer ) { timers.splice( i–, 1 ); } } if ( !timers.length ) { jQuery.fx.stop(); } fxNow = undefined; }
-
jQuery fx timer
= function( timer ) { jQuery.timers.push( timer ); if ( timer() ) { jQuery.fx.start(); } else { jQuery.timers.pop(); } }
-
jQuery fx interval
= 13
-
jQuery fx start
= function() { if ( !timerId ) { timerId = window.requestAnimationFrame ? window.requestAnimationFrame( raf ) : window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); } }
-
jQuery fx stop
= function() { if ( window.cancelAnimationFrame ) { window.cancelAnimationFrame( timerId ); } else { window.clearInterval( timerId ); } timerId = null; }
-
jQuery fx speeds
= { slow: 600, fast: 200, _default: 400 }
-
jQuery fn delay
= function( time, type ) { time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; type = type || “fx”; return this.queue( type, function( next, hooks ) { var timeout = window.setTimeout( next, time ); hooks.stop = function() { window.clearTimeout( timeout ); }; } ); }
-
input
type
= "checkbox"¶
-
input
= document.createElement( “input” )
-
input
value
= "t"¶
-
boolHook
= { set: function( elem, value, name ) { if ( value === false ) { jQuery.removeAttr( elem, name ); } else { elem.setAttribute( name, name ); } return name; } }
-
var
attrHandle
= jQuery.expr.attrHandle¶
-
var
rfocusable
= /^(?:input|select|textarea|button)$/i¶
-
var
rclickable
= /^(?:a|area)$/i¶
-
var
rclass
= /[\t\r\n\f]/g¶
-
var
rreturn
= /\r/g¶
-
var
rspaces
= /[\x20\t\r\n\f]+/g¶
-
var
rfocusMorph
= /^(?:focusinfocus|focusoutblur)$/¶
-
var
location
= window.location¶
-
var
nonce
= jQuery.now()¶
-
var
rquery
= ( /\?/ )¶
-
jQuery
parseXML
= function( data ) { var xml; if ( !data || typeof data !== "string" ) { return null; } try { xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); } catch ( e ) { xml = undefined; } if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { jQuery.error( "Invalid XML: " + data ); } return xml; }¶
-
var
rbracket
= /\[\]$/¶
-
var
rCRLF
= /\r?\n/g¶
-
var
rsubmitterTypes
= /^(?:submit|button|image|reset|file)$/i¶
-
var
rsubmittable
= /^(?:input|select|textarea|keygen)/i¶
-
jQuery
param
¶
-
var
r20
= /%20/g¶
-
var
rhash
= /#.*$/¶
-
var
rts
= /([?&])_=[^&]*/¶
-
var
rheaders
= /^(.*?):[ \t]*([^\r\n]*)$/mg¶
-
var
rlocalProtocol
= /^(?:about|app|app-storage|.+-extension|file|res|widget):$/¶
-
var
rnoContent
= /^(?:GET|HEAD)$/¶
-
var
rprotocol
= /^\/\ prefilters = {}¶
-
var
transports
= {}¶
-
var
allTypes
= "*/".concat( "*" )¶
-
var
originAnchor
= document.createElement( "a" )¶
-
originAnchor
href
= location.href¶
-
jQuery
_evalUrl
= function( url ) { return jQuery.ajax( { url: url, type: "GET", dataType: "script", cache: true, async: false, global: false, "throws": true } ); }¶
-
jQuery expr pseudos hidden
= function( elem ) { return !jQuery.expr.pseudos.visible( elem ); }
-
jQuery expr pseudos visible
= function( elem ) { return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); }
-
jQuery ajaxSettings xhr
= function() { try { return new window.XMLHttpRequest(); } catch ( e ) {} }
-
var
xhrSuccessStatus
= { 0: 200, 1223: 204 }¶
-
var
xhrSupported
= jQuery.ajaxSettings.xhr()¶
-
var
oldCallbacks
= []¶
-
var
rjsonp
= /(=)\?(?=&|$)|\?\?/¶
-
support
createHTMLDocument
= ( function() { var body = document.implementation.createHTMLDocument( "" ).body; body.innerHTML = "<form></form><form></form>"; return body.childNodes.length === 2; } )()¶
-
jQuery
parseHTML
¶
-
jQuery fn load
Load a url into a page.
-
jQuery expr pseudos animated
= function( elem ) { return jQuery.grep( jQuery.timers, function( fn ) { return elem === fn.elem; } ).length; }
-
jQuery
offset
¶
-
jQuery
parseJSON
= JSON.parse¶
-
var
_jQuery
= window.jQuery¶
-
var
_
= window.$¶
-
jQuery
noConflict
= function( deep ) { if ( window.$ === jQuery ) { window.$ = _$; } if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; } return jQuery; }¶
-
-
file
jquery-3.1.0.js
Functions
-
if(typeof module = =="object"&&typeof module.exports==="object")
-
function
DOMEval
(code code, doc doc)¶
-
jQuery extend({expando:"jQuery"+(version+Math.random()).replace(/D/g,""), isReady:true, error:function(msg){throw new Error(msg);}, noop:function(){}, isFunction:function(obj){return jQuery.type(obj)==="function";}, isArray:Array.isArray, isWindow:function(obj){return obj!=null &&obj===obj.window;}, isNumeric:function(obj){var type=jQuery.type(obj);return(type==="number"||type==="string")&&!isNaN(obj-parseFloat(obj));}, isPlainObject:function(obj){var proto, Ctor;if(!obj||toString.call(obj)!=="[object Object]"){return false;}proto=getProto(obj);if(!proto){return true;}Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString;}, isEmptyObject:function(obj){var name;for(name in obj){return false;}return true;}, type:function(obj){if(obj==null){return obj+"";}return typeof obj==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj;}, globalEval:function(code){DOMEval(code);}, camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha, fcamelCase);}, nodeName:function(elem, name){return elem.nodeName &&elem.nodeName.toLowerCase()===name.toLowerCase();}, each:function(obj, callback){var length, i=0;if(isArrayLike(obj)){length=obj.length;for(;i< length;i++){if(callback.call(obj[i], i, obj[i])===false){break;}}}else{for(i in obj){if(callback.call(obj[i], i, obj[i])===false){break;}}}return obj;}, trim:function(text){return text==null?"":(text+"").replace(rtrim,"");}, makeArray:function(arr, results){var ret=results||[];if(arr!=null){if(isArrayLike(Object(arr))){jQuery.merge(ret, typeof arr==="string"?[arr]:arr);}else{push.call(ret, arr);}}return ret;}, inArray:function(elem, arr, i){return arr==null?-1:indexOf.call(arr, elem, i);}, merge:function(first, second){var len=+second.length, j=0, i=first.length;for(;j< len;j++){first[i++]=second[j];}first.length=i;return first;}, grep:function(elems, callback, invert){var callbackInverse, matches=[], i=0, length=elems.length, callbackExpect=!invert;for(;i< length;i++){callbackInverse=!callback(elems[i], i);if(callbackInverse!==callbackExpect){matches.push(elems[i]);}}return matches;}, map:function(elems, callback, arg){var length, value, i=0, ret=[];if(isArrayLike(elems)){length=elems.length;for(;i< length;i++){value=callback(elems[i], i, arg);if(value!=null){ret.push(value);}}}else{for(i in elems){value=callback(elems[i], i, arg);if(value!=null){ret.push(value);}}}return concat.apply([], ret);}, guid:1, proxy:function(fn, context){var tmp, args, proxy;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp;}if(!jQuery.isFunction(fn)){return undefined;}args=slice.call(arguments, 2);proxy=function(){return fn.apply(context||this, args.concat(slice.call(arguments)));};proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy;}, now:Date.now, support:support} {expando:"jQuery"+(version+Math.random()).replace(/D/g,""), isReady:true, error:function(msg){throw new Error(msg);}, noop:function(){}, isFunction:function(obj){return jQuery.type(obj)==="function";}, isArray:Array.isArray, isWindow:function(obj){return obj!=null &&obj===obj.window;}, isNumeric:function(obj){var type=jQuery.type(obj);return(type==="number"||type==="string")&&!isNaN(obj-parseFloat(obj));}, isPlainObject:function(obj){var proto, Ctor;if(!obj||toString.call(obj)!=="[object Object]"){return false;}proto=getProto(obj);if(!proto){return true;}Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString;}, isEmptyObject:function(obj){var name;for(name in obj){return false;}return true;}, type:function(obj){if(obj==null){return obj+"";}return typeof obj==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj;}, globalEval:function(code){DOMEval(code);}, camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha, fcamelCase);}, nodeName:function(elem, name){return elem.nodeName &&elem.nodeName.toLowerCase()===name.toLowerCase();}, each:function(obj, callback){var length, i=0;if(isArrayLike(obj)){length=obj.length;for(;i< length;i++){if(callback.call(obj[i], i, obj[i])===false){break;}}}else{for(i in obj){if(callback.call(obj[i], i, obj[i])===false){break;}}}return obj;}, trim:function(text){return text==null?"":(text+"").replace(rtrim,"");}, makeArray:function(arr, results){var ret=results||[];if(arr!=null){if(isArrayLike(Object(arr))){jQuery.merge(ret, typeof arr==="string"?[arr]:arr);}else{push.call(ret, arr);}}return ret;}, inArray:function(elem, arr, i){return arr==null?-1:indexOf.call(arr, elem, i);}, merge:function(first, second){var len=+second.length, j=0, i=first.length;for(;j< len;j++){first[i++]=second[j];}first.length=i;return first;}, grep:function(elems, callback, invert){var callbackInverse, matches=[], i=0, length=elems.length, callbackExpect=!invert;for(;i< length;i++){callbackInverse=!callback(elems[i], i);if(callbackInverse!==callbackExpect){matches.push(elems[i]);}}return matches;}, map:function(elems, callback, arg){var length, value, i=0, ret=[];if(isArrayLike(elems)){length=elems.length;for(;i< length;i++){value=callback(elems[i], i, arg);if(value!=null){ret.push(value);}}}else{for(i in elems){value=callback(elems[i], i, arg);if(value!=null){ret.push(value);}}}return concat.apply([], ret);}, guid:1, proxy:function(fn, context){var tmp, args, proxy;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp;}if(!jQuery.isFunction(fn)){return undefined;}args=slice.call(arguments, 2);proxy=function(){return fn.apply(context||this, args.concat(slice.call(arguments)));};proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy;}, now:Date.now, support:support})
-
jQuery each("Boolean Number String Function Array Date RegExp Object Error Symbol". split" ", function(i, name){class2type["[object "+name+"]"]=name.toLowerCase();} function(i, name){class2type["[object "+name+"]"]=name.toLowerCase();})
-
function
isArrayLike
(obj obj)¶
-
function winnow(elements elements, qualifier qualifier, not not)
-
jQuery each({parent:function(elem){var parent=elem.parentNode;return parent &&parent.nodeType!==11?parent:null;}, parents:function(elem){return dir(elem,"parentNode");}, parentsUntil:function(elem, i, until){return dir(elem,"parentNode", until);}, next:function(elem){return sibling(elem,"nextSibling");}, prev:function(elem){return sibling(elem,"previousSibling");}, nextAll:function(elem){return dir(elem,"nextSibling");}, prevAll:function(elem){return dir(elem,"previousSibling");}, nextUntil:function(elem, i, until){return dir(elem,"nextSibling", until);}, prevUntil:function(elem, i, until){return dir(elem,"previousSibling", until);}, siblings:function(elem){return siblings((elem.parentNode||{}).firstChild, elem);}, children:function(elem){return siblings(elem.firstChild);}, contents:function(elem){return elem.contentDocument||jQuery.merge([], elem.childNodes);}} {parent:function(elem){var parent=elem.parentNode;return parent &&parent.nodeType!==11?parent:null;}, parents:function(elem){return dir(elem,"parentNode");}, parentsUntil:function(elem, i, until){return dir(elem,"parentNode", until);}, next:function(elem){return sibling(elem,"nextSibling");}, prev:function(elem){return sibling(elem,"previousSibling");}, nextAll:function(elem){return dir(elem,"nextSibling");}, prevAll:function(elem){return dir(elem,"previousSibling");}, nextUntil:function(elem, i, until){return dir(elem,"nextSibling", until);}, prevUntil:function(elem, i, until){return dir(elem,"previousSibling", until);}, siblings:function(elem){return siblings((elem.parentNode||{}).firstChild, elem);}, children:function(elem){return siblings(elem.firstChild);}, contents:function(elem){return elem.contentDocument||jQuery.merge([], elem.childNodes);}}, function(name, fn){jQuery.fn[name]=function(until, selector){var matched=jQuery.map(this, fn, until);if(name.slice(-5)!=="Until"){selector=until;}if(selector &&typeof selector==="string"){matched=jQuery.filter(selector, matched);}if(this.length > 1){if(!guaranteedUnique[name]){jQuery.uniqueSort(matched);}if(rparentsprev.test(name)){matched.reverse();}}return this.pushStack(matched);};} function(name, fn){jQuery.fn[name]=function(until, selector){var matched=jQuery.map(this, fn, until);if(name.slice(-5)!=="Until"){selector=until;}if(selector &&typeof selector==="string"){matched=jQuery.filter(selector, matched);}if(this.length > 1){if(!guaranteedUnique[name]){jQuery.uniqueSort(matched);}if(rparentsprev.test(name)){matched.reverse();}}return this.pushStack(matched);};})
-
function
createOptions
(options options)¶
-
function
Thrower
(ex ex)¶
-
function
completed
()¶
-
if(document. readyState = =="complete"||(document.readyState!=="loading"&&!document.documentElement.doScroll))
-
window addEventListener("load" "load", completed completed)
-
function
Data
()¶
-
function
dataAttr
(elem elem, key key, data data)¶
-
function
adjustCSS
(elem elem, prop prop, valueParts valueParts, tween tween)¶
-
function
getDefaultDisplay
(elem elem)¶
-
function
getAll
(context context, tag tag)¶
-
function
setGlobalEval
(elems elems, refElements refElements)¶
-
function
buildFragment
(elems elems, context context, scripts scripts, selection selection, ignored ignored)¶
-
function input setAttribute("type" "type", "radio" "radio")
-
div
appendChild
(input input)¶
-
function
returnTrue
()¶
-
function
returnFalse
()¶
-
function
safeActiveElement
()¶
-
jQuery each({altKey:true, bubbles:true, cancelable:true, changedTouches:true, ctrlKey:true, detail:true, eventPhase:true, metaKey:true, pageX:true, pageY:true, shiftKey:true, view:true,"char":true, charCode:true, key:true, keyCode:true, button:true, buttons:true, clientX:true, clientY:true, offsetX:true, offsetY:true, pointerId:true, pointerType:true, screenX:true, screenY:true, targetTouches:true, toElement:true, touches:true, which:function(event){var button=event.button;if(event.which==null &&rkeyEvent.test(event.type)){return event.charCode!=null?event.charCode:event.keyCode;}if(!event.which &&button!==undefined &&rmouseEvent.test(event.type)){return(button &1?1:(button &2?3:(button &4?2:0)));}return event.which;}} {altKey:true, bubbles:true, cancelable:true, changedTouches:true, ctrlKey:true, detail:true, eventPhase:true, metaKey:true, pageX:true, pageY:true, shiftKey:true, view:true,"char":true, charCode:true, key:true, keyCode:true, button:true, buttons:true, clientX:true, clientY:true, offsetX:true, offsetY:true, pointerId:true, pointerType:true, screenX:true, screenY:true, targetTouches:true, toElement:true, touches:true, which:function(event){var button=event.button;if(event.which==null &&rkeyEvent.test(event.type)){return event.charCode!=null?event.charCode:event.keyCode;}if(!event.which &&button!==undefined &&rmouseEvent.test(event.type)){return(button &1?1:(button &2?3:(button &4?2:0)));}return event.which;}}, jQuery.event. addProp)
-
function
manipulationTarget
(elem elem, content content)¶
-
function
disableScript
(elem elem)¶
-
function
restoreScript
(elem elem)¶
-
function
domManip
(collection collection, args args, callback callback, ignored ignored)¶
-
function
remove
(elem elem, selector selector, keepData keepData)¶
-
function if(!div. style)
-
div cloneNode(true true)
-
jQuery extend(support support, {pixelPosition:function(){computeStyleTests();return pixelPositionVal;}, boxSizingReliable:function(){computeStyleTests();return boxSizingReliableVal;}, pixelMarginRight:function(){computeStyleTests();return pixelMarginRightVal;}, reliableMarginLeft:function(){computeStyleTests();return reliableMarginLeftVal;}} {pixelPosition:function(){computeStyleTests();return pixelPositionVal;}, boxSizingReliable:function(){computeStyleTests();return boxSizingReliableVal;}, pixelMarginRight:function(){computeStyleTests();return pixelMarginRightVal;}, reliableMarginLeft:function(){computeStyleTests();return reliableMarginLeftVal;}})
-
function
curCSS
(elem elem, name name, computed computed)¶
-
function
addGetHookIf
(conditionFn conditionFn, hookFn hookFn)¶
-
function
vendorPropName
(name name)¶
-
function
augmentWidthOrHeight
(elem elem, name name, extra extra, isBorderBox isBorderBox, styles styles)¶
-
function
getWidthOrHeight
(elem elem, name name, extra extra)¶
-
jQuery each(function(i, name){jQuery.cssHooks[name]={get:function(elem, computed, extra){if(computed){return rdisplayswap.test(jQuery.css(elem,"display"))&&(!elem.getClientRects().length||!elem.getBoundingClientRect().width)?swap(elem, cssShow, function(){return getWidthOrHeight(elem, name, extra);}):getWidthOrHeight(elem, name, extra);}}, set:function(elem, value, extra){var matches, styles=extra &&getStyles(elem), subtract=extra &&augmentWidthOrHeight(elem, name, extra, jQuery.css(elem,"boxSizing", false, styles)==="border-box", styles);if(subtract &&(matches=rcssNum.exec(value))&&(matches[3]||"px")!=="px"){elem.style[name]=value;value=jQuery.css(elem, name);}return setPositiveNumber(elem, value, subtract);}};} function(i, name){jQuery.cssHooks[name]={get:function(elem, computed, extra){if(computed){return rdisplayswap.test(jQuery.css(elem,"display"))&&(!elem.getClientRects().length||!elem.getBoundingClientRect().width)?swap(elem, cssShow, function(){return getWidthOrHeight(elem, name, extra);}):getWidthOrHeight(elem, name, extra);}}, set:function(elem, value, extra){var matches, styles=extra &&getStyles(elem), subtract=extra &&augmentWidthOrHeight(elem, name, extra, jQuery.css(elem,"boxSizing", false, styles)==="border-box", styles);if(subtract &&(matches=rcssNum.exec(value))&&(matches[3]||"px")!=="px"){elem.style[name]=value;value=jQuery.css(elem, name);}return setPositiveNumber(elem, value, subtract);}};})
-
function
raf
()¶
-
function
createFxNow
()¶
-
function
propFilter
(props props, specialEasing specialEasing)¶
-
function
Animation
(elem elem, properties properties, options options)¶
-
jQuery each(jQuery.expr.match.bool.source. match/w+/g, function(i, name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem, name, isXML){var ret, handle, lowercaseName=name.toLowerCase();if(!isXML){handle=attrHandle[lowercaseName];attrHandle[lowercaseName]=ret;ret=getter(elem, name, isXML)!=null?lowercaseName:null;attrHandle[lowercaseName]=handle;}return ret;};} function(i, name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem, name, isXML){var ret, handle, lowercaseName=name.toLowerCase();if(!isXML){handle=attrHandle[lowercaseName];attrHandle[lowercaseName]=ret;ret=getter(elem, name, isXML)!=null?lowercaseName:null;attrHandle[lowercaseName]=handle;}return ret;};})
-
if(!support. optSelected)
-
function
getClass
(elem elem)¶
-
jQuery extend(jQuery. event, {trigger:function(event, data, elem, onlyHandlers){var i, cur, tmp, bubbleType, ontype, handle, special, eventPath=[elem||document], type=hasOwn.call(event,"type")?event.type:event, namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=tmp=elem=elem||document;if(elem.nodeType===3||elem.nodeType===8){return;}if(rfocusMorph.test(type+jQuery.event.triggered)){return;}if(type.indexOf(".") >-1){namespaces=type.split(".");type=namespaces.shift();namespaces.sort();}ontype=type.indexOf(":")< 0 &&"on"+type;event=event[jQuery.expando]?event:new jQuery.Event(type, typeof event==="object"&&event);event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.rnamespace=event.namespace?new RegExp("(^|\.)"+namespaces.join("\.(?:.*\.|)")+"(\.|$)"):null;event.result=undefined;if(!event.target){event.target=elem;}data=data==null?[event]:jQuery.makeArray(data, [event]);special=jQuery.event.special[type]||{};if(!onlyHandlers &&special.trigger &&special.trigger.apply(elem, data)===false){return;}if(!onlyHandlers &&!special.noBubble &&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type)){cur=cur.parentNode;}for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur;}if(tmp===(elem.ownerDocument||document)){eventPath.push(tmp.defaultView||tmp.parentWindow||window);}}i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){event.type=i > 1?bubbleType:special.bindType||type;handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle");if(handle){handle.apply(cur, data);}handle=ontype &&cur[ontype];if(handle &&handle.apply &&acceptData(cur)){event.result=handle.apply(cur, data);if(event.result===false){event.preventDefault();}}}event.type=type;if(!onlyHandlers &&!event.isDefaultPrevented()){if((!special._default||special._default.apply(eventPath.pop(), data)===false)&&acceptData(elem)){if(ontype &&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)){tmp=elem[ontype];if(tmp){elem[ontype]=null;}jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(tmp){elem[ontype]=tmp;}}}}return event.result;}, simulate:function(type, elem, event){var e=jQuery.extend(new jQuery.Event(), event,{type:type, isSimulated:true});jQuery.event.trigger(e, null, elem);}} {trigger:function(event, data, elem, onlyHandlers){var i, cur, tmp, bubbleType, ontype, handle, special, eventPath=[elem||document], type=hasOwn.call(event,"type")?event.type:event, namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=tmp=elem=elem||document;if(elem.nodeType===3||elem.nodeType===8){return;}if(rfocusMorph.test(type+jQuery.event.triggered)){return;}if(type.indexOf(".") >-1){namespaces=type.split(".");type=namespaces.shift();namespaces.sort();}ontype=type.indexOf(":")< 0 &&"on"+type;event=event[jQuery.expando]?event:new jQuery.Event(type, typeof event==="object"&&event);event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.rnamespace=event.namespace?new RegExp("(^|\.)"+namespaces.join("\.(?:.*\.|)")+"(\.|$)"):null;event.result=undefined;if(!event.target){event.target=elem;}data=data==null?[event]:jQuery.makeArray(data, [event]);special=jQuery.event.special[type]||{};if(!onlyHandlers &&special.trigger &&special.trigger.apply(elem, data)===false){return;}if(!onlyHandlers &&!special.noBubble &&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type)){cur=cur.parentNode;}for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur;}if(tmp===(elem.ownerDocument||document)){eventPath.push(tmp.defaultView||tmp.parentWindow||window);}}i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){event.type=i > 1?bubbleType:special.bindType||type;handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle");if(handle){handle.apply(cur, data);}handle=ontype &&cur[ontype];if(handle &&handle.apply &&acceptData(cur)){event.result=handle.apply(cur, data);if(event.result===false){event.preventDefault();}}}event.type=type;if(!onlyHandlers &&!event.isDefaultPrevented()){if((!special._default||special._default.apply(eventPath.pop(), data)===false)&&acceptData(elem)){if(ontype &&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)){tmp=elem[ontype];if(tmp){elem[ontype]=null;}jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(tmp){elem[ontype]=tmp;}}}}return event.result;}, simulate:function(type, elem, event){var e=jQuery.extend(new jQuery.Event(), event,{type:type, isSimulated:true});jQuery.event.trigger(e, null, elem);}})
-
function
buildParams
(prefix prefix, obj obj, traditional traditional, add add)¶
-
function
addToPrefiltersOrTransports
(structure structure)¶
-
function
inspectPrefiltersOrTransports
(structure structure, options options, originalOptions originalOptions, jqXHR jqXHR)¶
-
jQuery ajaxTransport(function(options){var callback, errorCallback;if(support.cors||xhrSupported &&!options.crossDomain){return{send:function(headers, complete){var i, xhr=options.xhr();xhr.open(options.type, options.url, options.async, options.username, options.password);if(options.xhrFields){for(i in options.xhrFields){xhr[i]=options.xhrFields[i];}}if(options.mimeType &&xhr.overrideMimeType){xhr.overrideMimeType(options.mimeType);}if(!options.crossDomain &&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest";}for(i in headers){xhr.setRequestHeader(i, headers[i]);}callback=function(type){return function(){if(callback){callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null;if(type==="abort"){xhr.abort();}else if(type==="error"){if(typeof xhr.status!=="number"){complete(0,"error");}else{complete(xhr.status, xhr.statusText);}}else{complete(xhrSuccessStatus[xhr.status]||xhr.status, xhr.statusText,(xhr.responseType||"text")!=="text"||typeof xhr.responseText!=="string"?{binary:xhr.response}:{text:xhr.responseText}, xhr.getAllResponseHeaders());}}};};xhr.onload=callback();errorCallback=xhr.onerror=callback("error");if(xhr.onabort!==undefined){xhr.onabort=errorCallback;}else{xhr.onreadystatechange=function(){if(xhr.readyState===4){window.setTimeout(function(){if(callback){errorCallback();}});}};}callback=callback("abort");try{xhr.send(options.hasContent &&options.data||null);}catch(e){if(callback){throw e;}}}, abort:function(){if(callback){callback();}}};}} function(options){var callback, errorCallback;if(support.cors||xhrSupported &&!options.crossDomain){return{send:function(headers, complete){var i, xhr=options.xhr();xhr.open(options.type, options.url, options.async, options.username, options.password);if(options.xhrFields){for(i in options.xhrFields){xhr[i]=options.xhrFields[i];}}if(options.mimeType &&xhr.overrideMimeType){xhr.overrideMimeType(options.mimeType);}if(!options.crossDomain &&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest";}for(i in headers){xhr.setRequestHeader(i, headers[i]);}callback=function(type){return function(){if(callback){callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null;if(type==="abort"){xhr.abort();}else if(type==="error"){if(typeof xhr.status!=="number"){complete(0,"error");}else{complete(xhr.status, xhr.statusText);}}else{complete(xhrSuccessStatus[xhr.status]||xhr.status, xhr.statusText,(xhr.responseType||"text")!=="text"||typeof xhr.responseText!=="string"?{binary:xhr.response}:{text:xhr.responseText}, xhr.getAllResponseHeaders());}}};};xhr.onload=callback();errorCallback=xhr.onerror=callback("error");if(xhr.onabort!==undefined){xhr.onabort=errorCallback;}else{xhr.onreadystatechange=function(){if(xhr.readyState===4){window.setTimeout(function(){if(callback){errorCallback();}});}};}callback=callback("abort");try{xhr.send(options.hasContent &&options.data||null);}catch(e){if(callback){throw e;}}}, abort:function(){if(callback){callback();}}};}})
-
jQuery ajaxPrefilter(function(s){if(s.crossDomain){s.contents.script=false;}} function(s){if(s.crossDomain){s.contents.script=false;}})
-
jQuery ajaxSetup({accepts:{script:"text/javascript, application/javascript, "+"application/ecmascript, application/x-ecmascript"}, contents:{script:/b(?:java|ecma) scriptb/}, converters:{"text script":function(text){jQuery.globalEval(text);return text;}}} {accepts:{script:"text/javascript, application/javascript, "+"application/ecmascript, application/x-ecmascript"}, contents:{script:/b(?:java|ecma) scriptb/}, converters:{"text script":function(text){jQuery.globalEval(text);return text;}}})
-
jQuery ajaxPrefilter("script" "script", function(s){if(s.cache===undefined){s.cache=false;}if(s.crossDomain){s.type="GET";}} function(s){if(s.cache===undefined){s.cache=false;}if(s.crossDomain){s.type="GET";}})
-
jQuery ajaxTransport("script" "script", function(s){if(s.crossDomain){var script, callback;return{send:function(_, complete){script=jQuery("<script>").prop({charset:s.scriptCharset, src:s.url}).on("load error", callback=function(evt){script.remove();callback=null;if(evt){complete(evt.type==="error"?404:200, evt.type);}});document.head.appendChild(script[0]);}, abort:function(){if(callback){callback();}}};}} function(s){if(s.crossDomain){var script, callback;return{send:function(_, complete){script=jQuery("<script>").prop({charset:s.scriptCharset, src:s.url}).on("load error", callback=function(evt){script.remove();callback=null;if(evt){complete(evt.type==="error"?404:200, evt.type);}});document.head.appendChild(script[0]);}, abort:function(){if(callback){callback();}}};}})
-
function
getWindow
(elem elem)¶ Gets a window from an element.
-
if(! noGlobal)
Variables
-
function
global
¶ jQuery JavaScript Library v3.1.0 https://jquery.com/
Includes Sizzle.js https://sizzlejs.com/
Copyright jQuery Foundation and other contributors Released under the MIT license https://jquery.org/license
Date: 2016-07-07T21:44Z
-
function
factory
= { "use strict"¶
-
else
= { factory( global )
-
function
window
== "undefined" ? window : this¶
-
function
noGlobal
= { "use strict"¶
-
var
arr
= []¶
-
var
document
= window.document¶
-
var
getProto
= Object.getPrototypeOf¶
-
var
slice
= arr.slice¶
-
var
concat
= arr.concat¶
-
var
push
= arr.push¶
-
var
indexOf
= arr.indexOf¶
-
var
class2type
= {}¶
-
var
toString
= class2type.toString¶
-
var
hasOwn
= class2type.hasOwnProperty¶
-
var
fnToString
= hasOwn.toString¶
-
var
ObjectFunctionString
= fnToString.call( Object )¶
-
var
support
= {}¶
-
var
version
= "3.1.0"¶
-
return jQuery
= function( selector, context ) { return new jQuery.fn.init( selector, context ); }
-
var
rtrim
= /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g¶
-
var
rmsPrefix
= /^-ms-/¶
-
var
rdashAlpha
= /-([a-z])/g¶
-
var
fcamelCase
= function( all, letter ) { return letter.toUpperCase(); }¶
-
jQuery
fn
¶
-
jQuery
extend
¶
-
var
Sizzle
¶
-
jQuery
find
= Sizzle¶
-
jQuery
expr
[":"] = Sizzle.selectors¶
-
jQuery
uniqueSort
= jQuery.unique = Sizzle.uniqueSort¶
-
jQuery
text
= Sizzle.getText¶
-
jQuery
isXMLDoc
= Sizzle.isXML¶
-
jQuery
contains
= Sizzle.contains¶
-
jQuery
escapeSelector
= Sizzle.escape¶
-
var
dir
= function( elem, dir, until ) { var matched = [], truncate = until !== undefined; while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { if ( elem.nodeType === 1 ) { if ( truncate && jQuery( elem ).is( until ) ) { break; } matched.push( elem ); } } return matched; }¶
-
var
siblings
= function( n, elem ) { var matched = []; for ( ; n; n = n.nextSibling ) { if ( n.nodeType === 1 && n !== elem ) { matched.push( n ); } } return matched; }¶
-
var
rneedsContext
= jQuery.expr.match.needsContext¶
-
var
rsingleTag
= ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i )¶
-
var
risSimple
= /^.[^:#\[\.,]*$/¶
-
jQuery
filter
= function( expr, elems, not ) { var elem = elems[ 0 ]; if ( not ) { expr = ":not(" + expr + ")"; } return elems.length === 1 && elem.nodeType === 1 ? jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { return elem.nodeType === 1; } ) ); }¶
-
rootjQuery
= jQuery( document )
-
var
rquickExpr
= /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/¶
-
var
init
¶
-
Tween prototype init prototype
= jQuery.fn
-
var
rparentsprev
= /^(?:parents|prev(?:Until|All))/¶
-
var
guaranteedUnique
= { children: true, contents: true, next: true, prev: true }¶
-
var
rnotwhite
= ( /\S+/g )¶
-
jQuery
Callbacks
¶
-
var
rerrorNames
= /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/¶
-
jQuery Deferred exceptionHook
= function( error, stack ) { if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { window.console.warn( “jQuery.Deferred exception: ” + error.message, error.stack, stack ); } }
-
jQuery
readyException
= function( error ) { window.setTimeout( function() { throw error; } ); }¶
-
var
readyList
= jQuery.Deferred()¶
-
jQuery fn ready
= function( fn ) { readyList .then( fn ) .catch( function( error ) { jQuery.readyException( error ); } ); return this; }
-
jQuery ready then
= readyList.then
-
var
access
¶
-
var
acceptData
= function( owner ) { return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); }¶
-
var
dataPriv
= new Data()¶
-
var
dataUser
= new Data()¶
-
var
rbrace
= /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/¶
-
var
rmultiDash
= /[A-Z]/g¶
-
var
pnum
= ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source¶
-
var
rcssNum
= new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" )¶
-
var
cssExpand
= [ "Top", "Right", "Bottom", "Left" ]¶
-
var
isHiddenWithinTree
= function( elem, el ) { elem = el || elem; return elem.style.display === "none" || elem.style.display === "" && jQuery.contains( elem.ownerDocument, elem ) && jQuery.css( elem, "display" ) === "none"; }¶
-
var
swap
= function( elem, options, callback, args ) { var ret, name, old = {}; for ( name in options ) { old[ name ] = elem.style[ name ]; elem.style[ name ] = options[ name ]; } ret = callback.apply( elem, args || [] ); for ( name in options ) { elem.style[ name ] = old[ name ]; } return ret; }¶
-
var
defaultDisplayMap
= {}¶
-
var
rcheckableType
= ( /^(?:checkbox|radio)$/i )¶
-
var
rtagName
= ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i )¶
-
var
rscriptType
= ( /^$|\/(?:java|ecma)script/i )¶
-
var
wrapMap
= { 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, "", "" ] }¶
-
var
rhtml
= /<|&#?\w+¶
-
div
innerHTML
= "<textarea>x</textarea>"¶
-
var
documentElement
= document.documentElement¶
-
var
rkeyEvent
= /^key/¶
-
var
rmouseEvent
= /^(?:mouse|pointer|contextmenu|drag|drop)|click/¶
-
var
rtypenamespace
= /^([^.]*)(?:\.(.+)|)/¶
-
jQuery
event
¶
-
jQuery
removeEvent
= function( elem, type, handle ) { if ( elem.removeEventListener ) { elem.removeEventListener( type, handle ); } }¶
-
jQuery
Event
¶
-
var
rxhtmlTag
= /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi¶
-
var
rnoInnerhtml
= /<script|<style|<link/i, rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, rscriptTypeMasked = /^true\/(.*)/, rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g¶
-
var
rmargin
= ( /^margin/ )¶
-
var
rnumnonpx
= new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" )¶
-
var
getStyles
= function( elem ) { var view = elem.ownerDocument.defaultView; if ( !view || !view.opener ) { view = window; } return view.getComputedStyle( elem ); }¶
-
div style backgroundClip
= “content-box”
-
container style cssText
= “border:0;width:8px;height:0;top:0;left:-9999px;” + “padding:0;margin-top:1px;position:absolute”
-
var
rdisplayswap
= /^(none|table(?!-c[ea]).+)/¶
-
var
cssShow
= { position: "absolute", visibility: "hidden", display: "block" }¶
-
var
cssNormalTransform
= { letterSpacing: "0", fontWeight: "400" }¶
-
var
cssPrefixes
= [ "Webkit", "Moz", "ms" ]¶
-
var
emptyStyle
= document.createElement( "div" ).style¶
-
jQuery cssHooks marginLeft
= addGetHookIf( support.reliableMarginLeft, function( elem, computed ) { if ( computed ) { return ( parseFloat( curCSS( elem, “marginLeft” ) ) || elem.getBoundingClientRect().left - swap( elem, { marginLeft: 0 }, function() { return elem.getBoundingClientRect().left; } ) ) + “px”; } } )
-
jQuery
Tween
= Tween¶
-
Tween propHooks scrollTop
= Tween.propHooks.scrollLeft = { set: function( tween ) { if ( tween.elem.nodeType && tween.elem.parentNode ) { tween.elem[ tween.prop ] = tween.now; } } }
-
jQuery
easing
= { linear: function( p ) { return p; }, swing: function( p ) { return 0.5 - Math.cos( p * Math.PI ) / 2; }, _default: "swing" }¶
-
jQuery
fx
= Tween.prototype.init¶
-
jQuery fx step
= {}
-
var
fxNow
¶
-
var
timerId
¶
-
var
rfxtypes
= /^(?:toggle|show|hide)$/¶
-
var
rrun
= /queueHooks$/¶
-
jQuery
Animation
¶
-
jQuery
speed
¶
-
jQuery
timers
= []¶
-
jQuery fx tick
= function() { var timer, i = 0, timers = jQuery.timers; fxNow = jQuery.now(); for ( ; i < timers.length; i++ ) { timer = timers[ i ]; if ( !timer() && timers[ i ] === timer ) { timers.splice( i–, 1 ); } } if ( !timers.length ) { jQuery.fx.stop(); } fxNow = undefined; }
-
jQuery fx timer
= function( timer ) { jQuery.timers.push( timer ); if ( timer() ) { jQuery.fx.start(); } else { jQuery.timers.pop(); } }
-
jQuery fx interval
= 13
-
jQuery fx start
= function() { if ( !timerId ) { timerId = window.requestAnimationFrame ? window.requestAnimationFrame( raf ) : window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); } }
-
jQuery fx stop
= function() { if ( window.cancelAnimationFrame ) { window.cancelAnimationFrame( timerId ); } else { window.clearInterval( timerId ); } timerId = null; }
-
jQuery fx speeds
= { slow: 600, fast: 200, _default: 400 }
-
jQuery fn delay
= function( time, type ) { time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; type = type || “fx”; return this.queue( type, function( next, hooks ) { var timeout = window.setTimeout( next, time ); hooks.stop = function() { window.clearTimeout( timeout ); }; } ); }
-
input
type
= "checkbox"¶
-
input
= document.createElement( “input” )
-
input
value
= "t"¶
-
boolHook
= { set: function( elem, value, name ) { if ( value === false ) { jQuery.removeAttr( elem, name ); } else { elem.setAttribute( name, name ); } return name; } }
-
var
attrHandle
= jQuery.expr.attrHandle¶
-
var
rfocusable
= /^(?:input|select|textarea|button)$/i¶
-
var
rclickable
= /^(?:a|area)$/i¶
-
var
rclass
= /[\t\r\n\f]/g¶
-
var
rreturn
= /\r/g¶
-
var
rspaces
= /[\x20\t\r\n\f]+/g¶
-
var
rfocusMorph
= /^(?:focusinfocus|focusoutblur)$/¶
-
var
location
= window.location¶
-
var
nonce
= jQuery.now()¶
-
var
rquery
= ( /\?/ )¶
-
jQuery
parseXML
= function( data ) { var xml; if ( !data || typeof data !== "string" ) { return null; } try { xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); } catch ( e ) { xml = undefined; } if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { jQuery.error( "Invalid XML: " + data ); } return xml; }¶
-
var
rbracket
= /\[\]$/¶
-
var
rCRLF
= /\r?\n/g¶
-
var
rsubmitterTypes
= /^(?:submit|button|image|reset|file)$/i¶
-
var
rsubmittable
= /^(?:input|select|textarea|keygen)/i¶
-
jQuery
param
¶
-
var
r20
= /%20/g¶
-
var
rhash
= /#.*$/¶
-
var
rts
= /([?&])_=[^&]*/¶
-
var
rheaders
= /^(.*?):[ \t]*([^\r\n]*)$/mg¶
-
var
rlocalProtocol
= /^(?:about|app|app-storage|.+-extension|file|res|widget):$/¶
-
var
rnoContent
= /^(?:GET|HEAD)$/¶
-
var
rprotocol
= /^\/\ prefilters = {}¶
-
var
transports
= {}¶
-
var
allTypes
= "*/".concat( "*" )¶
-
var
originAnchor
= document.createElement( "a" )¶
-
originAnchor
href
= location.href¶
-
jQuery
_evalUrl
= function( url ) { return jQuery.ajax( { url: url, type: "GET", dataType: "script", cache: true, async: false, global: false, "throws": true } ); }¶
-
jQuery expr pseudos hidden
= function( elem ) { return !jQuery.expr.pseudos.visible( elem ); }
-
jQuery expr pseudos visible
= function( elem ) { return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); }
-
jQuery ajaxSettings xhr
= function() { try { return new window.XMLHttpRequest(); } catch ( e ) {} }
-
var
xhrSuccessStatus
= { 0: 200, 1223: 204 }¶
-
var
xhrSupported
= jQuery.ajaxSettings.xhr()¶
-
var
oldCallbacks
= []¶
-
var
rjsonp
= /(=)\?(?=&|$)|\?\?/¶
-
support
createHTMLDocument
= ( function() { var body = document.implementation.createHTMLDocument( "" ).body; body.innerHTML = "<form></form><form></form>"; return body.childNodes.length === 2; } )()¶
-
jQuery
parseHTML
¶
-
jQuery fn load
Load a url into a page.
-
jQuery expr pseudos animated
= function( elem ) { return jQuery.grep( jQuery.timers, function( fn ) { return elem === fn.elem; } ).length; }
-
jQuery
offset
¶
-
jQuery
parseJSON
= JSON.parse¶
-
var
_jQuery
= window.jQuery¶
-
var
_
= window.$¶
-
jQuery
noConflict
= function( deep ) { if ( window.$ === jQuery ) { window.$ = _$; } if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; } return jQuery; }¶
-
-
file
jquery.js
Functions
-
!function(a a, b b)
jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license
-
r r r extend({expando:"jQuery"+(q+Math.random()).replace(/D/g,""), isReady:!0, error:function(a){throw new Error(a)}, noop:function(){}, isFunction:function(a){return"function"===r.type(a)}, isArray:Array.isArray, isWindow:function(a){return null!=a &&a===a.window}, isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))}, isPlainObject:function(a){var b, c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c &&m.call(c)===n))}, 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?j[k.call(a)]||"object":typeof a}, globalEval:function(a){p(a)}, camelCase:function(a){return a.replace(t,"ms-").replace(u, v)}, nodeName:function(a, b){return a.nodeName &&a.nodeName.toLowerCase()===b.toLowerCase()}, each:function(a, b){var c, d=0;if(w(a)){for(c=a.length;d< c;d++) if(b.call(a[d], d, a[d])===!1) break}else for(d in a) if(b.call(a[d], d, a[d])===!1) break;return a}, trim:function(a){return null==a?"":(a+"").replace(s,"")}, makeArray:function(a, b){var c=b||[];return null!=a &&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c, a)), c}, inArray:function(a, b, c){return null==b?-1:i.call(b, a, c)}, merge:function(a, b){for(var c=+b.length, d=0, e=a.length;d< c;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;f< g;f++) d=!b(a[f], f), d!==h &&e.push(a[f]);return e}, map:function(a, b, c){var d, e, f=0, h=[];if(w(a)) for(d=a.length;f< d;f++) e=b(a[f], f, c), null!=e &&h.push(e);else for(f in a) e=b(a[f], f, c), null!=e &&h.push(e);return g.apply([], h)}, guid:1, proxy:function(a, b){var c, d, e;if("string"==typeof b &&(c=a[b], b=a, a=c), r.isFunction(a)) return d=f.call(arguments, 2), e=function(){return a.apply(b||this, d.concat(f.call(arguments)))}, e.guid=a.guid=a.guid||r.guid++, e}, now:Date.now, support:o} {expando:"jQuery"+(q+Math.random()).replace(/D/g,""), isReady:!0, error:function(a){throw new Error(a)}, noop:function(){}, isFunction:function(a){return"function"===r.type(a)}, isArray:Array.isArray, isWindow:function(a){return null!=a &&a===a.window}, isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))}, isPlainObject:function(a){var b, c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c &&m.call(c)===n))}, 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?j[k.call(a)]||"object":typeof a}, globalEval:function(a){p(a)}, camelCase:function(a){return a.replace(t,"ms-").replace(u, v)}, nodeName:function(a, b){return a.nodeName &&a.nodeName.toLowerCase()===b.toLowerCase()}, each:function(a, b){var c, d=0;if(w(a)){for(c=a.length;d< c;d++) if(b.call(a[d], d, a[d])===!1) break}else for(d in a) if(b.call(a[d], d, a[d])===!1) break;return a}, trim:function(a){return null==a?"":(a+"").replace(s,"")}, makeArray:function(a, b){var c=b||[];return null!=a &&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c, a)), c}, inArray:function(a, b, c){return null==b?-1:i.call(b, a, c)}, merge:function(a, b){for(var c=+b.length, d=0, e=a.length;d< c;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;f< g;f++) d=!b(a[f], f), d!==h &&e.push(a[f]);return e}, map:function(a, b, c){var d, e, f=0, h=[];if(w(a)) for(d=a.length;f< d;f++) e=b(a[f], f, c), null!=e &&h.push(e);else for(f in a) e=b(a[f], f, c), null!=e &&h.push(e);return g.apply([], h)}, guid:1, proxy:function(a, b){var c, d, e;if("string"==typeof b &&(c=a[b], b=a, a=c), r.isFunction(a)) return d=f.call(arguments, 2), e=function(){return a.apply(b||this, d.concat(f.call(arguments)))}, e.guid=a.guid=a.guid||r.guid++, e}, now:Date.now, support:o})
-
function r each("Boolean Number String Function Array Date RegExp Object Error Symbol". split" ", function(a, b){j["[object "+b+"]"]=b.toLowerCase()} function(a, b){j["[object "+b+"]"]=b.toLowerCase()})
Variables
-
undefined
=typeof window?window:this
-
function
a
¶
-
function
b
= {"use strict"¶
-
var
c
=[]¶
-
var
d
=a.document¶
-
var
e
=Object.getPrototypeOf¶
-
var
f
=c.slice¶
-
var
g
=c.concat¶
-
var
h
=c.push¶
-
var
i
=c.indexOf¶
-
var
j
={}¶
-
var
k
=j.toString¶
-
var
l
=j.hasOwnProperty¶
-
var
m
=l.toString¶
-
var
n
=m.call(Object)¶
-
var
o
={}¶
-
var
q
="3.1.0"¶
-
var
r
=function(a,b){return new r.fn.init(a,b)}¶
-
var
s
=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g¶
-
var
t
=/^-ms-/¶
-
var
u
=/-([a-z])/g¶
-
var
v
=function(a,b){return b.toUpperCase()}¶
-
r
fn
=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice}
-
r r extend
=r.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||r.isFunction(g)||(g={}),h===i&&(g=this,h–);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g}
-
-
file
jquery.js
Functions
-
!function(a a, b b)
jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license
-
r r r extend({expando:"jQuery"+(q+Math.random()).replace(/D/g,""), isReady:!0, error:function(a){throw new Error(a)}, noop:function(){}, isFunction:function(a){return"function"===r.type(a)}, isArray:Array.isArray, isWindow:function(a){return null!=a &&a===a.window}, isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))}, isPlainObject:function(a){var b, c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c &&m.call(c)===n))}, 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?j[k.call(a)]||"object":typeof a}, globalEval:function(a){p(a)}, camelCase:function(a){return a.replace(t,"ms-").replace(u, v)}, nodeName:function(a, b){return a.nodeName &&a.nodeName.toLowerCase()===b.toLowerCase()}, each:function(a, b){var c, d=0;if(w(a)){for(c=a.length;d< c;d++) if(b.call(a[d], d, a[d])===!1) break}else for(d in a) if(b.call(a[d], d, a[d])===!1) break;return a}, trim:function(a){return null==a?"":(a+"").replace(s,"")}, makeArray:function(a, b){var c=b||[];return null!=a &&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c, a)), c}, inArray:function(a, b, c){return null==b?-1:i.call(b, a, c)}, merge:function(a, b){for(var c=+b.length, d=0, e=a.length;d< c;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;f< g;f++) d=!b(a[f], f), d!==h &&e.push(a[f]);return e}, map:function(a, b, c){var d, e, f=0, h=[];if(w(a)) for(d=a.length;f< d;f++) e=b(a[f], f, c), null!=e &&h.push(e);else for(f in a) e=b(a[f], f, c), null!=e &&h.push(e);return g.apply([], h)}, guid:1, proxy:function(a, b){var c, d, e;if("string"==typeof b &&(c=a[b], b=a, a=c), r.isFunction(a)) return d=f.call(arguments, 2), e=function(){return a.apply(b||this, d.concat(f.call(arguments)))}, e.guid=a.guid=a.guid||r.guid++, e}, now:Date.now, support:o} {expando:"jQuery"+(q+Math.random()).replace(/D/g,""), isReady:!0, error:function(a){throw new Error(a)}, noop:function(){}, isFunction:function(a){return"function"===r.type(a)}, isArray:Array.isArray, isWindow:function(a){return null!=a &&a===a.window}, isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))}, isPlainObject:function(a){var b, c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c &&m.call(c)===n))}, 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?j[k.call(a)]||"object":typeof a}, globalEval:function(a){p(a)}, camelCase:function(a){return a.replace(t,"ms-").replace(u, v)}, nodeName:function(a, b){return a.nodeName &&a.nodeName.toLowerCase()===b.toLowerCase()}, each:function(a, b){var c, d=0;if(w(a)){for(c=a.length;d< c;d++) if(b.call(a[d], d, a[d])===!1) break}else for(d in a) if(b.call(a[d], d, a[d])===!1) break;return a}, trim:function(a){return null==a?"":(a+"").replace(s,"")}, makeArray:function(a, b){var c=b||[];return null!=a &&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c, a)), c}, inArray:function(a, b, c){return null==b?-1:i.call(b, a, c)}, merge:function(a, b){for(var c=+b.length, d=0, e=a.length;d< c;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;f< g;f++) d=!b(a[f], f), d!==h &&e.push(a[f]);return e}, map:function(a, b, c){var d, e, f=0, h=[];if(w(a)) for(d=a.length;f< d;f++) e=b(a[f], f, c), null!=e &&h.push(e);else for(f in a) e=b(a[f], f, c), null!=e &&h.push(e);return g.apply([], h)}, guid:1, proxy:function(a, b){var c, d, e;if("string"==typeof b &&(c=a[b], b=a, a=c), r.isFunction(a)) return d=f.call(arguments, 2), e=function(){return a.apply(b||this, d.concat(f.call(arguments)))}, e.guid=a.guid=a.guid||r.guid++, e}, now:Date.now, support:o})
-
function r each("Boolean Number String Function Array Date RegExp Object Error Symbol". split" ", function(a, b){j["[object "+b+"]"]=b.toLowerCase()} function(a, b){j["[object "+b+"]"]=b.toLowerCase()})
Variables
-
undefined
=typeof window?window:this
-
function
a
¶
-
function
b
= {"use strict"¶
-
var
c
=[]¶
-
var
d
=a.document¶
-
var
e
=Object.getPrototypeOf¶
-
var
f
=c.slice¶
-
var
g
=c.concat¶
-
var
h
=c.push¶
-
var
i
=c.indexOf¶
-
var
j
={}¶
-
var
k
=j.toString¶
-
var
l
=j.hasOwnProperty¶
-
var
m
=l.toString¶
-
var
n
=m.call(Object)¶
-
var
o
={}¶
-
var
q
="3.1.0"¶
-
var
r
=function(a,b){return new r.fn.init(a,b)}¶
-
var
s
=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g¶
-
var
t
=/^-ms-/¶
-
var
u
=/-([a-z])/g¶
-
var
v
=function(a,b){return b.toUpperCase()}¶
-
r
fn
=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice}
-
r r extend
=r.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||r.isFunction(g)||(g={}),h===i&&(g=this,h–);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g}
-
-
file
modernizr.min.js
Variables
-
window
Modernizr
=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document)¶
-
function
a
-
function
b
-
function
c
= {function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B
-
B
=function(a){function b(a){var a=a.split(“!”),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split(“=”),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(“.”).pop().split(“?”).shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split(“/”).pop().split(“?”)[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&”css”==i.url.split(“.”).pop().split(“?”).shift()?”c”:c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!–m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)}
-
B
addPrefix
=function(a,b){z[a]=b}¶
-
B B addFilter
=function(a){x.push(a)}
-
B B B errorTimeout
=1e4
-
B B B null
==b.readyState&&b.addEventListener&&(b.readyState=”loading”,b.addEventListener(“DOMContentLoaded”,A=function(){b.removeEventListener(“DOMContentLoaded”,A,0),b.readyState=”complete”},0))
-
B B B a yepnope
=k()
-
B B B a a yepnope executeStack
=h
-
B B B a a yepnope a yepnope injectJs
=function(a,c,d,e,i,j){var k=b.createElement(“script”),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)}
-
B B B a a yepnope a yepnope a yepnope injectCss
=function(a,c,d,e,g,i){var e=b.createElement(“link”),j,c=i?h:c||f;e.href=a,e.rel=”stylesheet”,e.type=”text/css”;for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))}
-
window
-
file
modernizr.min.js
Variables
-
window
Modernizr
=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document)¶
-
function
a
-
function
b
-
function
c
= {function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B
-
B
=function(a){function b(a){var a=a.split(“!”),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split(“=”),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(“.”).pop().split(“?”).shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split(“/”).pop().split(“?”)[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&”css”==i.url.split(“.”).pop().split(“?”).shift()?”c”:c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!–m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)}
-
B
addPrefix
=function(a,b){z[a]=b}¶
-
B B addFilter
=function(a){x.push(a)}
-
B B B errorTimeout
=1e4
-
B B B null
==b.readyState&&b.addEventListener&&(b.readyState=”loading”,b.addEventListener(“DOMContentLoaded”,A=function(){b.removeEventListener(“DOMContentLoaded”,A,0),b.readyState=”complete”},0))
-
B B B a yepnope
=k()
-
B B B a a yepnope executeStack
=h
-
B B B a a yepnope a yepnope injectJs
=function(a,c,d,e,i,j){var k=b.createElement(“script”),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)}
-
B B B a a yepnope a yepnope a yepnope injectCss
=function(a,c,d,e,g,i){var e=b.createElement(“link”),j,c=i?h:c||f;e.href=a,e.rel=”stylesheet”,e.type=”text/css”;for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))}
-
window
-
file
theme.js
Variables
-
require
-
-
file
theme.js
Variables
-
require
-
-
file
readthedocs-data.js
Variables
-
var
READTHEDOCS_DATA
= { project: "roboy-audio", version: "doxy_setup", language: "en", programming_language: "py", subprojects: {}, canonical_url: "http://roboy-audio.readthedocs.io/en/doxy_setup/", theme: "sphinx_rtd_theme", builder: "sphinx", docroot: "/documentation/", source_suffix: ".rst", api_host: "https://readthedocs.org", commit: "174a3eb2" }¶
-
var
-
file
readthedocs-dynamic-include.js
Functions
-
m parentNode insertBefore(a a, m m)
-
ga('rtfd.set' 'rtfd.set', 'dimension1' 'dimension1', READTHEDOCS_DATA. project)
-
ga('rtfd.send' 'rtfd.send', 'pageview' 'pageview')
Variables
-
i[r]
=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)}
-
function
s
-
function
o
-
function
g
-
function
r
-
a
=s.createElement(o)
-
m
= {i[‘GoogleAnalyticsObject’]=r
-
i [r] l
=1*new Date()
-
m parentNode document
-
m parentNode script
-
m parentNode https
-
m parentNode UA
-
m parentNode auto
-
m parentNode rtfd
-
-
file
searchtools.js
Functions
-
function
splitQuery
(query query)¶
-
function
-
file
searchtools.js
Functions
-
function
splitQuery
(query query)¶
-
document ready(function(){Search.init();} function(){Search.init();})
-
function
-
file
underscore-1.3.1.js
Functions
-
if(typeof exports! typeof exports! = = 'undefined')
-
_ union function()
-
if(!_. isArgumentsarguments)
-
function return(data data)
-
each(function(name){var method=ArrayProto[name];wrapper.prototype[name]=function(){var wrapped=this._wrapped;method.apply(wrapped, arguments);var length=wrapped.length;if((name== 'shift'||name== 'splice')&&length===0) delete wrapped[0];return result(wrapped, this._chain);};} function(name){var method=ArrayProto[name];wrapper.prototype[name]=function(){var wrapped=this._wrapped;method.apply(wrapped, arguments);var length=wrapped.length;if((name== 'shift'||name== 'splice')&&length===0) delete wrapped[0];return result(wrapped, this._chain);};})
-
call(this this)
Variables
-
var
previousUnderscore
= root._¶
-
var
breaker
= {}¶
-
var
ArrayProto
= Array.prototype¶
-
var
ObjProto
= Object.prototype¶
-
var
FuncProto
= Function.prototype¶
-
var
slice
= ArrayProto.slice
-
var
unshift
= ArrayProto.unshift¶
-
var
toString
= ObjProto.toString
-
var
hasOwnProperty
= ObjProto.hasOwnProperty¶
-
var
nativeForEach
= ArrayProto.forEach¶
-
var
nativeMap
= ArrayProto.map¶
-
var
nativeReduce
= ArrayProto.reduce¶
-
var
nativeReduceRight
= ArrayProto.reduceRight¶
-
var
nativeFilter
= ArrayProto.filter¶
-
var
nativeEvery
= ArrayProto.every¶
-
var
nativeSome
= ArrayProto.some¶
-
var
nativeIndexOf
= ArrayProto.indexOf¶
-
var
nativeLastIndexOf
= ArrayProto.lastIndexOf¶
-
var
nativeIsArray
= Array.isArray¶
-
var
nativeKeys
= Object.keys¶
-
var
nativeBind
= FuncProto.bind¶
-
_
= function(obj) { return new wrapper(obj); }
-
else
= { root[‘_’] = _
-
each
= _.each = _.forEach = function(obj, iterator, context) { if (obj == null) return; if (nativeForEach && obj.forEach === nativeForEach) { obj.forEach(iterator, context); } else if (obj.length === +obj.length) { for (var i = 0, l = obj.length; i < l; i++) { if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return; } } else { for (var key in obj) { if (_.has(obj, key)) { if (iterator.call(context, obj[key], key, obj) === breaker) return; } } } }
-
_
map
= _.collect = function(obj, iterator, context) { var results = []; if (obj == null) return results; if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); each(obj, function(value, index, list) { results[results.length] = iterator.call(context, value, index, list); }); if (obj.length === +obj.length) results.length = obj.length; return results; }¶
-
_
reduce
= _.foldl = _.inject = function(obj, iterator, memo, context) { var initial = arguments.length > 2; if (obj == null) obj = []; if (nativeReduce && obj.reduce === nativeReduce) { if (context) iterator = _.bind(iterator, context); return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator); } each(obj, function(value, index, list) { if (!initial) { memo = value; initial = true; } else { memo = iterator.call(context, memo, value, index, list); } }); if (!initial) throw new TypeError('Reduce of empty array with no initial value'); return memo; }¶
-
_
reduceRight
= _.foldr = function(obj, iterator, memo, context) { var initial = arguments.length > 2; if (obj == null) obj = []; if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { if (context) iterator = _.bind(iterator, context); return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator); } var reversed = _.toArray(obj).reverse(); if (context && !initial) iterator = _.bind(iterator, context); return initial ? _.reduce(reversed, iterator, memo, context) : _.reduce(reversed, iterator); }¶
-
_
find
= _.detect = function(obj, iterator, context) { var result; any(obj, function(value, index, list) { if (iterator.call(context, value, index, list)) { result = value; return true; } }); return result; }
-
_
filter
= _.select = function(obj, iterator, context) { var results = []; if (obj == null) return results; if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context); each(obj, function(value, index, list) { if (iterator.call(context, value, index, list)) results[results.length] = value; }); return results; }
-
_
reject
= function(obj, iterator, context) { var results = []; if (obj == null) return results; each(obj, function(value, index, list) { if (!iterator.call(context, value, index, list)) results[results.length] = value; }); return results; }¶
-
_
every
= _.all = function(obj, iterator, context) { var result = true; if (obj == null) return result; if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context); each(obj, function(value, index, list) { if (!(result = result && iterator.call(context, value, index, list))) return breaker; }); return result; }¶
-
var
any
= _.some = _.any = function(obj, iterator, context) { iterator || (iterator = _.identity); var result = false; if (obj == null) return result; if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); each(obj, function(value, index, list) { if (result || (result = iterator.call(context, value, index, list))) return breaker; }); return !!result; }¶
-
_
include
= _.contains = function(obj, target) { var found = false; if (obj == null) return found; if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1; found = any(obj, function(value) { return value === target; }); return found; }¶
-
_
invoke
= function(obj, method) { var args = slice.call(arguments, 2); return _.map(obj, function(value) { return (_.isFunction(method) ? method || value : value[method]).apply(value, args); }); }¶
-
_
max
= function(obj, iterator, context) { if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj); if (!iterator && _.isEmpty(obj)) return -Infinity; var result = {computed : -Infinity}; each(obj, function(value, index, list) { var computed = iterator ? iterator.call(context, value, index, list) : value; computed >= result.computed && (result = {value : value, computed : computed}); }); return result.value; }¶
-
_
min
= function(obj, iterator, context) { if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj); if (!iterator && _.isEmpty(obj)) return Infinity; var result = {computed : Infinity}; each(obj, function(value, index, list) { var computed = iterator ? iterator.call(context, value, index, list) : value; computed < result.computed && (result = {value : value, computed : computed}); }); return result.value; }¶
-
_
shuffle
= function(obj) { var shuffled = [], rand; each(obj, function(value, index, list) { if (index == 0) { shuffled[0] = value; } else { rand = Math.floor(Math.random() * (index + 1)); shuffled[index] = shuffled[rand]; shuffled[rand] = value; } }); return shuffled; }¶
-
_
sortBy
= function(obj, iterator, context) { return _.pluck(_.map(obj, function(value, index, list) { return { value : value, criteria : iterator.call(context, value, index, list) }; }).sort(function(left, right) { var a = left.criteria, b = right.criteria; return a < b ? -1 : a > b ? 1 : 0; }), 'value'); }¶
-
_
groupBy
= function(obj, val) { var result = {}; var iterator = _.isFunction(val) ? val : function(obj) { return obj[val]; }; each(obj, function(value, index) { var key = iterator(value, index); (result[key] || (result[key] = [])).push(value); }); return result; }¶
-
_
sortedIndex
= function(array, obj, iterator) { iterator || (iterator = _.identity); var low = 0, high = array.length; while (low < high) { var mid = (low + high) >> 1; iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid; } return low; }¶
-
_
toArray
= function(iterable) { if (!iterable) return []; if (iterable.toArray) return iterable.toArray(); if (_.isArray(iterable)) return slice.call(iterable); if (_.isArguments(iterable)) return slice.call(iterable); return _.values(iterable); }¶
-
_
first
= _.head = function(array, n, guard) { return (n != null) && !guard ? slice.call(array, 0, n) : array[0]; }¶
-
_
initial
= function(array, n, guard) { return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n)); }¶
-
_
last
= function(array, n, guard) { if ((n != null) && !guard) { return slice.call(array, Math.max(array.length - n, 0)); } else { return array[array.length - 1]; } }¶
-
_
rest
= _.tail = function(array, index, guard) { return slice.call(array, (index == null) || guard ? 1 : index); }¶
-
_
flatten
= function(array, shallow) { return _.reduce(array, function(memo, value) { if (_.isArray(value)) return memo.concat(shallow ? value : _.flatten(value)); memo[memo.length] = value; return memo; }, []); }¶
-
_
uniq
= _.unique = function(array, isSorted, iterator) { var initial = iterator ? _.map(array, iterator) : array; var result = []; _.reduce(initial, function(memo, el, i) { if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) { memo[memo.length] = el; result[result.length] = array[i]; } return memo; }, []); return result; }¶
-
_
intersection
= _.intersect = function(array) { var rest = slice.call(arguments, 1); return _.filter(_.uniq(array), function(item) { return _.every(rest, function(other) { return _.indexOf(other, item) >= 0; }); }); }¶
-
_
difference
= function(array) { var rest = _.flatten(slice.call(arguments, 1)); return _.filter(array, function(value){ return !_.include(rest, value); }); }¶
-
_
zip
= function() { var args = slice.call(arguments); var length = _.max(_.pluck(args, 'length')); var results = new Array(length); for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i); return results; }¶
-
_
indexOf
= function(array, item, isSorted) { if (array == null) return -1; var i, l; if (isSorted) { i = _.sortedIndex(array, item); return array[i] === item ? i : -1; } if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item); for (i = 0, l = array.length; i < l; i++) if (i in array && array[i] === item) return i; return -1; }
-
_
lastIndexOf
= function(array, item) { if (array == null) return -1; if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item); var i = array.length; while (i--) if (i in array && array[i] === item) return i; return -1; }¶
-
_
range
= function(start, stop, step) { if (arguments.length <= 1) { stop = start || 0; start = 0; } step = arguments[2] || 1; var len = Math.max(Math.ceil((stop - start) / step), 0); var idx = 0; var range = new Array(len); while(idx < len) { range[idx++] = start; start += step; } return range; }¶
-
var
ctor
= function(){}¶
-
_
bind
= function bind(func, context) { var bound, args; if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); if (!_.isFunction(func)) throw new TypeError; args = slice.call(arguments, 2); return bound = function() { if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments))); ctor.prototype = func.prototype; var self = new ctor; var result = func.apply(self, args.concat(slice.call(arguments))); if (Object(result) === result) return result; return self; }; }¶
-
_
bindAll
= function(obj) { var funcs = slice.call(arguments, 1); if (funcs.length == 0) funcs = _.functions(obj); each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); }); return obj; }¶
-
_
memoize
= function(func, hasher) { var memo = {}; hasher || (hasher = _.identity); return function() { var key = hasher.apply(this, arguments); return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments)); }; }¶
-
_
delay
= function(func, wait) { var args = slice.call(arguments, 2); return setTimeout(function(){ return func.apply(func, args); }, wait); }¶
-
_
throttle
= function(func, wait) { var context, args, timeout, throttling, more; var whenDone = _.debounce(function(){ more = throttling = false; }, wait); return function() { context = this; args = arguments; var later = function() { timeout = null; if (more) func.apply(context, args); whenDone(); }; if (!timeout) timeout = setTimeout(later, wait); if (throttling) { more = true; } else { func.apply(context, args); } whenDone(); throttling = true; }; }¶
-
_
debounce
= function(func, wait) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; func.apply(context, args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; }¶
-
_
once
= function(func) { var ran = false, memo; return function() { if (ran) return memo; ran = true; return memo = func.apply(this, arguments); }; }¶
-
_
wrap
= function(func, wrapper) { return function() { var args = [func].concat(slice.call(arguments, 0)); return wrapper.apply(this, args); }; }¶
-
_
compose
= function() { var funcs = arguments; return function() { var args = arguments; for (var i = funcs.length - 1; i >= 0; i--) { args = [funcs[i].apply(this, args)]; } return args[0]; }; }¶
-
_
after
= function(times, func) { if (times <= 0) return func(); return function() { if (--times < 1) { return func.apply(this, arguments); } }; }¶
-
_
keys
= nativeKeys || function(obj) { if (obj !== Object(obj)) throw new TypeError('Invalid object'); var keys = []; for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key; return keys; }¶
-
_
functions
= _.methods = function(obj) { var names = []; for (var key in obj) { if (_.isFunction(obj[key])) names.push(key); } return names.sort(); }¶
-
_
extend
= function(obj) { each(slice.call(arguments, 1), function(source) { for (var prop in source) { obj[prop] = source[prop]; } }); return obj; }¶
-
_
defaults
= function(obj) { each(slice.call(arguments, 1), function(source) { for (var prop in source) { if (obj[prop] == null) obj[prop] = source[prop]; } }); return obj; }¶
-
_
clone
= function(obj) { if (!_.isObject(obj)) return obj; return _.isArray(obj) ? obj.slice() : _.extend({}, obj); }¶
-
_
isEmpty
= function(obj) { if (_.isArray(obj) || _.isString(obj)) return obj.length === 0; for (var key in obj) if (_.has(obj, key)) return false; return true; }¶
-
_
isBoolean
= function(obj) { return obj === true || obj === false || toString.call(obj) == '[object Boolean]'; }¶
-
_
noConflict
= function() { root._ = previousUnderscore; return this; }
-
_
times
= function (n, iterator, context) { for (var i = 0; i < n; i++) iterator.call(context, i); }¶
-
var
func
= new Function('obj', '_', tmpl)¶
-
wrapper prototype chain
= function(obj) { return _(obj).chain(); }
-
var
wrapper
= function(obj) { this._wrapped = obj; }¶
-
var
result
= function(obj, chain) { return chain ? _(obj).chain() : obj; }¶
-
var
addToWrapper
= function(name, func) { wrapper.prototype[name] = function() { var args = slice.call(arguments); unshift.call(args, this._wrapped); return result(func.apply(_, args), this._chain); }; }¶
-
wrapper prototype value
= function() { return this._wrapped; }
-
-
file
underscore-1.3.1.js
Functions
-
if(typeof exports! typeof exports! = = 'undefined')
-
_ union function()
-
if(!_. isArgumentsarguments)
-
function return(data data)
-
each(function(name){var method=ArrayProto[name];wrapper.prototype[name]=function(){var wrapped=this._wrapped;method.apply(wrapped, arguments);var length=wrapped.length;if((name== 'shift'||name== 'splice')&&length===0) delete wrapped[0];return result(wrapped, this._chain);};} function(name){var method=ArrayProto[name];wrapper.prototype[name]=function(){var wrapped=this._wrapped;method.apply(wrapped, arguments);var length=wrapped.length;if((name== 'shift'||name== 'splice')&&length===0) delete wrapped[0];return result(wrapped, this._chain);};})
-
call(this this)
Variables
-
var
previousUnderscore
= root._¶
-
var
breaker
= {}¶
-
var
ArrayProto
= Array.prototype¶
-
var
ObjProto
= Object.prototype¶
-
var
FuncProto
= Function.prototype¶
-
var
slice
= ArrayProto.slice
-
var
unshift
= ArrayProto.unshift¶
-
var
toString
= ObjProto.toString
-
var
hasOwnProperty
= ObjProto.hasOwnProperty¶
-
var
nativeForEach
= ArrayProto.forEach¶
-
var
nativeMap
= ArrayProto.map¶
-
var
nativeReduce
= ArrayProto.reduce¶
-
var
nativeReduceRight
= ArrayProto.reduceRight¶
-
var
nativeFilter
= ArrayProto.filter¶
-
var
nativeEvery
= ArrayProto.every¶
-
var
nativeSome
= ArrayProto.some¶
-
var
nativeIndexOf
= ArrayProto.indexOf¶
-
var
nativeLastIndexOf
= ArrayProto.lastIndexOf¶
-
var
nativeIsArray
= Array.isArray¶
-
var
nativeKeys
= Object.keys¶
-
var
nativeBind
= FuncProto.bind¶
-
_
= function(obj) { return new wrapper(obj); }
-
else
= { root[‘_’] = _
-
var
each
= _.each = _.forEach = function(obj, iterator, context) { if (obj == null) return; if (nativeForEach && obj.forEach === nativeForEach) { obj.forEach(iterator, context); } else if (obj.length === +obj.length) { for (var i = 0, l = obj.length; i < l; i++) { if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return; } } else { for (var key in obj) { if (_.has(obj, key)) { if (iterator.call(context, obj[key], key, obj) === breaker) return; } } } }¶
-
_
map
= _.collect = function(obj, iterator, context) { var results = []; if (obj == null) return results; if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); each(obj, function(value, index, list) { results[results.length] = iterator.call(context, value, index, list); }); if (obj.length === +obj.length) results.length = obj.length; return results; }¶
-
_
reduce
= _.foldl = _.inject = function(obj, iterator, memo, context) { var initial = arguments.length > 2; if (obj == null) obj = []; if (nativeReduce && obj.reduce === nativeReduce) { if (context) iterator = _.bind(iterator, context); return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator); } each(obj, function(value, index, list) { if (!initial) { memo = value; initial = true; } else { memo = iterator.call(context, memo, value, index, list); } }); if (!initial) throw new TypeError('Reduce of empty array with no initial value'); return memo; }¶
-
_
reduceRight
= _.foldr = function(obj, iterator, memo, context) { var initial = arguments.length > 2; if (obj == null) obj = []; if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { if (context) iterator = _.bind(iterator, context); return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator); } var reversed = _.toArray(obj).reverse(); if (context && !initial) iterator = _.bind(iterator, context); return initial ? _.reduce(reversed, iterator, memo, context) : _.reduce(reversed, iterator); }¶
-
_
find
= _.detect = function(obj, iterator, context) { var result; any(obj, function(value, index, list) { if (iterator.call(context, value, index, list)) { result = value; return true; } }); return result; }
-
_
filter
= _.select = function(obj, iterator, context) { var results = []; if (obj == null) return results; if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context); each(obj, function(value, index, list) { if (iterator.call(context, value, index, list)) results[results.length] = value; }); return results; }
-
_
reject
= function(obj, iterator, context) { var results = []; if (obj == null) return results; each(obj, function(value, index, list) { if (!iterator.call(context, value, index, list)) results[results.length] = value; }); return results; }¶
-
_
every
= _.all = function(obj, iterator, context) { var result = true; if (obj == null) return result; if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context); each(obj, function(value, index, list) { if (!(result = result && iterator.call(context, value, index, list))) return breaker; }); return result; }¶
-
var
any
= _.some = _.any = function(obj, iterator, context) { iterator || (iterator = _.identity); var result = false; if (obj == null) return result; if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); each(obj, function(value, index, list) { if (result || (result = iterator.call(context, value, index, list))) return breaker; }); return !!result; }¶
-
_
include
= _.contains = function(obj, target) { var found = false; if (obj == null) return found; if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1; found = any(obj, function(value) { return value === target; }); return found; }¶
-
_
invoke
= function(obj, method) { var args = slice.call(arguments, 2); return _.map(obj, function(value) { return (_.isFunction(method) ? method || value : value[method]).apply(value, args); }); }¶
-
_
max
= function(obj, iterator, context) { if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj); if (!iterator && _.isEmpty(obj)) return -Infinity; var result = {computed : -Infinity}; each(obj, function(value, index, list) { var computed = iterator ? iterator.call(context, value, index, list) : value; computed >= result.computed && (result = {value : value, computed : computed}); }); return result.value; }¶
-
_
min
= function(obj, iterator, context) { if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj); if (!iterator && _.isEmpty(obj)) return Infinity; var result = {computed : Infinity}; each(obj, function(value, index, list) { var computed = iterator ? iterator.call(context, value, index, list) : value; computed < result.computed && (result = {value : value, computed : computed}); }); return result.value; }¶
-
_
shuffle
= function(obj) { var shuffled = [], rand; each(obj, function(value, index, list) { if (index == 0) { shuffled[0] = value; } else { rand = Math.floor(Math.random() * (index + 1)); shuffled[index] = shuffled[rand]; shuffled[rand] = value; } }); return shuffled; }¶
-
_
sortBy
= function(obj, iterator, context) { return _.pluck(_.map(obj, function(value, index, list) { return { value : value, criteria : iterator.call(context, value, index, list) }; }).sort(function(left, right) { var a = left.criteria, b = right.criteria; return a < b ? -1 : a > b ? 1 : 0; }), 'value'); }¶
-
_
groupBy
= function(obj, val) { var result = {}; var iterator = _.isFunction(val) ? val : function(obj) { return obj[val]; }; each(obj, function(value, index) { var key = iterator(value, index); (result[key] || (result[key] = [])).push(value); }); return result; }¶
-
_
sortedIndex
= function(array, obj, iterator) { iterator || (iterator = _.identity); var low = 0, high = array.length; while (low < high) { var mid = (low + high) >> 1; iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid; } return low; }¶
-
_
toArray
= function(iterable) { if (!iterable) return []; if (iterable.toArray) return iterable.toArray(); if (_.isArray(iterable)) return slice.call(iterable); if (_.isArguments(iterable)) return slice.call(iterable); return _.values(iterable); }¶
-
_
first
= _.head = function(array, n, guard) { return (n != null) && !guard ? slice.call(array, 0, n) : array[0]; }¶
-
_
initial
= function(array, n, guard) { return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n)); }¶
-
_
last
= function(array, n, guard) { if ((n != null) && !guard) { return slice.call(array, Math.max(array.length - n, 0)); } else { return array[array.length - 1]; } }¶
-
_
rest
= _.tail = function(array, index, guard) { return slice.call(array, (index == null) || guard ? 1 : index); }¶
-
_
flatten
= function(array, shallow) { return _.reduce(array, function(memo, value) { if (_.isArray(value)) return memo.concat(shallow ? value : _.flatten(value)); memo[memo.length] = value; return memo; }, []); }¶
-
_
uniq
= _.unique = function(array, isSorted, iterator) { var initial = iterator ? _.map(array, iterator) : array; var result = []; _.reduce(initial, function(memo, el, i) { if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) { memo[memo.length] = el; result[result.length] = array[i]; } return memo; }, []); return result; }¶
-
_
intersection
= _.intersect = function(array) { var rest = slice.call(arguments, 1); return _.filter(_.uniq(array), function(item) { return _.every(rest, function(other) { return _.indexOf(other, item) >= 0; }); }); }¶
-
_
difference
= function(array) { var rest = _.flatten(slice.call(arguments, 1)); return _.filter(array, function(value){ return !_.include(rest, value); }); }¶
-
_
zip
= function() { var args = slice.call(arguments); var length = _.max(_.pluck(args, 'length')); var results = new Array(length); for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i); return results; }¶
-
_
indexOf
= function(array, item, isSorted) { if (array == null) return -1; var i, l; if (isSorted) { i = _.sortedIndex(array, item); return array[i] === item ? i : -1; } if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item); for (i = 0, l = array.length; i < l; i++) if (i in array && array[i] === item) return i; return -1; }
-
_
lastIndexOf
= function(array, item) { if (array == null) return -1; if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item); var i = array.length; while (i--) if (i in array && array[i] === item) return i; return -1; }¶
-
_
range
= function(start, stop, step) { if (arguments.length <= 1) { stop = start || 0; start = 0; } step = arguments[2] || 1; var len = Math.max(Math.ceil((stop - start) / step), 0); var idx = 0; var range = new Array(len); while(idx < len) { range[idx++] = start; start += step; } return range; }¶
-
var
ctor
= function(){}¶
-
_
bind
= function bind(func, context) { var bound, args; if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); if (!_.isFunction(func)) throw new TypeError; args = slice.call(arguments, 2); return bound = function() { if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments))); ctor.prototype = func.prototype; var self = new ctor; var result = func.apply(self, args.concat(slice.call(arguments))); if (Object(result) === result) return result; return self; }; }¶
-
_
bindAll
= function(obj) { var funcs = slice.call(arguments, 1); if (funcs.length == 0) funcs = _.functions(obj); each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); }); return obj; }¶
-
_
memoize
= function(func, hasher) { var memo = {}; hasher || (hasher = _.identity); return function() { var key = hasher.apply(this, arguments); return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments)); }; }¶
-
_
delay
= function(func, wait) { var args = slice.call(arguments, 2); return setTimeout(function(){ return func.apply(func, args); }, wait); }¶
-
_
throttle
= function(func, wait) { var context, args, timeout, throttling, more; var whenDone = _.debounce(function(){ more = throttling = false; }, wait); return function() { context = this; args = arguments; var later = function() { timeout = null; if (more) func.apply(context, args); whenDone(); }; if (!timeout) timeout = setTimeout(later, wait); if (throttling) { more = true; } else { func.apply(context, args); } whenDone(); throttling = true; }; }¶
-
_
debounce
= function(func, wait) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; func.apply(context, args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; }¶
-
_
once
= function(func) { var ran = false, memo; return function() { if (ran) return memo; ran = true; return memo = func.apply(this, arguments); }; }¶
-
_
wrap
= function(func, wrapper) { return function() { var args = [func].concat(slice.call(arguments, 0)); return wrapper.apply(this, args); }; }¶
-
_
compose
= function() { var funcs = arguments; return function() { var args = arguments; for (var i = funcs.length - 1; i >= 0; i--) { args = [funcs[i].apply(this, args)]; } return args[0]; }; }¶
-
_
after
= function(times, func) { if (times <= 0) return func(); return function() { if (--times < 1) { return func.apply(this, arguments); } }; }¶
-
_
keys
= nativeKeys || function(obj) { if (obj !== Object(obj)) throw new TypeError('Invalid object'); var keys = []; for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key; return keys; }¶
-
_
functions
= _.methods = function(obj) { var names = []; for (var key in obj) { if (_.isFunction(obj[key])) names.push(key); } return names.sort(); }¶
-
_
extend
= function(obj) { each(slice.call(arguments, 1), function(source) { for (var prop in source) { obj[prop] = source[prop]; } }); return obj; }¶
-
_
defaults
= function(obj) { each(slice.call(arguments, 1), function(source) { for (var prop in source) { if (obj[prop] == null) obj[prop] = source[prop]; } }); return obj; }¶
-
_
clone
= function(obj) { if (!_.isObject(obj)) return obj; return _.isArray(obj) ? obj.slice() : _.extend({}, obj); }¶
-
_
isEmpty
= function(obj) { if (_.isArray(obj) || _.isString(obj)) return obj.length === 0; for (var key in obj) if (_.has(obj, key)) return false; return true; }¶
-
_
isBoolean
= function(obj) { return obj === true || obj === false || toString.call(obj) == '[object Boolean]'; }¶
-
_
noConflict
= function() { root._ = previousUnderscore; return this; }
-
_
times
= function (n, iterator, context) { for (var i = 0; i < n; i++) iterator.call(context, i); }¶
-
var
func
= new Function('obj', '_', tmpl)¶
-
wrapper prototype chain
= function(obj) { return _(obj).chain(); }
-
var
wrapper
= function(obj) { this._wrapped = obj; }¶
-
var
result
= function(obj, chain) { return chain ? _(obj).chain() : obj; }¶
-
var
addToWrapper
= function(name, func) { wrapper.prototype[name] = function() { var args = slice.call(arguments); unshift.call(args, this._wrapped); return result(func.apply(_, args), this._chain); }; }¶
-
wrapper prototype value
= function() { return this._wrapped; }
-
-
file
underscore.js
Functions
-
function if(typeof exports! typeof exports! = ="undefined")
-
if(!b. isArgumentsarguments)
Variables
-
else r _
=b
-
b
VERSION
="1.3.1"
-
var
j
=b.each= b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break}
-
b
map
=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e}
-
b
reduce
=b.foldl=b.inject=function(a,c,d,e){var f=arguments.length>2;a== null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d}
-
b
reduceRight
=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)}
-
b
find
=b.detect= function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e}
-
b
filter
=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e}
-
b
reject
=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e}
-
b
every
=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e= e&&c.call(b,a,g,h)))return n});return e}
-
var
E
=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e}¶
-
b
include
=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})}
-
b
invoke
=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})}
-
b
pluck
= function(a,c){return b.map(a,function(a){return a[c]})}
-
b
max
=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value}
-
b
min
=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a,computed:b})}); return e.value}
-
b
shuffle
=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b}
-
b
sortBy
=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")}
-
b
groupBy
=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d}
-
b
sortedIndex
=function(a, c,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e}
-
b
toArray
=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)}
-
b
size
=function(a){return b.toArray(a).length}
-
b
first
=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]}
-
b
initial
=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))}
-
b
last
=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length-1]}
-
b
rest
= b.tail=function(a,b,d){return i.call(a,b==null||d?1:b)}
-
b
compact
=function(a){return b.filter(a,function(a){return!!a})}
-
b
flatten
=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])}
-
b
without
=function(a){return b.difference(a,i.call(arguments,1))}
-
b
uniq
=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];return d},[]); return e}
-
b union
=function(){return b.uniq(b.flatten(arguments,true))}
-
b
intersection
=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})}
-
b
difference
=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})}
-
b
zip
=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d}
-
b
indexOf
=function(a,c, d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1}
-
b
lastIndexOf
=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1}
-
b
range
=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g}
-
var
F
=function(){}¶
-
b
bind
=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}}
-
b
bindAll
=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a}
-
b
memoize
=function(a, c){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}}
-
b
delay
=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)}
-
b
defer
=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))}
-
b
throttle
=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c));g?h=true: a.apply(d,e);i();g=true}}
-
b
debounce
=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}}
-
b
once
=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}}
-
b
wrap
=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}}
-
b
compose
=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}}
-
b
after
=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}}
-
b
keys
=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c}
-
b
values
=function(a){return b.map(a,b.identity)}
-
b
functions
=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()}
-
b
extend
=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a}
-
b
defaults
=function(a){j(i.call(arguments, 1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a}
-
b
clone
=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)}
-
b
tap
=function(a,b){b(a);return a}
-
b
isEqual
=function(a,b){return q(a,b,[])}
-
b
isEmpty
=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true}
-
b
isElement
=function(a){return!!(a&&a.nodeType==1)}
-
b
isArray
=o||function(a){return l.call(a)=="[object Array]"}
-
b
isObject
=function(a){return a===Object(a)}
-
b
isArguments
=function(a){return l.call(a)=="[object Arguments]"}
-
b
isFunction
=function(a){return l.call(a)=="[object Function]"}
-
b
isString
=function(a){return l.call(a)=="[object String]"}
-
b
isNumber
=function(a){return l.call(a)=="[object Number]"}
-
b
isNaN
=function(a){return a!==a}
-
b
isBoolean
=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"}
-
b
isDate
=function(a){return l.call(a)=="[object Date]"}
-
b
isRegExp
=function(a){return l.call(a)=="[object RegExp]"}
-
b
isNull
=function(a){return a===null}
-
b
isUndefined
=function(a){return a===void 0}
-
b
has
=function(a,b){return I.call(a,b)}
-
b
noConflict
=function(){r._=G;return this}
-
b
identity
=function(a){return a}
-
b
times
=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)}
-
-
file
underscore.js
Functions
-
function if(typeof exports! typeof exports! = ="undefined")
-
if(!b. isArgumentsarguments)
Variables
-
else r _
=b
-
b
VERSION
="1.3.1"
-
var
j
=b.each= b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break}
-
b
map
=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e}
-
b
reduce
=b.foldl=b.inject=function(a,c,d,e){var f=arguments.length>2;a== null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d}
-
b
reduceRight
=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)}
-
b
find
=b.detect= function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e}
-
b
filter
=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e}
-
b
reject
=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e}
-
b
every
=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e= e&&c.call(b,a,g,h)))return n});return e}
-
var
E
=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e}¶
-
b
include
=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})}
-
b
invoke
=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})}
-
b
pluck
= function(a,c){return b.map(a,function(a){return a[c]})}
-
b
max
=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value}
-
b
min
=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a,computed:b})}); return e.value}
-
b
shuffle
=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b}
-
b
sortBy
=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")}
-
b
groupBy
=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d}
-
b
sortedIndex
=function(a, c,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e}
-
b
toArray
=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)}
-
b
size
=function(a){return b.toArray(a).length}
-
b
first
=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]}
-
b
initial
=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))}
-
b
last
=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length-1]}
-
b
rest
= b.tail=function(a,b,d){return i.call(a,b==null||d?1:b)}
-
b
compact
=function(a){return b.filter(a,function(a){return!!a})}
-
b
flatten
=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])}
-
b
without
=function(a){return b.difference(a,i.call(arguments,1))}
-
b
uniq
=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];return d},[]); return e}
-
b union
=function(){return b.uniq(b.flatten(arguments,true))}
-
b
intersection
=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})}
-
b
difference
=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})}
-
b
zip
=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d}
-
b
indexOf
=function(a,c, d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1}
-
b
lastIndexOf
=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1}
-
b
range
=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g}
-
var
F
=function(){}¶
-
b
bind
=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}}
-
b
bindAll
=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a}
-
b
memoize
=function(a, c){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}}
-
b
delay
=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)}
-
b
defer
=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))}
-
b
throttle
=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c));g?h=true: a.apply(d,e);i();g=true}}
-
b
debounce
=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}}
-
b
once
=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}}
-
b
wrap
=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}}
-
b
compose
=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}}
-
b
after
=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}}
-
b
keys
=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c}
-
b
values
=function(a){return b.map(a,b.identity)}
-
b
functions
=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()}
-
b
extend
=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a}
-
b
defaults
=function(a){j(i.call(arguments, 1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a}
-
b
clone
=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)}
-
b
tap
=function(a,b){b(a);return a}
-
b
isEqual
=function(a,b){return q(a,b,[])}
-
b
isEmpty
=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true}
-
b
isElement
=function(a){return!!(a&&a.nodeType==1)}
-
b
isArray
=o||function(a){return l.call(a)=="[object Array]"}
-
b
isObject
=function(a){return a===Object(a)}
-
b
isArguments
=function(a){return l.call(a)=="[object Arguments]"}
-
b
isFunction
=function(a){return l.call(a)=="[object Function]"}
-
b
isString
=function(a){return l.call(a)=="[object String]"}
-
b
isNumber
=function(a){return l.call(a)=="[object Number]"}
-
b
isNaN
=function(a){return a!==a}
-
b
isBoolean
=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"}
-
b
isDate
=function(a){return l.call(a)=="[object Date]"}
-
b
isRegExp
=function(a){return l.call(a)=="[object RegExp]"}
-
b
isNull
=function(a){return a===null}
-
b
isUndefined
=function(a){return a===void 0}
-
b
has
=function(a,b){return I.call(a,b)}
-
b
noConflict
=function(){r._=G;return this}
-
b
identity
=function(a){return a}
-
b
times
=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)}
-
-
file
websupport.js
Functions
-
function
init
()¶
-
function
initEvents
()¶
-
function
setComparator
()¶ Set comp, which is a comparator function used for sorting and inserting comments into the list.
-
function
initComparator
()¶ Create a comp function.
If the user has preferences stored in the sortBy cookie, use those, otherwise use the default.
-
function
show
(id id)¶ Show a comment div.
-
function
hide
(id id)¶ Hide a comment div.
-
function
getComments
(id id)¶ Perform an ajax request to get comments for a node and insert the comments into the comments tree.
-
function
addComment
(form form)¶ Add a comment via ajax and insert the comment into the comment tree.
-
function
appendComments
(comments comments, ul ul)¶ Recursively append comments to the main comment list and children lists, creating the comment tree.
-
function
insertComment
(comment comment)¶ After adding a new comment, it must be inserted in the correct location in the comment tree.
-
function
acceptComment
(id id)¶
-
function
deleteComment
(id id)¶
-
function
showProposal
(id id)¶
-
function
hideProposal
(id id)¶
-
function
showProposeChange
(id id)¶
-
function
hideProposeChange
(id id)¶
-
function
toggleCommentMarkupBox
(id id)¶
-
function
handleReSort
(link link)¶ Handle when the user clicks on a sort by link.
-
function
handleVote
(link link)¶ Function to process a vote when a user clicks an arrow.
-
function
openReply
(id id)¶ Open a reply form used to reply to an existing comment.
-
function
closeReply
(id id)¶ Close the reply form opened with openReply.
-
function
sortComments
(comments comments)¶ Recursively sort a tree of comments using the comp comparator.
-
function
getChildren
(ul ul, recursive recursive)¶ Get the children comments from a ul.
If recursive is true, recursively include childrens’ children.
-
function renderTemplate(template template, context context)
A simple template renderer.
Placeholders such as <id%> are replaced by context[‘id’] with items being escaped. Placeholders such as <#id#> are not escaped.
-
function
showError
(message message)¶ Flash an error message briefly.
-
if(typeof COMMENT_OPTIONS! typeof COMMENT_OPTIONS! = "undefined")
-
document ready(function(){init();} function(){init();})
Variables
-
function fn autogrow resize
= function(textarea) { var lineHeight = parseInt($(textarea).css(‘line-height’), 10); var lines = textarea.value.split(‘\n’); var columns = textarea.cols; var lineCount = 0; $.each(lines, function() { lineCount += Math.ceil(this.length / columns) || 1; }); var height = lineHeight * (lineCount + 1); $(textarea).css(‘height’, height); }
-
jQuery
-
var
opts
= { processVoteURL: '/_process_vote', addCommentURL: '/_add_comment', getCommentsURL: '/_get_comments', acceptCommentURL: '/_accept_comment', deleteCommentURL: '/_delete_comment', commentImage: '/static/_static/comment.png', closeCommentImage: '/static/_static/comment-close.png', loadingImage: '/static/_static/ajax-loader.gif', commentBrightImage: '/static/_static/comment-bright.png', upArrow: '/static/_static/up.png', downArrow: '/static/_static/down.png', upArrowPressed: '/static/_static/up-pressed.png', downArrowPressed: '/static/_static/down-pressed.png', voting: false, moderator: false }¶
-
var
popupTemplate
= '\ <div class="sphinx-comments" id="sc<%id%>">\ <p class="sort-options">\ Sort by:\ <a href="#" class="sort-option byrating">best rated</a>\ <a href="#" class="sort-option byascage">newest</a>\ <a href="#" class="sort-option byage">oldest</a>\ </p>\ <div class="comment-header">Comments</div>\ <div class="comment-loading" id="cn<%id%>">\ loading comments... <img src="<%loadingImage%>" alt="" /></div>\ <ul id="cl<%id%>" class="comment-ul"></ul>\ <div id="ca<%id%>">\ <p class="add-a-comment">Add a comment\ (<a href="#" class="comment-markup" id="ab<%id%>">markup</a>):</p>\ <div class="comment-markup-box" id="mb<%id%>">\ reStructured text markup: <i>*emph*</i>¶
-
var<b> ** strong**</b><code> code</code> code blocks
-
</a><a href="#" id="hc<%id%> class
=”hide-propose-change”>\ Propose a change ▿
-
</a></p><textarea name="proposal" id="pt<%id%> cols
=”80”\ spellcheck=”false”></textarea>\ <input type=”submit” value=”Add comment” />\ <input type=”hidden” name=”node” value=”<%id%>” />\ <input type=”hidden” name=”parent” value=”” />\ </form>\ </div>\ </div>’
-
var
commentTemplate
= '\ <div id="cd<%id%>" class="sphinx-comment<%css_class%>">\ <div class="vote">\ <div class="arrow">\ <a href="#" id="uv<%id%>" class="vote" title="vote up">\ <img src="<%upArrow%>" />\ </a>\ <a href="#" id="uu<%id%>" class="un vote" title="vote up">\ <img src="<%upArrowPressed%>" />\ </a>\ </div>\ <div class="arrow">\ <a href="#" id="dv<%id%>" class="vote" title="vote down">\ <img src="<%downArrow%>" id="da<%id%>" />\ </a>\ <a href="#" id="du<%id%>" class="un vote" title="vote down">\ <img src="<%downArrowPressed%>" />\ </a>\ </div>\ </div>\ <div class="comment-content">\ <p class="tagline comment">\ <span class="user-id"><%username%></span>\ <span class="rating"><%pretty_rating%></span>\ <span class="delta"><%time.delta%></span>\ </p>\ <div class="comment-text comment"><#text#></div>\ <p class="comment-opts comment">\ <a href="#" class="reply hidden" id="rl<%id%>">reply ▹¶
-
var
replyTemplate
= '\ <li>\ <div class="reply-div" id="rd<%id%>">\ <form id="rf<%id%>">\ <textarea name="comment" cols="80"></textarea>\ <input type="submit" value="Add reply" />\ <input type="button" value="Cancel" />\ <input type="hidden" name="parent" value="<%id%>" />\ <input type="hidden" name="node" value="" />\ </form>\ </div>\ </li>'¶
-
function
-
file
websupport.js
Functions
-
function
init
()¶
-
function
initEvents
()¶
-
function
setComparator
()¶ Set comp, which is a comparator function used for sorting and inserting comments into the list.
-
function
initComparator
()¶ Create a comp function.
If the user has preferences stored in the sortBy cookie, use those, otherwise use the default.
-
function
show
(id id)¶ Show a comment div.
-
function
hide
(id id)¶ Hide a comment div.
-
function
getComments
(id id)¶ Perform an ajax request to get comments for a node and insert the comments into the comments tree.
-
function
addComment
(form form)¶ Add a comment via ajax and insert the comment into the comment tree.
-
function
appendComments
(comments comments, ul ul)¶ Recursively append comments to the main comment list and children lists, creating the comment tree.
-
function
insertComment
(comment comment)¶ After adding a new comment, it must be inserted in the correct location in the comment tree.
-
function
acceptComment
(id id)¶
-
function
deleteComment
(id id)¶
-
function
showProposal
(id id)¶
-
function
hideProposal
(id id)¶
-
function
showProposeChange
(id id)¶
-
function
hideProposeChange
(id id)¶
-
function
toggleCommentMarkupBox
(id id)¶
-
function
handleReSort
(link link)¶ Handle when the user clicks on a sort by link.
-
function
handleVote
(link link)¶ Function to process a vote when a user clicks an arrow.
-
function
openReply
(id id)¶ Open a reply form used to reply to an existing comment.
-
function
closeReply
(id id)¶ Close the reply form opened with openReply.
-
function
sortComments
(comments comments)¶ Recursively sort a tree of comments using the comp comparator.
-
function
getChildren
(ul ul, recursive recursive)¶ Get the children comments from a ul.
If recursive is true, recursively include childrens’ children.
-
function renderTemplate(template template, context context)
A simple template renderer.
Placeholders such as <id%> are replaced by context[‘id’] with items being escaped. Placeholders such as <#id#> are not escaped.
-
function
showError
(message message)¶ Flash an error message briefly.
-
if(typeof COMMENT_OPTIONS! typeof COMMENT_OPTIONS! = "undefined")
-
document ready(function(){init();} function(){init();})
Variables
-
function fn autogrow resize
= function(textarea) { var lineHeight = parseInt($(textarea).css(‘line-height’), 10); var lines = textarea.value.split(‘\n’); var columns = textarea.cols; var lineCount = 0; $.each(lines, function() { lineCount += Math.ceil(this.length / columns) || 1; }); var height = lineHeight * (lineCount + 1); $(textarea).css(‘height’, height); }
-
jQuery
-
var
opts
= { processVoteURL: '/_process_vote', addCommentURL: '/_add_comment', getCommentsURL: '/_get_comments', acceptCommentURL: '/_accept_comment', deleteCommentURL: '/_delete_comment', commentImage: '/static/_static/comment.png', closeCommentImage: '/static/_static/comment-close.png', loadingImage: '/static/_static/ajax-loader.gif', commentBrightImage: '/static/_static/comment-bright.png', upArrow: '/static/_static/up.png', downArrow: '/static/_static/down.png', upArrowPressed: '/static/_static/up-pressed.png', downArrowPressed: '/static/_static/down-pressed.png', voting: false, moderator: false }¶
-
var
popupTemplate
= '\ <div class="sphinx-comments" id="sc<%id%>">\ <p class="sort-options">\ Sort by:\ <a href="#" class="sort-option byrating">best rated</a>\ <a href="#" class="sort-option byascage">newest</a>\ <a href="#" class="sort-option byage">oldest</a>\ </p>\ <div class="comment-header">Comments</div>\ <div class="comment-loading" id="cn<%id%>">\ loading comments... <img src="<%loadingImage%>" alt="" /></div>\ <ul id="cl<%id%>" class="comment-ul"></ul>\ <div id="ca<%id%>">\ <p class="add-a-comment">Add a comment\ (<a href="#" class="comment-markup" id="ab<%id%>">markup</a>):</p>\ <div class="comment-markup-box" id="mb<%id%>">\ reStructured text markup: <i>*emph*</i>¶
-
var<b> ** strong**</b><code> code</code> code blocks
-
</a><a href="#" id="hc<%id%> class
=”hide-propose-change”>\ Propose a change ▿
-
</a></p><textarea name="proposal" id="pt<%id%> cols
=”80”\ spellcheck=”false”></textarea>\ <input type=”submit” value=”Add comment” />\ <input type=”hidden” name=”node” value=”<%id%>” />\ <input type=”hidden” name=”parent” value=”” />\ </form>\ </div>\ </div>’
-
var
commentTemplate
= '\ <div id="cd<%id%>" class="sphinx-comment<%css_class%>">\ <div class="vote">\ <div class="arrow">\ <a href="#" id="uv<%id%>" class="vote" title="vote up">\ <img src="<%upArrow%>" />\ </a>\ <a href="#" id="uu<%id%>" class="un vote" title="vote up">\ <img src="<%upArrowPressed%>" />\ </a>\ </div>\ <div class="arrow">\ <a href="#" id="dv<%id%>" class="vote" title="vote down">\ <img src="<%downArrow%>" id="da<%id%>" />\ </a>\ <a href="#" id="du<%id%>" class="un vote" title="vote down">\ <img src="<%downArrowPressed%>" />\ </a>\ </div>\ </div>\ <div class="comment-content">\ <p class="tagline comment">\ <span class="user-id"><%username%></span>\ <span class="rating"><%pretty_rating%></span>\ <span class="delta"><%time.delta%></span>\ </p>\ <div class="comment-text comment"><#text#></div>\ <p class="comment-opts comment">\ <a href="#" class="reply hidden" id="rl<%id%>">reply ▹¶
-
var
replyTemplate
= '\ <li>\ <div class="reply-div" id="rd<%id%>">\ <form id="rf<%id%>">\ <textarea name="comment" cols="80"></textarea>\ <input type="submit" value="Add reply" />\ <input type="button" value="Cancel" />\ <input type="hidden" name="parent" value="<%id%>" />\ <input type="hidden" name="node" value="" />\ </form>\ </div>\ </li>'¶
-
function
-
file
searchindex.js
-
file
conf.py
-
file
requirements.txt
-
file
README.md
-
page
md__home_docs_checkouts_readthedocs.org_user_builds_roboy-audio_checkouts_doxy_setup_README
-
What is it?
This repository contains the audio related skills for the humanoid robot Roboy (roboy.org).
How does it work?
It procecess the microphone data from Matrix Creator (www.matrix.one) in two different ways. It wether reads the data directly out of the board related FPGA and processes it. Or it streams the data onto a ROS topic, from which on other modules can submit to this topic and process it further.
Most of the things (direct processing, streaming) run in C++. But there is also a template for receiving the stream in Python.
How to run it?
Will be defined in the future.
How to extend it?
Write cool stuff and add it to the repo.
-
dir
_build
-
dir
_build/json/_static
-
dir
_build/html/_static
-
dir
_build/html
-
dir
_build/json/_static/js
-
dir
_build/html/_static/js
-
dir
_build/json
About arc42¶
arc42, the Template for documentation of software and system architecture.
By Dr. Gernot Starke, Dr. Peter Hruschka and contributors.
Template Revision: 6.5 EN (based on asciidoc), Juni 2014
© We acknowledge that this document uses material from the arc 42 architecture template, http://www.arc42.de. Created by Dr. Peter Hruschka & Dr. Gernot Starke. For additional contributors see http://arc42.de/sonstiges/contributors.html
Note
This version of the template contains some help and explanations. It is used for familiarization with arc42 and the understanding of the concepts. For documentation of your own system you use better the plain version.
Literature and references¶
- Starke-2014
- Gernot Starke: Effektive Softwarearchitekturen - Ein praktischer Leitfaden. Carl Hanser Verlag, 6, Auflage 2014.
- Starke-Hruschka-2011
- Gernot Starke und Peter Hruschka: Softwarearchitektur kompakt. Springer Akademischer Verlag, 2. Auflage 2011.
- Zörner-2013
- Softwarearchitekturen dokumentieren und kommunizieren, Carl Hanser Verlag, 2012
Examples¶
- HTML Sanity Checker
- DocChess (german)
- Gradle (german)
- MaMa CRM (german)
- Financial Data Migration (german)
Acknowledgements and collaborations¶
arc42 originally envisioned by Dr. Peter Hruschka and Dr. Gernot Starke.
- Sources
- We maintain arc42 in asciidoc format at the moment, hosted in GitHub under the aim42-Organisation.
- Issues
- We maintain a list of open topics and bugs.
We are looking forward to your corrections and clarifications! Please fork the repository mentioned over this lines and send us a pull request!
Collaborators¶
We are very thankful and acknowledge the support and help provided by all active and former collaborators, uncountable (anonymous) advisors, bug finders and users of this method.
Currently active¶
- Gernot Starke
- Stefan Zörner
- Markus Schärtel
- Ralf D. Müller
- Peter Hruschka
- Jürgen Krey
Former collaborators¶
(in alphabetical order)
- Anne Aloysius
- Matthias Bohlen
- Karl Eilebrecht
- Manfred Ferken
- Phillip Ghadir
- Carsten Klein
- Prof. Arne Koschel
- Axel Scheithauer