├── .gitignore
├── README.md
├── flashpro-plugins
├── README.md
├── easeljs-json.plugin.jsfl
└── easeljs2.plugin.jsfl
├── photoshop-extension
├── Characters.psd
├── README.md
├── exportToEaselJS.jsxbin
├── template1.txt
└── template2.txt
└── spritelib-tester
├── README.md
├── css
└── style.css
├── index.html
├── js
├── libs
│ ├── easeljs-0.6.1.min.js
│ └── jquery-1.7.1.min.js
└── main.js
└── sprites
├── Characters.png
├── backup
├── Sprites.png
└── spritelib.js
└── spritelib.js
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled source #
2 | ###################
3 | *.com
4 | *.class
5 | *.dll
6 | *.exe
7 | *.o
8 | *.so
9 |
10 | # Packages #
11 | ############
12 | # it's better to unpack these files and commit the raw source
13 | # git has its own built in compression methods
14 | *.7z
15 | *.dmg
16 | *.gz
17 | *.iso
18 | *.jar
19 | *.rar
20 | *.tar
21 | *.zip
22 |
23 | # Logs and databases #
24 | ######################
25 | *.log
26 | *.sql
27 | *.sqlite
28 |
29 | # OS generated files #
30 | ######################
31 | .DS_Store
32 | .DS_Store?
33 | ._*
34 | .Spotlight-V100
35 | .Trashes
36 | Icon?
37 | ehthumbs.db
38 | Thumbs.db
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | CreateJS Utils
2 | =================
3 |
4 | A bunch of utilities I use for CreateJS based apps.
5 |
6 | See the readme file of each project for more info.
--------------------------------------------------------------------------------
/flashpro-plugins/README.md:
--------------------------------------------------------------------------------
1 | Flash Pro CS6 EaselJS Plugins
2 | =================
3 |
4 |
5 | Install flash pro plugins simply by copying the JSFL files in
6 | */Applications/Adobe Flash CS6/Common/Configuration/Sprite Sheet Plugins*
7 | …or the equivalent path on Windows.
8 |
9 | `easeljs2` works just like the original exporter, except that it stores classes in an object (`myGame`, by default) rather than in the global `window` object and it exposes the spritesheet folder as a variable named `spritesheetPath` in the generated JS file.
10 |
11 | The JSFL file exposes various options at the top of the file, such as the default destination folder for the spritesheet, or the ability to get rid of methods which expose animations (see comments for more informations).
12 |
13 |
14 | `easeljs-json` simply exports all data in JSON format rather than in a javascript file.
15 |
16 |
--------------------------------------------------------------------------------
/flashpro-plugins/easeljs-json.plugin.jsfl:
--------------------------------------------------------------------------------
1 | /*
2 | This FlashPro plugin will export spritesheet
3 | data for createJS as JSON file
4 | */
5 |
6 | function getPluginInfo(lang)
7 | {
8 | pluginInfo = new Object();
9 | pluginInfo.id = "easeljs-json";
10 | pluginInfo.name = "easeljs-json";
11 | pluginInfo.ext = "json";
12 | pluginInfo.capabilities = new Object();
13 | pluginInfo.capabilities.canRotate = false;
14 | pluginInfo.capabilities.canTrim = true;
15 | pluginInfo.capabilities.canShapePad = true;
16 | pluginInfo.capabilities.canBorderPad = true;
17 | pluginInfo.capabilities.canStackDuplicateFrames = true;
18 | return pluginInfo;
19 | }
20 |
21 | var helperFunctions = null;
22 | var symbolItem = null;
23 | var symbolName = null;
24 | var globalMeta = null;
25 | var frameData = "";
26 | var firstSymbol = true;
27 |
28 | function initializeVars()
29 | {
30 | helperFunctions = null;
31 | symbolItem = null;
32 | symbolName = null;
33 | frameData = "";
34 | }
35 |
36 | function DetermineAnimationData()
37 | {
38 | var labelLayer = null;
39 | var controlLayer = null;
40 | var layers = symbolItem.timeline.layers;
41 |
42 | var i;
43 | for (i = 0; i < layers.length; i++)
44 | {
45 | cmpName = layers[i].name.toLowerCase();
46 | if (cmpName == "labels")
47 | labelLayer = layers[i];
48 |
49 | if (cmpName == "control")
50 | controlLayer = layers[i];
51 | }
52 |
53 | helperFunctions = null;
54 |
55 | if (labelLayer == null)
56 | return ""
57 |
58 | var labelFrame = null;
59 | var controlFrame = null;
60 | var labelIndex = 0;
61 | var controlIndex = 0;
62 | var frameNumber = 0;
63 | var hitSpan = false;
64 | var endFrameNumber = 0;
65 |
66 | var s = "";
67 |
68 | while (labelIndex < labelLayer.frames.length)
69 | {
70 | labelFrame = labelLayer.frames[labelIndex++];
71 | if (controlLayer)
72 | controlFrame = controlLayer.frames[controlIndex++];
73 |
74 |
75 | if (labelFrame.name != null)
76 | {
77 | if (hitSpan)
78 | s += ", \n";
79 | else
80 | s += "{\n";
81 |
82 | endFrameNumber = frameNumber + labelFrame.duration - 1;
83 | beginFrame = frameNumber;
84 | endFrame = endFrameNumber;
85 | s += '"'+labelFrame.name + "\":[" + beginFrame + "," + endFrame;
86 |
87 | if (controlFrame != null && controlFrame.name != null && controlFrame.name.length != 0) {
88 | s += ", " + "\"" + controlFrame.name + "\"]";
89 | }
90 | else {
91 | s += ", true]";
92 | }
93 |
94 |
95 | frameNumber = endFrameNumber + 1;
96 | labelIndex = frameNumber;
97 | controlIndex = labelIndex;
98 |
99 | if (!hitSpan)
100 | helperFunctions = "";
101 |
102 | hitSpan = true;
103 | }
104 | }
105 |
106 | if (hitSpan)
107 | s += "\n}";
108 |
109 |
110 | return s;
111 | }
112 |
113 | function endSymbol(meta)
114 | {
115 | var s = "";
116 | if (symbolItem != null)
117 | {
118 | symbolName = symbolName.replace(/\s+/g,"_");
119 |
120 | if(firstSymbol==false) {
121 | s += ",\n";
122 | }
123 | firstSymbol=false;
124 |
125 | s += '\n"'+symbolName+'":{';
126 |
127 |
128 | var animationData = DetermineAnimationData();
129 |
130 | s += "\"images\": [\"" + meta.image + "\"],\n "
131 | if (animationData != null && animationData.length != 0)
132 | {
133 | s += "\"frames\": [\n" + frameData + "],\n ";
134 | s += "\"animations\":" + animationData + "\n";
135 | }
136 | else
137 | {
138 | s += "\"frames\": [" + frameData + "]\n";
139 | }
140 |
141 | s+='\n}\n';
142 |
143 | // cleanup
144 | initializeVars();
145 | }
146 | return s;
147 | }
148 |
149 | function beginExport(meta)
150 | {
151 | initializeVars();
152 | startFrameNumber = 0;
153 | globalMeta = meta;
154 | return "{\n";
155 | }
156 |
157 | function frameExport(frame)
158 | {
159 | var s = "";
160 | if (symbolName != frame.symbolName)
161 | {
162 | s = endSymbol(globalMeta);
163 |
164 | symbolItem = frame.symbol;
165 | symbolName = frame.symbolName;
166 | }
167 | else
168 | {
169 | frameData += ",\n";
170 | }
171 |
172 | frameData += "[" + frame.frame.x + "," + frame.frame.y + "," + frame.frame.w + "," + frame.frame.h + ",0,";
173 | if (frame.trimmed)
174 | {
175 | frameData += (frame.registrationPoint.x - frame.offsetInSource.x) + "," + (frame.registrationPoint.y - frame.offsetInSource.y);
176 | }
177 | else
178 | {
179 | frameData += frame.registrationPoint.x + "," + frame.registrationPoint.y;
180 | }
181 | frameData += "]";
182 |
183 | return s;
184 | }
185 |
186 | function endExport(meta)
187 | {
188 | var s = endSymbol(globalMeta);
189 |
190 | globalMeta = null;
191 |
192 | s += "}\n\n";
193 |
194 | return s;
195 | }
196 |
--------------------------------------------------------------------------------
/flashpro-plugins/easeljs2.plugin.jsfl:
--------------------------------------------------------------------------------
1 | /*Options*/
2 |
3 | // The directory where your sheets are stored, relative to your HTML file
4 | var imageDirectory="sprites/";
5 | // Whether or not you want to expose animations as functions
6 | var useHelperFunctions = true;
7 | // The global object in which to store sprite classes.
8 | // e.g. window.myGame.DarkKnight, where DarkKnight is your MovieClip
9 | var libObjName = "myGame";
10 |
11 | /*End of options*/
12 |
13 | function getPluginInfo(lang)
14 | {
15 | pluginInfo = new Object();
16 | pluginInfo.id = "easeljs2";
17 | pluginInfo.name = "easeljs2";
18 | pluginInfo.ext = "js";
19 | pluginInfo.capabilities = new Object();
20 | pluginInfo.capabilities.canRotate = false;
21 | pluginInfo.capabilities.canTrim = true;
22 | pluginInfo.capabilities.canShapePad = true;
23 | pluginInfo.capabilities.canBorderPad = true;
24 | pluginInfo.capabilities.canStackDuplicateFrames = true;
25 | return pluginInfo;
26 | }
27 | var helperFunctions = null;
28 | var symbolItem = null;
29 | var symbolName = null;
30 | var globalMeta = null;
31 | var frameData = "";
32 |
33 | function initializeVars()
34 | {
35 | helperFunctions = null;
36 | symbolItem = null;
37 | symbolName = null;
38 | frameData = "";
39 | }
40 |
41 | function DetermineAnimationData()
42 | {
43 | var labelLayer = null;
44 | var controlLayer = null;
45 | var layers = symbolItem.timeline.layers;
46 |
47 | var i;
48 | for (i = 0; i < layers.length; i++)
49 | {
50 | cmpName = layers[i].name.toLowerCase();
51 | if (cmpName == "labels")
52 | labelLayer = layers[i];
53 |
54 | if (cmpName == "control")
55 | controlLayer = layers[i];
56 | }
57 |
58 | helperFunctions = null;
59 |
60 | if (labelLayer == null)
61 | return ""
62 |
63 | var labelFrame = null;
64 | var controlFrame = null;
65 | var labelIndex = 0;
66 | var controlIndex = 0;
67 | var frameNumber = 0;
68 | var hitSpan = false;
69 | var endFrameNumber = 0;
70 |
71 | var s = "";
72 |
73 | while (labelIndex < labelLayer.frames.length)
74 | {
75 | labelFrame = labelLayer.frames[labelIndex++];
76 | if (controlLayer)
77 | controlFrame = controlLayer.frames[controlIndex++];
78 |
79 |
80 | if (labelFrame.name != null)
81 | {
82 | if (hitSpan)
83 | s += ", ";
84 | else
85 | s += "{";
86 |
87 | endFrameNumber = frameNumber + labelFrame.duration - 1;
88 | beginFrame = frameNumber;
89 | endFrame = endFrameNumber;
90 | s += labelFrame.name + ":[" + beginFrame + "," + endFrame;
91 | if (controlFrame != null && controlFrame.name != null && controlFrame.name.length != 0)
92 | s += ", " + "\"" + controlFrame.name + "\"]";
93 | else
94 | s += ", true]";
95 |
96 | frameNumber = endFrameNumber + 1;
97 | labelIndex = frameNumber;
98 | controlIndex = labelIndex;
99 |
100 | if (!hitSpan)
101 | helperFunctions = "";
102 |
103 | if(useHelperFunctions) {
104 | helperFunctions += symbolName + "_p." + labelFrame.name + " = function(){\n";
105 | helperFunctions += "\tthis.gotoAndPlay(\""+labelFrame.name+"\");\n";
106 | helperFunctions += "}\n";
107 | }
108 |
109 | hitSpan = true;
110 | }
111 | }
112 |
113 | if (hitSpan)
114 | s += "}";
115 |
116 |
117 | return s;
118 | }
119 |
120 | function endSymbol(meta)
121 | {
122 | var s = "";
123 | if (symbolItem != null)
124 | {
125 | symbolName = symbolName.replace(/\s+/g,"_");
126 |
127 | var animationData = DetermineAnimationData();
128 | var proto = symbolName + "_p";
129 |
130 | s += "\nvar "+symbolName + " = function() {\n";
131 | s += "\tthis.initialize();\n"
132 | s += "}\n";
133 |
134 | s += symbolName + "._SpriteSheet = new createjs.SpriteSheet({images: [spritesheetPath], "
135 | if (animationData != null && animationData.length != 0)
136 | {
137 | s += "frames: [" + frameData + "], ";
138 | s += " animations: " + animationData + "});\n";
139 | }
140 | else
141 | {
142 | s += "frames: [" + frameData + "]});\n";
143 | }
144 |
145 | s += "var " + proto + " = " + symbolName + ".prototype = new createjs.BitmapAnimation();\n";
146 | s += "" + proto + ".BitmapAnimation_initialize = " + proto + ".initialize;\n";
147 | s += "" + proto + ".initialize = function() {\n"
148 | s += "\tthis.BitmapAnimation_initialize(" + symbolName + "._SpriteSheet);\n";
149 | s += "\tthis.paused = false;\n";
150 | s += "}\n";
151 |
152 | if (helperFunctions != null)
153 | s += helperFunctions;
154 |
155 | s += "scope." + symbolName + " = " + symbolName + ";\n";
156 |
157 | // cleanup
158 | initializeVars();
159 | }
160 | return s;
161 | }
162 |
163 | function beginExport(meta)
164 | {
165 | initializeVars();
166 | startFrameNumber = 0;
167 | globalMeta = meta;
168 |
169 | var str = "if (!window."+libObjName+") { window."+libObjName+" = {}; }\n(function(scope) {\n";
170 | str += "var spritesheetPath = \""+imageDirectory+meta.image+"\";\n";
171 |
172 | return str;
173 | }
174 |
175 | function frameExport(frame)
176 | {
177 | var s = "";
178 | if (symbolName != frame.symbolName)
179 | {
180 | s = endSymbol(globalMeta);
181 |
182 | symbolItem = frame.symbol;
183 | symbolName = frame.symbolName;
184 | }
185 | else
186 | {
187 | frameData += ",";
188 | }
189 |
190 | frameData += "[" + frame.frame.x + "," + frame.frame.y + "," + frame.frame.w + "," + frame.frame.h + ",0,";
191 | if (frame.trimmed)
192 | {
193 | frameData += (frame.registrationPoint.x - frame.offsetInSource.x) + "," + (frame.registrationPoint.y - frame.offsetInSource.y);
194 | }
195 | else
196 | {
197 | frameData += frame.registrationPoint.x + "," + frame.registrationPoint.y;
198 | }
199 | frameData += "]";
200 |
201 | return s;
202 | }
203 |
204 | function endExport(meta)
205 | {
206 | var s = endSymbol(globalMeta);
207 |
208 | globalMeta = null;
209 |
210 | s += "}(window."+libObjName+"));\n\n";
211 |
212 | return s;
213 | }
214 |
--------------------------------------------------------------------------------
/photoshop-extension/Characters.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davidderaedt/createjs-utils/1e09a1e0c8ce45fbde5f9837c9530fcf654d75dd/photoshop-extension/Characters.psd
--------------------------------------------------------------------------------
/photoshop-extension/README.md:
--------------------------------------------------------------------------------
1 | Photoshop to EaselJS SpriteSheets
2 | =================
3 |
4 | Exports a PSD file to a spritesheet for use with EaselJS projects.
5 |
6 | > While usable as is, this script is intended to be a test script for an upcoming panel based extension.
7 |
8 | ##Usage
9 |
10 | 1. Copy the `exportToEaselJS.jssxbin` file along with the corresponding two template `txt` files to the directory of your choice.
11 | 2. In Photoshop, open a properly formed PSD. Take a look at the `characters.psd` file for a good example.
12 | 3. Choose `File > Scripts > browse` and select the `jsxbin` file
13 | 4. When prompted, choose the output directory of your choice. If you don't have a createJS example in place, take our own `spritelib-tester`.
14 |
15 |
16 |
17 |
18 | ## More informations
19 |
20 |
21 | The script only processes the current document, not your whole working set, so all sprites should be in the same document.
22 |
23 | It is convention based, so you absolutely need to follow the following structure for the document: `sprite folders > animation folders > frames`. In other words:
24 |
25 | * Each sprite should be in a separate layer folder at the top level of the document, even if it's the only sprite in the document. The folder name is used for the resulting `BitmapAnimation` class name.
26 | * Each animation should be in a separate layer folder inside the sprite folder. The folder name is used for the animation name.
27 | * Each frame should be place inside an animation folder, otherwise it won't be processed at all. The layer name is not used (unless for some options).
28 |
29 | Limits & known issues:
30 |
31 | * All sprites will have the same size (the size of the document, in pixels).
32 | * No optimization algorithm is used: frames are placed side by side.
33 | * You cannot set the number of columns or rows manually.
34 | * You cannot set the next `parameter` from photoshop: all animations are looped by default.
35 | * You cannot set a scaling factor (1 pixel in Photoshop will result in 1 pixel in the spritesheet).
36 |
37 |
38 | Options & notes
39 |
40 | * Feel free to edit the template files to adapt it to your needs
41 | * When processing, the script will briefly create a temporary file and delete it afterwards. This is expected.
42 | * For consistency, the resulting code is intentionally very close to the code exported by FlashPro CS6 Easel spritesheet exporter.
43 | * The library name (ie name of the object in the window object containing the sprite classes) is hardcoded at the top of the file, you can change it as you please.
44 | * The spritesheet PNG file is named after the photoshop document.
45 | * You can add "x2", "x3" etc to the frame layer names to automatically multiply frames in the animation
46 | * All frames are used whether they are visilble or locked. Can't decide if it's a bug or a feature.
47 | * The PSD file contains sample sprites which were based on the [spritelib project](http://www.widgetworx.com/widgetworx/portfolio/spritelib.html) which is under [CPL](http://opensource.org/licenses/cpl1.0.php) license.
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/photoshop-extension/exportToEaselJS.jsxbin:
--------------------------------------------------------------------------------
1 | @JSXBIN@ES@2.0@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
91 | DjdFEXzJjEjVjQjMjJjDjBjUjFjefVjTfKRCFeDjUjNjQFcfffnftJhSnAEXzMjSjFjTjJjajFiDjBj
92 | OjWjBjTjffVjdfFRDCzBhKkAVjWfDViWfBnnCkAVjbfEViXfCnnXzHiUiPiQiMiFiGiUkBfjzOiBjOj
93 | DjIjPjSiQjPjTjJjUjJjPjOkCfffJhVnABXzOjBjDjUjJjWjFiEjPjDjVjNjFjOjUkDfjjPfVjdfFnf
94 | JhYnASiIGXzBhQkEfEXzFjTjQjMjJjUkFfXXfVjTfKRBFeBhOffnftJhbnAEXiLfjiJfRBViIfGffah
95 | fbiAn0AFJiAnASzJjTjQjSjJjUjFiTjFjUkGIQIfXzJjMjBjZjFjSiTjFjUjTkHfVjdfFVOfHnftOiC
96 | JiCnABXzJjBjMjMiMjPjDjLjFjEkIfVkGfIncffAXkIfVkGfInOiDJiDnABXgcfVkGfInctfACzChdh
97 | dkJXgcfVkGfInncfnJiFnASzIjEjFjTjUiOjBjNjFkKJXXfVkGfInftJiGnAEjzNjQjSjPjDjFjTjTi
98 | TjQjSjJjUjFkLfRHVjdfFXkHfVkGfIVkKfJVjWfDVjbfEViWfBViXfCffAVOfHAXMfXkHfVjdfFByBP
99 | JiKnAEXjGfjiJfnfJiNnAEjzHjTjBjWjFiQjOjHkMfRCVjdfFCGCGVzUjJjNjHiGjPjMjEjFjSiEjFj
100 | TjUjJjOjBjUjJjPjOkNfMViIfGnnnneEhOjQjOjHffJiQnAEjhdfRCEXjJfjiJfnfVzTjEjBjUjBiGj
101 | JjMjFiEjFjTjUjJjOjBjUjJjPjOkOfNffJiTnAEXhGfVjdfFRBXzQiEiPiOiPiUiTiBiWiFiDiIiBiO
102 | iHiFiTkPfjzLiTjBjWjFiPjQjUjJjPjOjTkQfffJiWnASjTKnbffJiXnASjdFnbffOiabyibn0ABJib
103 | nABXjNfXjOfjjPfVjMfAnfAChWVjMfAXjNfXjOfjjPfnnnAOkO4D0AhAO4H0AiAjM40BiAiX4C0AiAi
104 | I4G0AiAjW4D0AiAjb4E0AiAiW4B0AiAjd4F0AiAkG4I0AiAkK4J0AiAjT40BhAjL4B0AhAkN4C0AhAE
105 | KAzIjEjPiFjYjQjPjSjUkRAieMjCbyBn0ACajEbjFn0ACJjFnASzFjMjBjZjFjSkSBQIfVzJjMjBjZj
106 | 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
131 | AiAAGAIByB
--------------------------------------------------------------------------------
/photoshop-extension/template1.txt:
--------------------------------------------------------------------------------
1 | //EaselJS Spritesheet
2 | if (!window.@{libName}) { window.@{libName} = {}; }
3 | (function(scope) {
4 | var spritesheetPath='@{folder}/@{imageName}.png';
5 |
6 | @{sprites}
7 |
8 | // Endofspritesdef
9 | }(window.@{libName}));
--------------------------------------------------------------------------------
/photoshop-extension/template2.txt:
--------------------------------------------------------------------------------
1 | // @{spriteName}
2 | var @{spriteName} = function() {this.initialize();}
3 | @{spriteName}._SpriteSheet = new createjs.SpriteSheet(
4 | {
5 | images: [spritesheetPath],
6 | frames:@{frameData},
7 | animations: @{animationData}
8 | });
9 |
10 | var @{spriteName}_p = @{spriteName}.prototype = new createjs.BitmapAnimation();
11 | @{spriteName}_p.BitmapAnimation_initialize = @{spriteName}_p.initialize;
12 | @{spriteName}_p.initialize = function() {
13 | this.BitmapAnimation_initialize(@{spriteName}._SpriteSheet);
14 | this.paused = false;
15 | }
16 | scope.@{spriteName} = @{spriteName};
--------------------------------------------------------------------------------
/spritelib-tester/README.md:
--------------------------------------------------------------------------------
1 | CreateJS SpriteSheet Tester
2 | =================
3 |
4 | Simple HTML page which parses an `EaselJS` sprite library file and lets you test each animation of each sprite.
5 |
6 | By default, it expects a js file named `spriteLib.js` in the `sprites` folder, but can can of course change the HTML file according to your needs.
7 |
8 | By default, it expects a global object named `spriteLib` to hold sprite class definitions (e.g. `window.spriteLib.Enemy`), but you can easily change that by modifying the related line at the top of the `main.js` file.
9 |
10 | This html file can be run from the filesystem directly (in other words, you don't need to run it from a server).
--------------------------------------------------------------------------------
/spritelib-tester/css/style.css:
--------------------------------------------------------------------------------
1 | /*
2 | * HTML5 Boilerplate
3 | *
4 | * What follows is the result of much research on cross-browser styling.
5 | * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
6 | * Kroc Camen, and the H5BP dev community and team.
7 | *
8 | * Detailed information about this CSS: h5bp.com/css
9 | *
10 | * ==|== normalize ==========================================================
11 | */
12 |
13 |
14 | /* =============================================================================
15 | HTML5 display definitions
16 | ========================================================================== */
17 |
18 | article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
19 | audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
20 | audio:not([controls]) { display: none; }
21 | [hidden] { display: none; }
22 |
23 |
24 | /* =============================================================================
25 | Base
26 | ========================================================================== */
27 |
28 | /*
29 | * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
30 | * 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
31 | */
32 |
33 | html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
34 |
35 | html, button, input, select, textarea { font-family: sans-serif; color: #222; }
36 |
37 | body { margin: 0; font-size: 1em; line-height: 1.4; }
38 |
39 | /*
40 | * Remove text-shadow in selection highlight: h5bp.com/i
41 | * These selection declarations have to be separate
42 | * Also: hot pink! (or customize the background color to match your design)
43 | */
44 |
45 | ::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }
46 | ::selection { background: #fe57a1; color: #fff; text-shadow: none; }
47 |
48 |
49 | /* =============================================================================
50 | Links
51 | ========================================================================== */
52 |
53 | a { color: #00e; }
54 | a:visited { color: #551a8b; }
55 | a:hover { color: #06e; }
56 | a:focus { outline: thin dotted; }
57 |
58 | /* Improve readability when focused and hovered in all browsers: h5bp.com/h */
59 | a:hover, a:active { outline: 0; }
60 |
61 |
62 | /* =============================================================================
63 | Typography
64 | ========================================================================== */
65 |
66 | abbr[title] { border-bottom: 1px dotted; }
67 |
68 | b, strong { font-weight: bold; }
69 |
70 | blockquote { margin: 1em 40px; }
71 |
72 | dfn { font-style: italic; }
73 |
74 | hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
75 |
76 | ins { background: #ff9; color: #000; text-decoration: none; }
77 |
78 | mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
79 |
80 | /* Redeclare monospace font family: h5bp.com/j */
81 | pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
82 |
83 | /* Improve readability of pre-formatted text in all browsers */
84 | pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
85 |
86 | q { quotes: none; }
87 | q:before, q:after { content: ""; content: none; }
88 |
89 | small { font-size: 85%; }
90 |
91 | /* Position subscript and superscript content without affecting line-height: h5bp.com/k */
92 | sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
93 | sup { top: -0.5em; }
94 | sub { bottom: -0.25em; }
95 |
96 |
97 | /* =============================================================================
98 | Lists
99 | ========================================================================== */
100 |
101 | ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
102 | dd { margin: 0 0 0 40px; }
103 | nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
104 |
105 |
106 | /* =============================================================================
107 | Embedded content
108 | ========================================================================== */
109 |
110 | /*
111 | * 1. Improve image quality when scaled in IE7: h5bp.com/d
112 | * 2. Remove the gap between images and borders on image containers: h5bp.com/i/440
113 | */
114 |
115 | img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
116 |
117 | /*
118 | * Correct overflow not hidden in IE9
119 | */
120 |
121 | svg:not(:root) { overflow: hidden; }
122 |
123 |
124 | /* =============================================================================
125 | Figures
126 | ========================================================================== */
127 |
128 | figure { margin: 0; }
129 |
130 |
131 | /* =============================================================================
132 | Forms
133 | ========================================================================== */
134 |
135 | form { margin: 0; }
136 | fieldset { border: 0; margin: 0; padding: 0; }
137 |
138 | /* Indicate that 'label' will shift focus to the associated form element */
139 | label { cursor: pointer; }
140 |
141 | /*
142 | * 1. Correct color not inheriting in IE6/7/8/9
143 | * 2. Correct alignment displayed oddly in IE6/7
144 | */
145 |
146 | legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
147 |
148 | /*
149 | * 1. Correct font-size not inheriting in all browsers
150 | * 2. Remove margins in FF3/4 S5 Chrome
151 | * 3. Define consistent vertical alignment display in all browsers
152 | */
153 |
154 | button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
155 |
156 | /*
157 | * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
158 | */
159 |
160 | button, input { line-height: normal; }
161 |
162 | /*
163 | * 1. Display hand cursor for clickable form elements
164 | * 2. Allow styling of clickable form elements in iOS
165 | * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
166 | */
167 |
168 | button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
169 |
170 | /*
171 | * Re-set default cursor for disabled elements
172 | */
173 |
174 | button[disabled], input[disabled] { cursor: default; }
175 |
176 | /*
177 | * Consistent box sizing and appearance
178 | */
179 |
180 | input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
181 | input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
182 | input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
183 |
184 | /*
185 | * Remove inner padding and border in FF3/4: h5bp.com/l
186 | */
187 |
188 | button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
189 |
190 | /*
191 | * 1. Remove default vertical scrollbar in IE6/7/8/9
192 | * 2. Allow only vertical resizing
193 | */
194 |
195 | textarea { overflow: auto; vertical-align: top; resize: vertical; }
196 |
197 | /* Colors for form validity */
198 | input:valid, textarea:valid { }
199 | input:invalid, textarea:invalid { background-color: #f0dddd; }
200 |
201 |
202 | /* =============================================================================
203 | Tables
204 | ========================================================================== */
205 |
206 | table { border-collapse: collapse; border-spacing: 0; }
207 | td { vertical-align: top; }
208 |
209 |
210 | /* =============================================================================
211 | Chrome Frame Prompt
212 | ========================================================================== */
213 |
214 | .chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }
215 |
216 |
217 | /* ==|== primary styles =====================================================
218 | Author:
219 | ========================================================================== */
220 |
221 |
222 |
223 |
224 |
225 |
226 | canvas {
227 | border-width: 1px;
228 | border-style: solid;
229 | border-color: black;
230 | }
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 | /* ==|== media queries ======================================================
241 | EXAMPLE Media Query for Responsive Design.
242 | This example overrides the primary ('mobile first') styles
243 | Modify as content requires.
244 | ========================================================================== */
245 |
246 | @media only screen and (min-width: 35em) {
247 | /* Style adjustments for viewports that meet the condition */
248 | }
249 |
250 |
251 |
252 | /* ==|== non-semantic helper classes ========================================
253 | Please define your styles before this section.
254 | ========================================================================== */
255 |
256 | /* For image replacement */
257 | .ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
258 | .ir br { display: none; }
259 |
260 | /* Hide from both screenreaders and browsers: h5bp.com/u */
261 | .hidden { display: none !important; visibility: hidden; }
262 |
263 | /* Hide only visually, but have it available for screenreaders: h5bp.com/v */
264 | .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
265 |
266 | /* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
267 | .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
268 |
269 | /* Hide visually and from screenreaders, but maintain layout */
270 | .invisible { visibility: hidden; }
271 |
272 | /* Contain floats: h5bp.com/q */
273 | .clearfix:before, .clearfix:after { content: ""; display: table; }
274 | .clearfix:after { clear: both; }
275 | .clearfix { *zoom: 1; }
276 |
277 |
278 |
279 | /* ==|== print styles =======================================================
280 | Print styles.
281 | Inlined to avoid required HTTP connection: h5bp.com/r
282 | ========================================================================== */
283 |
284 | @media print {
285 | * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
286 | a, a:visited { text-decoration: underline; }
287 | a[href]:after { content: " (" attr(href) ")"; }
288 | abbr[title]:after { content: " (" attr(title) ")"; }
289 | .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
290 | pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
291 | thead { display: table-header-group; } /* h5bp.com/t */
292 | tr, img { page-break-inside: avoid; }
293 | img { max-width: 100% !important; }
294 | @page { margin: 0.5cm; }
295 | p, h2, h3 { orphans: 3; widows: 3; }
296 | h2, h3 { page-break-after: avoid; }
297 | }
298 |
--------------------------------------------------------------------------------
/spritelib-tester/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | EASELJS SPRITE TESTER
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/spritelib-tester/js/libs/easeljs-0.6.1.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | * EaselJS
3 | * Visit http://createjs.com/ for documentation, updates and examples.
4 | *
5 | * Copyright (c) 2011 gskinner.com, inc.
6 | *
7 | * Distributed under the terms of the MIT license.
8 | * http://www.opensource.org/licenses/mit-license.html
9 | *
10 | * This notice shall be included in all copies or substantial portions of the Software.
11 | */
12 | this.createjs=this.createjs||{};(function(){var c=function(){throw"UID cannot be instantiated";};c._nextID=0;c.get=function(){return c._nextID++};createjs.UID=c})();this.createjs=this.createjs||{};
13 | (function(){var c=function(){this.initialize()},b=c.prototype;c.initialize=function(a){a.addEventListener=b.addEventListener;a.removeEventListener=b.removeEventListener;a.removeAllEventListeners=b.removeAllEventListeners;a.hasEventListener=b.hasEventListener;a.dispatchEvent=b.dispatchEvent};b._listeners=null;b.initialize=function(){};b.addEventListener=function(a,m){var b=this._listeners;b?this.removeEventListener(a,m):b=this._listeners={};var d=b[a];d||(d=b[a]=[]);d.push(m);return m};b.removeEventListener=
14 | function(a,m){var b=this._listeners;if(b){var d=b[a];if(d)for(var e=0,c=d.length;ec._times.length)return-1;null==a&&(a=c.getFPS()|0);a=Math.min(c._times.length-1,a);return 1E3/((c._times[0]-c._times[a])/a)};c.setPaused=function(a){c._paused=a};c.getPaused=function(){return c._paused};c.getTime=function(a){return c._getTime()-c._startTime-(a?c._pausedTime:0)};c.getTicks=function(a){return c._ticks-(a?
19 | c._pausedTicks:0)};c._handleAF=function(){c._rafActive=!1;c._setupTick();c._getTime()-c._lastTime>=0.97*(c._interval-1)&&c._tick()};c._handleTimeout=function(){c.timeoutID=null;c._setupTick();c._tick()};c._setupTick=function(){if(!(c._rafActive||null!=c.timeoutID)){if(c.useRAF){var a=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame;if(a){a(c._handleAF);c._rafActive=!0;return}}c.timeoutID=
20 | setTimeout(c._handleTimeout,c._interval)}};c._tick=function(){var a=c._getTime();c._ticks++;var m=a-c._lastTime,b=c._paused;b&&(c._pausedTicks++,c._pausedTime+=m);c._lastTime=a;for(var d=c._pauseable,e=c._listeners.slice(),f=e?e.length:0,h=0;hthis.a&&0<=this.d&&(a.rotation+=0>=a.rotation?180:-180),a.skewX=a.skewY=
30 | 0):(a.skewX=b/c.DEG_TO_RAD,a.skewY=g/c.DEG_TO_RAD);return a};b.reinitialize=function(a,b,g,d,c,f,h,k,j){this.initialize(a,b,g,d,c,f);this.alpha=h||1;this.shadow=k;this.compositeOperation=j;return this};b.appendProperties=function(a,b,g){this.alpha*=a;this.shadow=b||this.shadow;this.compositeOperation=g||this.compositeOperation;return this};b.prependProperties=function(a,b,g){this.alpha*=a;this.shadow=this.shadow||b;this.compositeOperation=this.compositeOperation||g;return this};b.clone=function(){var a=
31 | new c(this.a,this.b,this.c,this.d,this.tx,this.ty);a.shadow=this.shadow;a.alpha=this.alpha;a.compositeOperation=this.compositeOperation;return a};b.toString=function(){return"[Matrix2D (a="+this.a+" b="+this.b+" c="+this.c+" d="+this.d+" tx="+this.tx+" ty="+this.ty+")]"};c.identity=new c(1,0,0,1,0,0);createjs.Matrix2D=c})();this.createjs=this.createjs||{};(function(){var c=function(a,b){this.initialize(a,b)},b=c.prototype;b.x=0;b.y=0;b.initialize=function(a,b){this.x=null==a?0:a;this.y=null==b?0:b};b.clone=function(){return new c(this.x,this.y)};b.toString=function(){return"[Point (x="+this.x+" y="+this.y+")]"};createjs.Point=c})();this.createjs=this.createjs||{};(function(){var c=function(a,b,g,d){this.initialize(a,b,g,d)},b=c.prototype;b.x=0;b.y=0;b.width=0;b.height=0;b.initialize=function(a,b,g,d){this.x=null==a?0:a;this.y=null==b?0:b;this.width=null==g?0:g;this.height=null==d?0:d};b.clone=function(){return new c(this.x,this.y,this.width,this.height)};b.toString=function(){return"[Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")]"};createjs.Rectangle=c})();this.createjs=this.createjs||{};
32 | (function(){var c=function(a,b,g,d,c,f,h){this.initialize(a,b,g,d,c,f,h)},b=c.prototype;b.target=null;b.overLabel=null;b.outLabel=null;b.downLabel=null;b.play=!1;b._isPressed=!1;b._isOver=!1;b.initialize=function(a,b,g,d,c,f,h){a.addEventListener&&(this.target=a,a.cursor="pointer",this.overLabel=null==g?"over":g,this.outLabel=null==b?"out":b,this.downLabel=null==d?"down":d,this.play=c,this.setEnabled(!0),this.handleEvent({}),f&&(h&&(f.actionsEnabled=!1,f.gotoAndStop&&f.gotoAndStop(h)),a.hitArea=f))};
33 | b.setEnabled=function(a){var b=this.target;a?(b.addEventListener("mouseover",this),b.addEventListener("mouseout",this),b.addEventListener("mousedown",this)):(b.removeEventListener("mouseover",this),b.removeEventListener("mouseout",this),b.removeEventListener("mousedown",this))};b.toString=function(){return"[ButtonHelper]"};b.handleEvent=function(a){var b=this.target,g=a.type;"mousedown"==g?(a.addEventListener("mouseup",this),this._isPressed=!0,a=this.downLabel):"mouseup"==g?(this._isPressed=!1,a=
34 | this._isOver?this.overLabel:this.outLabel):"mouseover"==g?(this._isOver=!0,a=this._isPressed?this.downLabel:this.overLabel):(this._isOver=!1,a=this._isPressed?this.overLabel:this.outLabel);this.play?b.gotoAndPlay&&b.gotoAndPlay(a):b.gotoAndStop&&b.gotoAndStop(a)};createjs.ButtonHelper=c})();this.createjs=this.createjs||{};(function(){var c=function(a,b,g,d){this.initialize(a,b,g,d)},b=c.prototype;c.identity=null;b.color=null;b.offsetX=0;b.offsetY=0;b.blur=0;b.initialize=function(a,b,g,d){this.color=a;this.offsetX=b;this.offsetY=g;this.blur=d};b.toString=function(){return"[Shadow]"};b.clone=function(){return new c(this.color,this.offsetX,this.offsetY,this.blur)};c.identity=new c("transparent",0,0,0);createjs.Shadow=c})();this.createjs=this.createjs||{};
35 | (function(){var c=function(a){this.initialize(a)},b=c.prototype;b.complete=!0;b.onComplete=null;b.addEventListener=null;b.removeEventListener=null;b.removeAllEventListeners=null;b.dispatchEvent=null;b.hasEventListener=null;b._listeners=null;createjs.EventDispatcher.initialize(b);b._animations=null;b._frames=null;b._images=null;b._data=null;b._loadCount=0;b._frameHeight=0;b._frameWidth=0;b._numFrames=0;b._regX=0;b._regY=0;b.initialize=function(a){var b,g,d;if(null!=a){if(a.images&&0<(g=a.images.length)){d=
36 | this._images=[];for(b=0;bd.length||!1==a.next?null:null==a.next||!0==a.next?h:a.next;a.frequency||(a.frequency=1);this._animations.push(h);this._data[h]=a}}}};b.getNumFrames=function(a){if(null==a)return this._frames?this._frames.length:this._numFrames;a=this._data[a];return null==a?0:a.frames.length};b.getAnimations=function(){return this._animations.slice(0)};b.getAnimation=function(a){return this._data[a]};b.getFrame=function(a){var b;return this.complete&&this._frames&&(b=this._frames[a])?b:null};
39 | b.getFrameBounds=function(a){return(a=this.getFrame(a))?new createjs.Rectangle(-a.regX,-a.regY,a.rect.width,a.rect.height):null};b.toString=function(){return"[SpriteSheet]"};b.clone=function(){var a=new c;a.complete=this.complete;a._animations=this._animations;a._frames=this._frames;a._images=this._images;a._data=this._data;a._frameHeight=this._frameHeight;a._frameWidth=this._frameWidth;a._numFrames=this._numFrames;a._loadCount=this._loadCount;return a};b._handleImageLoad=function(){0==--this._loadCount&&
40 | (this._calculateFrames(),this.complete=!0,this.onComplete&&this.onComplete(),this.dispatchEvent("complete"))};b._calculateFrames=function(){if(!(this._frames||0==this._frameWidth)){this._frames=[];for(var a=0,b=this._frameWidth,g=this._frameHeight,d=0,c=this._images;d>8&255,a=a>>16&255);return null==c?"rgb("+a+","+b+","+d+")":"rgba("+a+","+b+","+d+","+c+")"};b.getHSL=function(a,b,d,c){return null==c?"hsl("+a%360+","+b+"%,"+d+"%)":"hsla("+a%360+","+b+"%,"+d+"%,"+c+")"};b.BASE_64={A:0,B:1,C:2,D:3,E:4,F:5,G:6,H:7,I:8,J:9,
43 | K:10,L:11,M:12,N:13,O:14,P:15,Q:16,R:17,S:18,T:19,U:20,V:21,W:22,X:23,Y:24,Z:25,a:26,b:27,c:28,d:29,e:30,f:31,g:32,h:33,i:34,j:35,k:36,l:37,m:38,n:39,o:40,p:41,q:42,r:43,s:44,t:45,u:46,v:47,w:48,x:49,y:50,z:51,"0":52,1:53,2:54,3:55,4:56,5:57,6:58,7:59,8:60,9:61,"+":62,"/":63};b.STROKE_CAPS_MAP=["butt","round","square"];b.STROKE_JOINTS_MAP=["miter","round","bevel"];b._ctx=(createjs.createCanvas?createjs.createCanvas():document.createElement("canvas")).getContext("2d");b.beginCmd=new c(b._ctx.beginPath,
44 | [],!1);b.fillCmd=new c(b._ctx.fill,[],!1);b.strokeCmd=new c(b._ctx.stroke,[],!1);a._strokeInstructions=null;a._strokeStyleInstructions=null;a._ignoreScaleStroke=!1;a._fillInstructions=null;a._instructions=null;a._oldInstructions=null;a._activeInstructions=null;a._active=!1;a._dirty=!1;a.initialize=function(){this.clear();this._ctx=b._ctx};a.isEmpty=function(){return!(this._instructions.length||this._oldInstructions.length||this._activeInstructions.length)};a.draw=function(a){this._dirty&&this._updateInstructions();
45 | for(var b=this._instructions,d=0,c=b.length;df&&(f*=n=-1);f>l&&(f=l);0>h&&(h*=q=-1);h>l&&(h=l);0>k&&(k*=p=-1);k>l&&(k=l);0>j&&(j*=s=-1);j>l&&(j=l);this._dirty=this._active=!0;var l=this._ctx.arcTo,r=this._ctx.lineTo;this._activeInstructions.push(new c(this._ctx.moveTo,[a+d-h,b]),new c(l,[a+d+h*q,b-h*q,a+d,b+h,h]),new c(r,[a+d,b+e-k]),new c(l,[a+d+k*p,b+e+k*p,a+d-k,b+e,k]),new c(r,[a+j,b+e]),new c(l,[a-j*s,b+e+j*s,a,b+e-j,j]),new c(r,[a,b+f]),new c(l,[a-f*n,b-f*n,a+f,b,f]),new c(this._ctx.closePath));return this};a.drawCircle=
54 | function(a,b,d){this.arc(a,b,d,0,2*Math.PI);return this};a.drawEllipse=function(a,b,d,e){this._dirty=this._active=!0;var f=0.5522848*(d/2),h=0.5522848*(e/2),k=a+d,j=b+e;d=a+d/2;e=b+e/2;this._activeInstructions.push(new c(this._ctx.moveTo,[a,e]),new c(this._ctx.bezierCurveTo,[a,e-h,d-f,b,d,b]),new c(this._ctx.bezierCurveTo,[d+f,b,k,e-h,k,e]),new c(this._ctx.bezierCurveTo,[k,e+h,d+f,j,d,j]),new c(this._ctx.bezierCurveTo,[d-f,j,a,e+h,a,e]));return this};a.drawPolyStar=function(a,b,d,e,f,h){this._dirty=
55 | this._active=!0;null==f&&(f=0);f=1-f;h=null==h?0:h/(180/Math.PI);var k=Math.PI/e;this._activeInstructions.push(new c(this._ctx.moveTo,[a+Math.cos(h)*d,b+Math.sin(h)*d]));for(var j=0;j>3,s=g[p];if(!s||q&3)throw"bad path data (@"+c+"): "+n;n=d[p];p||(k=j=0);h.length=0;c++;q=(q>>2&1)+2;for(p=0;p>5?-1:1,r=(r&31)<<6|l[a.charAt(c+1)];3==q&&(r=r<<6|l[a.charAt(c+2)]);r=u*r/10;p%2?k=r+=k:j=r+=j;h[p]=r;c+=q}s.apply(this,h)}return this};a.clone=function(){var a=new b;a._instructions=this._instructions.slice();a._activeInstructions=this._activeInstructions.slice();
57 | a._oldInstructions=this._oldInstructions.slice();this._fillInstructions&&(a._fillInstructions=this._fillInstructions.slice());this._strokeInstructions&&(a._strokeInstructions=this._strokeInstructions.slice());this._strokeStyleInstructions&&(a._strokeStyleInstructions=this._strokeStyleInstructions.slice());a._active=this._active;a._dirty=this._dirty;return a};a.toString=function(){return"[Graphics]"};a.mt=a.moveTo;a.lt=a.lineTo;a.at=a.arcTo;a.bt=a.bezierCurveTo;a.qt=a.quadraticCurveTo;a.a=a.arc;a.r=
58 | a.rect;a.cp=a.closePath;a.c=a.clear;a.f=a.beginFill;a.lf=a.beginLinearGradientFill;a.rf=a.beginRadialGradientFill;a.bf=a.beginBitmapFill;a.ef=a.endFill;a.ss=a.setStrokeStyle;a.s=a.beginStroke;a.ls=a.beginLinearGradientStroke;a.rs=a.beginRadialGradientStroke;a.bs=a.beginBitmapStroke;a.es=a.endStroke;a.dr=a.drawRect;a.rr=a.drawRoundRect;a.rc=a.drawRoundRectComplex;a.dc=a.drawCircle;a.de=a.drawEllipse;a.dp=a.drawPolyStar;a.p=a.decodePath;a._updateInstructions=function(){this._instructions=this._oldInstructions.slice();
59 | this._instructions.push(b.beginCmd);this._instructions.push.apply(this._instructions,this._activeInstructions);this._fillInstructions&&this._instructions.push.apply(this._instructions,this._fillInstructions);this._strokeInstructions&&(this._strokeStyleInstructions&&this._instructions.push.apply(this._instructions,this._strokeStyleInstructions),this._instructions.push.apply(this._instructions,this._strokeInstructions),this._ignoreScaleStroke?this._instructions.push(new c(this._ctx.save,[],!1),new c(this._ctx.setTransform,
60 | [1,0,0,1,0,0],!1),b.strokeCmd,new c(this._ctx.restore,[],!1)):this._instructions.push(b.strokeCmd))};a._newPath=function(){this._dirty&&this._updateInstructions();this._oldInstructions=this._instructions;this._activeInstructions=[];this._active=this._dirty=!1};a._setProp=function(a,b){this[a]=b};createjs.Graphics=b})();this.createjs=this.createjs||{};
61 | (function(){var c=function(){this.initialize()},b=c.prototype;c.suppressCrossDomainErrors=!1;c._hitTestCanvas=createjs.createCanvas?createjs.createCanvas():document.createElement("canvas");c._hitTestCanvas.width=c._hitTestCanvas.height=1;c._hitTestContext=c._hitTestCanvas.getContext("2d");c._nextCacheID=1;b.alpha=1;b.cacheCanvas=null;b.id=-1;b.mouseEnabled=!0;b.name=null;b.parent=null;b.regX=0;b.regY=0;b.rotation=0;b.scaleX=1;b.scaleY=1;b.skewX=0;b.skewY=0;b.shadow=null;b.visible=!0;b.x=0;b.y=0;b.compositeOperation=
62 | null;b.snapToPixel=!1;b.onPress=null;b.onClick=null;b.onDoubleClick=null;b.onMouseOver=null;b.onMouseOut=null;b.onTick=null;b.filters=null;b.cacheID=0;b.mask=null;b.hitArea=null;b.cursor=null;b.addEventListener=null;b.removeEventListener=null;b.removeAllEventListeners=null;b.dispatchEvent=null;b.hasEventListener=null;b._listeners=null;createjs.EventDispatcher.initialize(b);b._cacheOffsetX=0;b._cacheOffsetY=0;b._cacheScale=1;b._cacheDataURLID=0;b._cacheDataURL=null;b._matrix=null;b.initialize=function(){this.id=
63 | createjs.UID.get();this._matrix=new createjs.Matrix2D};b.isVisible=function(){return!(!this.visible||!(0d||d>this.children.length)return arguments[c-2];if(2a||a>this.children.length-
77 | 1)return!1;if(b=this.children[a])b.parent=null;this.children.splice(a,1);return!0};b.removeAllChildren=function(){for(var a=this.children;a.length;)a.pop().parent=null};b.getChildAt=function(a){return this.children[a]};b.getChildByName=function(a){for(var b=this.children,c=0,d=b.length;cb||b>=d)){for(var e=0;e=a)return;var b=this;this._mouseOverIntervalID=setInterval(function(){b._testMouseOver()},1E3/Math.min(50,a))};b.enableDOMEvents=function(a){null==a&&(a=!0);var b,c=this._eventListeners;if(!a&&c){for(b in c)a=c[b],a.t.removeEventListener(b,a.f);this._eventListeners=null}else if(a&&!c&&this.canvas){a=window.addEventListener?window:document;var d=this,c=this._eventListeners={};c.mouseup={t:a,f:function(a){d._handleMouseUp(a)}};
87 | c.mousemove={t:a,f:function(a){d._handleMouseMove(a)}};c.dblclick={t:a,f:function(a){d._handleDoubleClick(a)}};c.mousedown={t:this.canvas,f:function(a){d._handleMouseDown(a)}};for(b in c)a=c[b],a.t.addEventListener(b,a.f)}};b.clone=function(){var a=new c(null);this.cloneProps(a);return a};b.toString=function(){return"[Stage (name="+this.name+")]"};b._getPointerData=function(a){var b=this._pointerData[a];if(!b&&(b=this._pointerData[a]={x:0,y:0},null==this._primaryPointerID||-1==this._primaryPointerID))this._primaryPointerID=
88 | a;return b};b._handleMouseMove=function(a){a||(a=window.event);this._handlePointerMove(-1,a,a.pageX,a.pageY)};b._handlePointerMove=function(a,b,c,d){if(this.canvas){var e=this._getPointerData(a),f=e.inBounds;this._updatePointerPosition(a,c,d);if(f||e.inBounds||this.mouseMoveOutside){if(this.onMouseMove||this.hasEventListener("stagemousemove"))c=new createjs.MouseEvent("stagemousemove",e.x,e.y,this,b,a,a==this._primaryPointerID,e.rawX,e.rawY),this.onMouseMove&&this.onMouseMove(c),this.dispatchEvent(c);
89 | if((d=e.event)&&(d.onMouseMove||d.hasEventListener("mousemove")))c=new createjs.MouseEvent("mousemove",e.x,e.y,d.target,b,a,a==this._primaryPointerID,e.rawX,e.rawY),d.onMouseMove&&d.onMouseMove(c),d.dispatchEvent(c,d.target)}}};b._updatePointerPosition=function(a,b,c){var d=this._getElementRect(this.canvas);b-=d.left;c-=d.top;var e=this.canvas.width,f=this.canvas.height;b/=(d.right-d.left)/e;c/=(d.bottom-d.top)/f;d=this._getPointerData(a);(d.inBounds=0<=b&&0<=c&&b<=e-1&&c<=f-1)?(d.x=b,d.y=c):this.mouseMoveOutside&&
90 | (d.x=0>b?0:b>e-1?e-1:b,d.y=0>c?0:c>f-1?f-1:c);d.rawX=b;d.rawY=c;a==this._primaryPointerID&&(this.mouseX=d.x,this.mouseY=d.y,this.mouseInBounds=d.inBounds)};b._getElementRect=function(a){var b;try{b=a.getBoundingClientRect()}catch(c){b={top:a.offsetTop,left:a.offsetLeft,width:a.offsetWidth,height:a.offsetHeight}}var d=(window.pageXOffset||document.scrollLeft||0)-(document.clientLeft||document.body.clientLeft||0),e=(window.pageYOffset||document.scrollTop||0)-(document.clientTop||document.body.clientTop||
91 | 0),f=window.getComputedStyle?getComputedStyle(a):a.currentStyle;a=parseInt(f.paddingLeft)+parseInt(f.borderLeftWidth);var h=parseInt(f.paddingTop)+parseInt(f.borderTopWidth),k=parseInt(f.paddingRight)+parseInt(f.borderRightWidth),f=parseInt(f.paddingBottom)+parseInt(f.borderBottomWidth);return{left:b.left+d+a,right:b.right+d-k,top:b.top+e+h,bottom:b.bottom+e-f}};b._handleMouseUp=function(a){this._handlePointerUp(-1,a,!1)};b._handlePointerUp=function(a,b,c){var d=this._getPointerData(a),e;if(this.onMouseMove||
92 | this.hasEventListener("stagemouseup"))e=new createjs.MouseEvent("stagemouseup",d.x,d.y,this,b,a,a==this._primaryPointerID,d.rawX,d.rawY),this.onMouseUp&&this.onMouseUp(e),this.dispatchEvent(e);var f=d.event;if(f&&(f.onMouseUp||f.hasEventListener("mouseup")))e=new createjs.MouseEvent("mouseup",d.x,d.y,f.target,b,a,a==this._primaryPointerID,d.rawX,d.rawY),f.onMouseUp&&f.onMouseUp(e),f.dispatchEvent(e,f.target);if((f=d.target)&&(f.onClick||f.hasEventListener("click"))&&this._getObjectsUnderPoint(d.x,
93 | d.y,null,!0,this._mouseOverIntervalID?3:1)==f)e=new createjs.MouseEvent("click",d.x,d.y,f,b,a,a==this._primaryPointerID,d.rawX,d.rawY),f.onClick&&f.onClick(e),f.dispatchEvent(e);c?(a==this._primaryPointerID&&(this._primaryPointerID=null),delete this._pointerData[a]):d.event=d.target=null};b._handleMouseDown=function(a){this._handlePointerDown(-1,a,!1)};b._handlePointerDown=function(a,b,c,d){var e=this._getPointerData(a);null!=d&&this._updatePointerPosition(a,c,d);if(this.onMouseDown||this.hasEventListener("stagemousedown"))c=
94 | new createjs.MouseEvent("stagemousedown",e.x,e.y,this,b,a,a==this._primaryPointerID,e.rawX,e.rawY),this.onMouseDown&&this.onMouseDown(c),this.dispatchEvent(c);if(d=this._getObjectsUnderPoint(e.x,e.y,null,this._mouseOverIntervalID?3:1))if(e.target=d,d.onPress||d.hasEventListener("mousedown"))if(c=new createjs.MouseEvent("mousedown",e.x,e.y,d,b,a,a==this._primaryPointerID,e.rawX,e.rawY),d.onPress&&d.onPress(c),d.dispatchEvent(c),c.onMouseMove||c.onMouseUp||c.hasEventListener("mousemove")||c.hasEventListener("mouseup"))e.event=
95 | c};b._testMouseOver=function(){if(-1==this._primaryPointerID&&!(this.mouseX==this._mouseOverX&&this.mouseY==this._mouseOverY&&this.mouseInBounds)){var a=null;this.mouseInBounds&&(a=this._getObjectsUnderPoint(this.mouseX,this.mouseY,null,3),this._mouseOverX=this.mouseX,this._mouseOverY=this.mouseY);var b=this._mouseOverTarget;if(b!=a){var c=this._getPointerData(-1);if(b&&(b.onMouseOut||b.hasEventListener("mouseout"))){var d=new createjs.MouseEvent("mouseout",c.x,c.y,b,null,-1,c.rawX,c.rawY);b.onMouseOut&&
96 | b.onMouseOut(d);b.dispatchEvent(d)}b&&(this.canvas.style.cursor="");if(a&&(a.onMouseOver||a.hasEventListener("mouseover")))d=new createjs.MouseEvent("mouseover",c.x,c.y,a,null,-1,c.rawX,c.rawY),a.onMouseOver&&a.onMouseOver(d),a.dispatchEvent(d);a&&(this.canvas.style.cursor=a.cursor||"");this._mouseOverTarget=a}}};b._handleDoubleClick=function(a){var b=this._getPointerData(-1),c=this._getObjectsUnderPoint(b.x,b.y,null,this._mouseOverIntervalID?3:1);if(c&&(c.onDoubleClick||c.hasEventListener("dblclick")))evt=
97 | new createjs.MouseEvent("dblclick",b.x,b.y,c,a,-1,!0,b.rawX,b.rawY),c.onDoubleClick&&c.onDoubleClick(evt),c.dispatchEvent(evt)};createjs.Stage=c})();this.createjs=this.createjs||{};
98 | (function(){var c=function(a){this.initialize(a)},b=c.prototype=new createjs.DisplayObject;b.image=null;b.snapToPixel=!0;b.sourceRect=null;b.DisplayObject_initialize=b.initialize;b.initialize=function(a){this.DisplayObject_initialize();"string"==typeof a?(this.image=new Image,this.image.src=a):this.image=a};b.isVisible=function(){var a=this.cacheCanvas||this.image&&(this.image.complete||this.image.getContext||2<=this.image.readyState);return!(!this.visible||!(0=d){var e=a.next;this._dispatchAnimationEnd(a,b,c,e,d-1)||(e?this._goto(e):(this.paused=!0,this.currentAnimationFrame=a.frames.length-1,this.currentFrame=
104 | a.frames[this.currentAnimationFrame]))}else this.currentFrame=a.frames[this.currentAnimationFrame];else d=this.spriteSheet.getNumFrames(),b>=d&&!this._dispatchAnimationEnd(a,b,c,d-1)&&(this.currentFrame=0)};b._dispatchAnimationEnd=function(a,b,c,d,e){var f=a?a.name:null;this.onAnimationEnd&&this.onAnimationEnd(this,f,d);this.dispatchEvent({type:"animationend",name:f,next:d});!c&&this.paused&&(this.currentAnimationFrame=e);return this.paused!=c||this._animation!=a||this.currentFrame!=b};b.DisplayObject_cloneProps=
105 | b.cloneProps;b.cloneProps=function(a){this.DisplayObject_cloneProps(a);a.onAnimationEnd=this.onAnimationEnd;a.currentFrame=this.currentFrame;a.currentAnimation=this.currentAnimation;a.paused=this.paused;a.offset=this.offset;a._animation=this._animation;a.currentAnimationFrame=this.currentAnimationFrame};b._goto=function(a){if(isNaN(a)){var b=this.spriteSheet.getAnimation(a);b&&(this.currentAnimationFrame=0,this._animation=b,this.currentAnimation=a,this._normalizeFrame())}else this.currentAnimation=
106 | this._animation=null,this.currentFrame=a};createjs.BitmapAnimation=c})();this.createjs=this.createjs||{};
107 | (function(){var c=function(a){this.initialize(a)},b=c.prototype=new createjs.DisplayObject;b.graphics=null;b.DisplayObject_initialize=b.initialize;b.initialize=function(a){this.DisplayObject_initialize();this.graphics=a?a:new createjs.Graphics};b.isVisible=function(){var a=this.cacheCanvas||this.graphics&&!this.graphics.isEmpty();return!(!this.visible||!(0this.lineWidth?(b&&this._drawTextLine(a,j,e*d),e++,j=k[l+1]):j+=k[l]+k[l+1];b&&this._drawTextLine(a,j,e*d)}e++}return e};b._drawTextLine=function(a,b,c){this.outline?a.strokeText(b,0,c,this.maxWidth||65535):a.fillText(b,0,c,this.maxWidth||65535)};createjs.Text=c})();this.createjs=this.createjs||{};
114 | (function(){var c=function(){throw"SpriteSheetUtils cannot be instantiated";};c._workingCanvas=createjs.createCanvas?createjs.createCanvas():document.createElement("canvas");c._workingContext=c._workingCanvas.getContext("2d");c.addFlippedFrames=function(b,a,m,g){if(a||m||g){var d=0;a&&c._flip(b,++d,!0,!1);m&&c._flip(b,++d,!1,!0);g&&c._flip(b,++d,!0,!0)}};c.extractFrame=function(b,a){isNaN(a)&&(a=b.getAnimation(a).frames[0]);var m=b.getFrame(a);if(!m)return null;var g=m.rect,d=c._workingCanvas;d.width=
115 | g.width;d.height=g.height;c._workingContext.drawImage(m.image,g.x,g.y,g.width,g.height,0,0,g.width,g.height);m=new Image;m.src=d.toDataURL("image/png");return m};c.mergeAlpha=function(b,a,c){c||(c=createjs.createCanvas?createjs.createCanvas():document.createElement("canvas"));c.width=Math.max(a.width,b.width);c.height=Math.max(a.height,b.height);var g=c.getContext("2d");g.save();g.drawImage(b,0,0);g.globalCompositeOperation="destination-in";g.drawImage(a,0,0);g.restore();return c};c._flip=function(b,
116 | a,m,g){for(var d=b._images,e=c._workingCanvas,f=c._workingContext,h=d.length/a,k=0;kthis.maxHeight)throw c.ERR_DIMENSIONS;for(var d=0,e=0,f=0;g.length;){var h=this._fillRow(g,d,f,b,a);h.w>e&&(e=h.w);d+=h.h;if(!h.h||!g.length){var k=createjs.createCanvas?createjs.createCanvas():document.createElement("canvas");k.width=this._getSize(e,this.maxWidth);k.height=this._getSize(d,this.maxHeight);this._data.images[f]=k;h.h||(e=d=0,f++)}}};b._getSize=function(a,b){for(var c=4;Math.pow(2,++c)f)throw c.ERR_DIMENSIONS;t>h||k+p>f||(n.img=g,n.rect=new createjs.Rectangle(k,b,p,t),j=j||t,a.splice(l,1),d[n.index]=[k,b,p,t,g,Math.round(-r+q*s.regX-e),Math.round(-u+q*s.regY-e)],k+=p)}return{w:k,h:j}};b._endBuild=function(){this.spriteSheet=new createjs.SpriteSheet(this._data);
125 | this._data=null;this.progress=1;this.onComplete&&this.onComplete(this);this.dispatchEvent("complete")};b._run=function(){for(var a=50*Math.max(0.01,Math.min(0.99,this.timeSlice||0.3)),b=(new Date).getTime()+a,c=!1;b>(new Date).getTime();)if(!this._drawNext()){c=!0;break}if(c)this._endBuild();else{var d=this;this._timerID=setTimeout(function(){d._run()},50-a)}a=this.progress=this._index/this._frames.length;this.onProgress&&this.onProgress(this,a);this.dispatchEvent({type:"progress",progress:a})};b._drawNext=
126 | function(){var a=this._frames[this._index],b=a.scale*this._scale,c=a.rect,d=a.sourceRect,e=this._data.images[a.img].getContext("2d");a.funct&&a.funct.apply(a.scope,a.params);e.save();e.beginPath();e.rect(c.x,c.y,c.width,c.height);e.clip();e.translate(Math.ceil(c.x-d.x*b),Math.ceil(c.y-d.y*b));e.scale(b,b);a.source.draw(e);e.restore();return++this._index").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;ca",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o=""+"",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
3 | f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,""],thead:[1,""],tr:[2,""],td:[3,""],col:[2,""],area:[1,""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
4 | {for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>$2>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/