##// END OF EJS Templates
reveal converter
Matthias BUSSONNIER -
Show More
@@ -0,0 +1,10 b''
1 c = get_config()
2
3
4 c.ConverterTemplate.extract_figures=False
5 c.ConverterTemplate.template_file='reveal'
6 c.ConverterTemplate.tex_environement=False
7
8 c.NbconvertApp.fileext='html'
9
10 c.ExtractFigureTransformer.enabled = False
This diff has been collapsed as it changes many lines, (1514 lines changed) Show them Hide them
@@ -0,0 +1,1514 b''
1 {
2 "metadata": {
3 "name": "00_notebook_tour"
4 },
5 "nbformat": 3,
6 "nbformat_minor": 0,
7 "worksheets": [
8 {
9 "cells": [
10 {
11 "cell_type": "markdown",
12 "metadata": {
13 "slideshow": {
14 "slide_type": "slide"
15 }
16 },
17 "source": [
18 "# A brief tour of the IPython notebook\n",
19 "\n",
20 "This document will give you a brief tour of the capabilities of the IPython notebook. \n",
21 "You can view its contents by scrolling around, or execute each cell by typing `Shift-Enter`.\n",
22 "After you conclude this brief high-level tour, you should read the accompanying notebook \n",
23 "titled `01_notebook_introduction`, which takes a more step-by-step approach to the features of the\n",
24 "system. \n",
25 "\n",
26 "The rest of the notebooks in this directory illustrate various other aspects and \n",
27 "capabilities of the IPython notebook; some of them may require additional libraries to be executed."
28 ]
29 },
30 {
31 "cell_type": "markdown",
32 "metadata": {
33 "slideshow": {
34 "slide_type": "notes"
35 }
36 },
37 "source": [
38 "**NOTE:** This notebook *must* be run from its own directory, so you must ``cd``\n",
39 "to this directory and then start the notebook, but do *not* use the ``--notebook-dir``\n",
40 "option to run it from another location.\n",
41 "\n",
42 "The first thing you need to know is that you are still controlling the same old IPython you're used to,\n",
43 "so things like shell aliases and magic commands still work:"
44 ]
45 },
46 {
47 "cell_type": "code",
48 "collapsed": false,
49 "input": [
50 "pwd"
51 ],
52 "language": "python",
53 "metadata": {
54 "slideshow": {
55 "slide_type": "slide"
56 }
57 },
58 "outputs": [
59 {
60 "output_type": "pyout",
61 "prompt_number": 1,
62 "text": [
63 "u'/Users/minrk/dev/ip/mine/docs/examples/notebooks'"
64 ]
65 }
66 ],
67 "prompt_number": 1
68 },
69 {
70 "cell_type": "code",
71 "collapsed": false,
72 "input": [
73 "ls"
74 ],
75 "language": "python",
76 "metadata": {},
77 "outputs": [
78 {
79 "output_type": "stream",
80 "stream": "stdout",
81 "text": [
82 "00_notebook_tour.ipynb callbacks.ipynb python-logo.svg\r\n",
83 "01_notebook_introduction.ipynb cython_extension.ipynb rmagic_extension.ipynb\r\n",
84 "Animations_and_Progress.ipynb display_protocol.ipynb sympy.ipynb\r\n",
85 "Capturing Output.ipynb formatting.ipynb sympy_quantum_computing.ipynb\r\n",
86 "Script Magics.ipynb octavemagic_extension.ipynb trapezoid_rule.ipynb\r\n",
87 "animation.m4v progbar.ipynb\r\n"
88 ]
89 }
90 ],
91 "prompt_number": 2
92 },
93 {
94 "cell_type": "code",
95 "collapsed": false,
96 "input": [
97 "message = 'The IPython notebook is great!'\n",
98 "# note: the echo command does not run on Windows, it's a unix command.\n",
99 "!echo $message"
100 ],
101 "language": "python",
102 "metadata": {},
103 "outputs": [
104 {
105 "output_type": "stream",
106 "stream": "stdout",
107 "text": [
108 "The IPython notebook is great!\r\n"
109 ]
110 }
111 ],
112 "prompt_number": 3
113 },
114 {
115 "cell_type": "heading",
116 "level": 2,
117 "metadata": {
118 "slideshow": {
119 "slide_type": "slide"
120 }
121 },
122 "source": [
123 "Plots with matplotlib"
124 ]
125 },
126 {
127 "cell_type": "markdown",
128 "metadata": {},
129 "source": [
130 "IPython adds an 'inline' matplotlib backend,\n",
131 "which embeds any matplotlib figures into the notebook."
132 ]
133 },
134 {
135 "cell_type": "code",
136 "collapsed": false,
137 "input": [
138 "%pylab inline"
139 ],
140 "language": "python",
141 "metadata": {},
142 "outputs": [
143 {
144 "output_type": "stream",
145 "stream": "stdout",
146 "text": [
147 "\n",
148 "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n",
149 "For more information, type 'help(pylab)'.\n"
150 ]
151 }
152 ],
153 "prompt_number": 4
154 },
155 {
156 "cell_type": "code",
157 "collapsed": false,
158 "input": [
159 "x = linspace(0, 3*pi, 500)\n",
160 "plot(x, sin(x**2))\n",
161 "title('A simple chirp');"
162 ],
163 "language": "python",
164 "metadata": {},
165 "outputs": [
166 {
167 "output_type": "display_data",
168 "png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztfXt0VdWd/+fmwSvhlUDeAcSECREFFWtLi8YKWlBTrS8c\nq1StZVppO21XZ3XNrJnqmqmF6XSpa9EquqYVOlZp+6tCUfHZKK2ltIpohcqjonnwCOQBeSc35/fH\n7s49OTmP/Tzn3GR/1sqCJGc/7s09n/05n+93f3fCsiwLBgYGBgZjAhlRT8DAwMDAIDwY0jcwMDAY\nQzCkb2BgYDCGYEjfwMDAYAzBkL6BgYHBGIIhfQMDA4MxBEP6BmmPJ554AldeeaWWvr/whS/g3//9\n35X2ee+99+K2227z/P2CBQvw+uuvKx3TwIDCkL5B5KipqUFeXh76+vqE2t9666144YUXFM+KIJFI\nIJFIKO/TD3/5y19wySWXKB3TwIDCkL5BpDhy5Ah2796NgoICbNu2LerpuEL1/kWZ/pLJpMKZGIxF\nGNI3iBSbN2/GsmXLcNttt2HTpk2+1z7++OM4++yzMWXKFMydOxc///nPh36+dOnSoesyMjLw8MMP\no7KyElOmTMF//Md/4PDhw/jEJz6BadOmYdWqVejv7wcA1NXVoaysDN///vcxc+ZMnHXWWUP9umH7\n9u1YtGgRpk+fjk9+8pN49913Pa997733sHz5cuTn56OoqAjf//73ARCl39fXh9WrV2PKlClYsGAB\n3nzzzaF2c+bMwauvvgqAWEE33HADbrvtNkydOhWPP/740M9WrVqFKVOm4MILL8Q777wT8E4bGBAY\n0jeIFJs3b8bNN9+Mm266CS+88AJOnDjhel1nZye+/vWvY8eOHTh9+jT+8Ic/YNGiRZ79vvjii9iz\nZw927dqF9evX4+6778aTTz6Jjz76CO+++y6efPLJoWuPHz+OU6dOoampCZs2bcKXvvQlHDx4cESf\ne/bswV133YXHHnsMLS0tWLNmDWpra11tqTNnzmDZsmVYuXIljh49ikOHDuHyyy8HQJT+tm3bcMst\nt6C9vR21tbVYu3btUFun/bNt2zbceOONaG9vx6233jr0s5tuugmtra34x3/8R1x77bUYGBjweacN\nDAgM6RtEht/97ndobGxEbW0tKisrUV1d7auyMzIy8O6776K7uxuFhYWorq72vPZf/uVfkJubi+rq\n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\n"
169 }
170 ],
171 "prompt_number": 5
172 },
173 {
174 "cell_type": "markdown",
175 "metadata": {
176 "slideshow": {
177 "slide_type": "subslide"
178 }
179 },
180 "source": [
181 "You can paste blocks of input with prompt markers, such as those from\n",
182 "[the official Python tutorial](http://docs.python.org/tutorial/interpreter.html#interactive-mode)"
183 ]
184 },
185 {
186 "cell_type": "code",
187 "collapsed": false,
188 "input": [
189 ">>> the_world_is_flat = 1\n",
190 ">>> if the_world_is_flat:\n",
191 "... print \"Be careful not to fall off!\""
192 ],
193 "language": "python",
194 "metadata": {},
195 "outputs": [
196 {
197 "output_type": "stream",
198 "stream": "stdout",
199 "text": [
200 "Be careful not to fall off!\n"
201 ]
202 }
203 ],
204 "prompt_number": 6
205 },
206 {
207 "cell_type": "markdown",
208 "metadata": {
209 "slideshow": {
210 "slide_type": "subslide"
211 }
212 },
213 "source": [
214 "Errors are shown in informative ways:"
215 ]
216 },
217 {
218 "cell_type": "code",
219 "collapsed": false,
220 "input": [
221 "%run non_existent_file"
222 ],
223 "language": "python",
224 "metadata": {},
225 "outputs": [
226 {
227 "output_type": "stream",
228 "stream": "stderr",
229 "text": [
230 "ERROR: File `u'non_existent_file.py'` not found."
231 ]
232 }
233 ],
234 "prompt_number": 7
235 },
236 {
237 "cell_type": "code",
238 "collapsed": false,
239 "input": [
240 "x = 1\n",
241 "y = 4\n",
242 "z = y/(1-x)"
243 ],
244 "language": "python",
245 "metadata": {},
246 "outputs": [
247 {
248 "ename": "ZeroDivisionError",
249 "evalue": "integer division or modulo by zero",
250 "output_type": "pyerr",
251 "traceback": [
252 "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mZeroDivisionError\u001b[0m Traceback (most recent call last)",
253 "\u001b[1;32m<ipython-input-8-dc39888fd1d2>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m4\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mz\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
254 "\u001b[1;31mZeroDivisionError\u001b[0m: integer division or modulo by zero"
255 ]
256 }
257 ],
258 "prompt_number": 8
259 },
260 {
261 "cell_type": "markdown",
262 "metadata": {
263 "slideshow": {
264 "slide_type": "subslide"
265 }
266 },
267 "source": [
268 "When IPython needs to display additional information (such as providing details on an object via `x?`\n",
269 "it will automatically invoke a pager at the bottom of the screen:"
270 ]
271 },
272 {
273 "cell_type": "code",
274 "collapsed": false,
275 "input": [
276 "magic"
277 ],
278 "language": "python",
279 "metadata": {
280 "slideshow": {
281 "slide_type": "fragment"
282 }
283 },
284 "outputs": [],
285 "prompt_number": 18
286 },
287 {
288 "cell_type": "markdown",
289 "metadata": {
290 "slideshow": {
291 "slide_type": "slide"
292 }
293 },
294 "source": [
295 "## Non-blocking output of kernel\n",
296 "\n",
297 "If you execute the next cell, you will see the output arriving as it is generated, not all at the end."
298 ]
299 },
300 {
301 "cell_type": "code",
302 "collapsed": false,
303 "input": [
304 "import time, sys\n",
305 "for i in range(8):\n",
306 " print i,\n",
307 " time.sleep(0.5)"
308 ],
309 "language": "python",
310 "metadata": {},
311 "outputs": [
312 {
313 "output_type": "stream",
314 "stream": "stdout",
315 "text": [
316 "0 "
317 ]
318 },
319 {
320 "output_type": "stream",
321 "stream": "stdout",
322 "text": [
323 "1 "
324 ]
325 },
326 {
327 "output_type": "stream",
328 "stream": "stdout",
329 "text": [
330 "2 "
331 ]
332 },
333 {
334 "output_type": "stream",
335 "stream": "stdout",
336 "text": [
337 "3 "
338 ]
339 },
340 {
341 "output_type": "stream",
342 "stream": "stdout",
343 "text": [
344 "4 "
345 ]
346 },
347 {
348 "output_type": "stream",
349 "stream": "stdout",
350 "text": [
351 "5 "
352 ]
353 },
354 {
355 "output_type": "stream",
356 "stream": "stdout",
357 "text": [
358 "6 "
359 ]
360 },
361 {
362 "output_type": "stream",
363 "stream": "stdout",
364 "text": [
365 "7\n"
366 ]
367 }
368 ],
369 "prompt_number": 19
370 },
371 {
372 "cell_type": "markdown",
373 "metadata": {
374 "slideshow": {
375 "slide_type": "slide"
376 }
377 },
378 "source": [
379 "## Clean crash and restart\n",
380 "\n",
381 "We call the low-level system libc.time routine with the wrong argument via\n",
382 "ctypes to segfault the Python interpreter:"
383 ]
384 },
385 {
386 "cell_type": "code",
387 "collapsed": false,
388 "input": [
389 "import sys\n",
390 "from ctypes import CDLL\n",
391 "# This will crash a Linux or Mac system; equivalent calls can be made on Windows\n",
392 "dll = 'dylib' if sys.platform == 'darwin' else '.so.6'\n",
393 "libc = CDLL(\"libc.%s\" % dll) \n",
394 "libc.time(-1) # BOOM!!"
395 ],
396 "language": "python",
397 "metadata": {},
398 "outputs": [],
399 "prompt_number": "*"
400 },
401 {
402 "cell_type": "markdown",
403 "metadata": {
404 "slideshow": {
405 "slide_type": "slide"
406 }
407 },
408 "source": [
409 "## Markdown cells can contain formatted text and code\n",
410 "\n",
411 "You can *italicize*, **boldface**\n",
412 "\n",
413 "* build\n",
414 "* lists\n",
415 "\n",
416 "and embed code meant for illustration instead of execution in Python:\n",
417 "\n",
418 " def f(x):\n",
419 " \"\"\"a docstring\"\"\"\n",
420 " return x**2\n",
421 "\n",
422 "or other languages:\n",
423 "\n",
424 " if (i=0; i<n; i++) {\n",
425 " printf(\"hello %d\\n\", i);\n",
426 " x += 4;\n",
427 " }"
428 ]
429 },
430 {
431 "cell_type": "markdown",
432 "metadata": {
433 "slideshow": {
434 "slide_type": "subslide"
435 }
436 },
437 "source": [
438 "Courtesy of MathJax, you can include mathematical expressions both inline: \n",
439 "$e^{i\\pi} + 1 = 0$ and displayed:\n",
440 "\n",
441 "$$e^x=\\sum_{i=0}^\\infty \\frac{1}{i!}x^i$$"
442 ]
443 },
444 {
445 "cell_type": "markdown",
446 "metadata": {
447 "slideshow": {
448 "slide_type": "slide"
449 }
450 },
451 "source": [
452 "## Rich displays: include anyting a browser can show\n",
453 "\n",
454 "Note that we have an actual protocol for this, see the `display_protocol` notebook for further details.\n",
455 "\n",
456 "### Images"
457 ]
458 },
459 {
460 "cell_type": "code",
461 "collapsed": false,
462 "input": [
463 "from IPython.display import Image\n",
464 "Image(filename='../../source/_static/logo.png')"
465 ],
466 "language": "python",
467 "metadata": {},
468 "outputs": [
469 {
470 "output_type": "pyout",
471 "png": "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\n",
472 "prompt_number": 1,
473 "text": [
474 "<IPython.core.display.Image at 0x10faeafd0>"
475 ]
476 }
477 ],
478 "prompt_number": 1
479 },
480 {
481 "cell_type": "markdown",
482 "metadata": {
483 "slideshow": {
484 "slide_type": "subslide"
485 }
486 },
487 "source": [
488 "An image can also be displayed from raw data or a url"
489 ]
490 },
491 {
492 "cell_type": "code",
493 "collapsed": false,
494 "input": [
495 "Image(url='http://python.org/images/python-logo.gif')"
496 ],
497 "language": "python",
498 "metadata": {},
499 "outputs": [
500 {
501 "html": [
502 "<img src=\"http://python.org/images/python-logo.gif\" />"
503 ],
504 "output_type": "pyout",
505 "prompt_number": 2,
506 "text": [
507 "<IPython.core.display.Image at 0x1060e7410>"
508 ]
509 }
510 ],
511 "prompt_number": 2
512 },
513 {
514 "cell_type": "markdown",
515 "metadata": {
516 "slideshow": {
517 "slide_type": "skip"
518 }
519 },
520 "source": [
521 "SVG images are also supported out of the box (since modern browsers do a good job of rendering them):"
522 ]
523 },
524 {
525 "cell_type": "code",
526 "collapsed": false,
527 "input": [
528 "from IPython.display import SVG\n",
529 "SVG(filename='python-logo.svg')"
530 ],
531 "language": "python",
532 "metadata": {
533 "slideshow": {
534 "slide_type": "skip"
535 }
536 },
537 "outputs": [
538 {
539 "output_type": "pyout",
540 "prompt_number": 3,
541 "svg": [
542 "<svg height=\"115.02pt\" id=\"svg2\" inkscape:version=\"0.43\" sodipodi:docbase=\"/home/sdeibel\" sodipodi:docname=\"logo-python-generic.svg\" sodipodi:version=\"0.32\" version=\"1.0\" width=\"388.84pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:cc=\"http://web.resource.org/cc/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:sodipodi=\"http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
543 " <metadata id=\"metadata2193\">\n",
544 " <rdf:RDF>\n",
545 " <cc:Work rdf:about=\"\">\n",
546 " <dc:format>image/svg+xml</dc:format>\n",
547 " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
548 " </cc:Work>\n",
549 " </rdf:RDF>\n",
550 " </metadata>\n",
551 " <sodipodi:namedview bordercolor=\"#666666\" borderopacity=\"1.0\" id=\"base\" inkscape:current-layer=\"svg2\" inkscape:cx=\"243.02499\" inkscape:cy=\"71.887497\" inkscape:pageopacity=\"0.0\" inkscape:pageshadow=\"2\" inkscape:window-height=\"543\" inkscape:window-width=\"791\" inkscape:window-x=\"0\" inkscape:window-y=\"0\" inkscape:zoom=\"1.4340089\" pagecolor=\"#ffffff\"/>\n",
552 " <defs id=\"defs4\">\n",
553 " <linearGradient id=\"linearGradient2795\">\n",
554 " <stop id=\"stop2797\" offset=\"0\" style=\"stop-color:#b8b8b8;stop-opacity:0.49803922\"/>\n",
555 " <stop id=\"stop2799\" offset=\"1\" style=\"stop-color:#7f7f7f;stop-opacity:0\"/>\n",
556 " </linearGradient>\n",
557 " <linearGradient id=\"linearGradient2787\">\n",
558 " <stop id=\"stop2789\" offset=\"0\" style=\"stop-color:#7f7f7f;stop-opacity:0.5\"/>\n",
559 " <stop id=\"stop2791\" offset=\"1\" style=\"stop-color:#7f7f7f;stop-opacity:0\"/>\n",
560 " </linearGradient>\n",
561 " <linearGradient id=\"linearGradient3676\">\n",
562 " <stop id=\"stop3678\" offset=\"0\" style=\"stop-color:#b2b2b2;stop-opacity:0.5\"/>\n",
563 " <stop id=\"stop3680\" offset=\"1\" style=\"stop-color:#b3b3b3;stop-opacity:0\"/>\n",
564 " </linearGradient>\n",
565 " <linearGradient id=\"linearGradient3236\">\n",
566 " <stop id=\"stop3244\" offset=\"0\" style=\"stop-color:#f4f4f4;stop-opacity:1\"/>\n",
567 " <stop id=\"stop3240\" offset=\"1\" style=\"stop-color:#ffffff;stop-opacity:1\"/>\n",
568 " </linearGradient>\n",
569 " <linearGradient id=\"linearGradient4671\">\n",
570 " <stop id=\"stop4673\" offset=\"0\" style=\"stop-color:#ffd43b;stop-opacity:1\"/>\n",
571 " <stop id=\"stop4675\" offset=\"1\" style=\"stop-color:#ffe873;stop-opacity:1\"/>\n",
572 " </linearGradient>\n",
573 " <linearGradient id=\"linearGradient4689\">\n",
574 " <stop id=\"stop4691\" offset=\"0\" style=\"stop-color:#5a9fd4;stop-opacity:1\"/>\n",
575 " <stop id=\"stop4693\" offset=\"1\" style=\"stop-color:#306998;stop-opacity:1\"/>\n",
576 " </linearGradient>\n",
577 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2987\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
578 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2990\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>\n",
579 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2587\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>\n",
580 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2589\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
581 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2248\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>\n",
582 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2250\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
583 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2255\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
584 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2258\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"76.176224\" y2=\"76.313133\"/>\n",
585 " <radialGradient cx=\"61.518883\" cy=\"132.28575\" fx=\"61.518883\" fy=\"132.28575\" gradientTransform=\"matrix(1,0,0,0.177966,0,108.7434)\" gradientUnits=\"userSpaceOnUse\" id=\"radialGradient2801\" r=\"29.036913\" xlink:href=\"#linearGradient2795\"/>\n",
586 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient1475\" x1=\"150.96111\" x2=\"112.03144\" xlink:href=\"#linearGradient4671\" y1=\"192.35176\" y2=\"137.27299\"/>\n",
587 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient1478\" x1=\"26.648937\" x2=\"135.66525\" xlink:href=\"#linearGradient4689\" y1=\"20.603781\" y2=\"114.39767\"/>\n",
588 " <radialGradient cx=\"61.518883\" cy=\"132.28575\" fx=\"61.518883\" fy=\"132.28575\" gradientTransform=\"matrix(2.382716e-8,-0.296405,1.43676,4.683673e-7,-128.544,150.5202)\" gradientUnits=\"userSpaceOnUse\" id=\"radialGradient1480\" r=\"29.036913\" xlink:href=\"#linearGradient2795\"/>\n",
589 " </defs>\n",
590 " <g id=\"g2303\">\n",
591 " <path d=\"M 184.61344,61.929363 C 184.61344,47.367213 180.46118,39.891193 172.15666,39.481813 C 168.85239,39.325863 165.62611,39.852203 162.48754,41.070593 C 159.98254,41.967323 158.2963,42.854313 157.40931,43.751043 L 157.40931,78.509163 C 162.72147,81.842673 167.43907,83.392453 171.55234,83.148783 C 180.25649,82.573703 184.61344,75.507063 184.61344,61.929363 z M 194.85763,62.533683 C 194.85763,69.931723 193.12265,76.072393 189.63319,80.955683 C 185.7441,86.482283 180.35396,89.328433 173.46277,89.484393 C 168.26757,89.650093 162.91642,88.022323 157.40931,84.610843 L 157.40931,116.20116 L 148.50047,113.02361 L 148.50047,42.903043 C 149.96253,41.109583 151.84372,39.569543 154.12454,38.263433 C 159.42696,35.173603 165.86978,33.584823 173.45302,33.506853 L 173.57973,33.633563 C 180.50991,33.545833 185.85132,36.391993 189.60395,42.162263 C 193.10315,47.454933 194.85763,54.238913 194.85763,62.533683 z \" id=\"path46\" style=\"fill:#646464;fill-opacity:1\"/>\n",
592 " <path d=\"M 249.30487,83.265743 C 249.30487,93.188283 248.31067,100.05998 246.32227,103.88084 C 244.32411,107.7017 240.52275,110.75254 234.90842,113.02361 C 230.35653,114.81707 225.43425,115.79178 220.15133,115.95748 L 218.67952,110.34316 C 224.05016,109.61213 227.83204,108.88109 230.02513,108.15006 C 234.34309,106.688 237.30621,104.44617 238.93397,101.44406 C 240.24008,98.997543 240.88339,94.328693 240.88339,87.418003 L 240.88339,85.098203 C 234.79146,87.866373 228.40711,89.240713 221.73036,89.240713 C 217.34417,89.240713 213.47457,87.866373 210.14107,85.098203 C 206.39818,82.086343 204.52674,78.265483 204.52674,73.635623 L 204.52674,36.557693 L 213.43558,33.506853 L 213.43558,70.828453 C 213.43558,74.815013 214.7222,77.885353 217.29543,80.039463 C 219.86866,82.193563 223.20217,83.226753 227.2862,83.148783 C 231.37023,83.061053 235.74667,81.482023 240.39603,78.392203 L 240.39603,34.851953 L 249.30487,34.851953 L 249.30487,83.265743 z \" id=\"path48\" style=\"fill:#646464;fill-opacity:1\"/>\n",
593 " <path d=\"M 284.08249,88.997033 C 283.02006,89.084753 282.04535,89.123743 281.14862,89.123743 C 276.10937,89.123743 272.18129,87.924853 269.37413,85.517323 C 266.57671,83.109793 265.17314,79.786033 265.17314,75.546053 L 265.17314,40.456523 L 259.07146,40.456523 L 259.07146,34.851953 L 265.17314,34.851953 L 265.17314,19.968143 L 274.07223,16.800333 L 274.07223,34.851953 L 284.08249,34.851953 L 284.08249,40.456523 L 274.07223,40.456523 L 274.07223,75.302373 C 274.07223,78.645623 274.96896,81.014163 276.76243,82.398253 C 278.30247,83.538663 280.74899,84.191723 284.08249,84.357423 L 284.08249,88.997033 z \" id=\"path50\" style=\"fill:#646464;fill-opacity:1\"/>\n",
594 " <path d=\"M 338.02288,88.266003 L 329.11404,88.266003 L 329.11404,53.878273 C 329.11404,50.379063 328.29528,47.367213 326.66753,44.852463 C 324.78634,42.006313 322.17411,40.583233 318.82112,40.583233 C 314.73708,40.583233 309.6296,42.737343 303.4987,47.045563 L 303.4987,88.266003 L 294.58985,88.266003 L 294.58985,6.0687929 L 303.4987,3.2616329 L 303.4987,40.700203 C 309.191,36.557693 315.40963,34.481563 322.16436,34.481563 C 326.88196,34.481563 330.70282,36.070333 333.62694,39.238143 C 336.56082,42.405943 338.02288,46.353513 338.02288,51.071103 L 338.02288,88.266003 L 338.02288,88.266003 z \" id=\"path52\" style=\"fill:#646464;fill-opacity:1\"/>\n",
595 " <path d=\"M 385.37424,60.525783 C 385.37424,54.930953 384.31182,50.310833 382.19669,46.655673 C 379.68195,42.201253 375.77337,39.852203 370.49044,39.608523 C 360.72386,40.173863 355.85032,47.172273 355.85032,60.584263 C 355.85032,66.734683 356.86401,71.871393 358.91089,75.994413 C 361.52312,81.248093 365.44145,83.840823 370.66589,83.753103 C 380.47146,83.675123 385.37424,75.935933 385.37424,60.525783 z M 395.13109,60.584263 C 395.13109,68.547643 393.09395,75.175663 389.02941,80.468333 C 384.5555,86.394563 378.37584,89.367423 370.49044,89.367423 C 362.67328,89.367423 356.58135,86.394563 352.18541,80.468333 C 348.19885,75.175663 346.21044,68.547643 346.21044,60.584263 C 346.21044,53.098503 348.36455,46.801883 352.67276,41.674913 C 357.22466,36.236033 363.20937,33.506853 370.6074,33.506853 C 378.00545,33.506853 384.02914,36.236033 388.66877,41.674913 C 392.97697,46.801883 395.13109,53.098503 395.13109,60.584263 z \" id=\"path54\" style=\"fill:#646464;fill-opacity:1\"/>\n",
596 " <path d=\"M 446.20583,88.266003 L 437.29699,88.266003 L 437.29699,51.928853 C 437.29699,47.942293 436.0981,44.832973 433.70032,42.591133 C 431.30253,40.359053 428.10549,39.277123 424.11893,39.364853 C 419.8887,39.442833 415.86314,40.826913 412.04229,43.507363 L 412.04229,88.266003 L 403.13345,88.266003 L 403.13345,42.405943 C 408.26042,38.672813 412.97801,36.236033 417.28621,35.095623 C 421.35076,34.033193 424.93769,33.506853 428.02752,33.506853 C 430.14264,33.506853 432.13104,33.711543 434.00248,34.120913 C 437.50169,34.929923 440.34783,36.430973 442.54093,38.633823 C 444.98744,41.070593 446.20583,43.994723 446.20583,47.415943 L 446.20583,88.266003 z \" id=\"path56\" style=\"fill:#646464;fill-opacity:1\"/>\n",
597 " <path d=\"M 60.510156,6.3979729 C 55.926503,6.4192712 51.549217,6.8101906 47.697656,7.4917229 C 36.35144,9.4962267 34.291407,13.691825 34.291406,21.429223 L 34.291406,31.647973 L 61.103906,31.647973 L 61.103906,35.054223 L 34.291406,35.054223 L 24.228906,35.054223 C 16.436447,35.054223 9.6131468,39.73794 7.4789058,48.647973 C 5.0170858,58.860939 4.9078907,65.233996 7.4789058,75.897973 C 9.3848341,83.835825 13.936449,89.491721 21.728906,89.491723 L 30.947656,89.491723 L 30.947656,77.241723 C 30.947656,68.391821 38.6048,60.585475 47.697656,60.585473 L 74.478906,60.585473 C 81.933857,60.585473 87.885159,54.447309 87.885156,46.960473 L 87.885156,21.429223 C 87.885156,14.162884 81.755176,8.7044455 74.478906,7.4917229 C 69.872919,6.7249976 65.093809,6.3766746 60.510156,6.3979729 z M 46.010156,14.616723 C 48.779703,14.616723 51.041406,16.915369 51.041406,19.741723 C 51.041404,22.558059 48.779703,24.835473 46.010156,24.835473 C 43.23068,24.835472 40.978906,22.558058 40.978906,19.741723 C 40.978905,16.91537 43.23068,14.616723 46.010156,14.616723 z \" id=\"path1948\" style=\"fill:url(#linearGradient1478);fill-opacity:1\"/>\n",
598 " <path d=\"M 91.228906,35.054223 L 91.228906,46.960473 C 91.228906,56.191228 83.403011,63.960472 74.478906,63.960473 L 47.697656,63.960473 C 40.361823,63.960473 34.291407,70.238956 34.291406,77.585473 L 34.291406,103.11672 C 34.291406,110.38306 40.609994,114.65704 47.697656,116.74172 C 56.184987,119.23733 64.323893,119.68835 74.478906,116.74172 C 81.229061,114.78733 87.885159,110.85411 87.885156,103.11672 L 87.885156,92.897973 L 61.103906,92.897973 L 61.103906,89.491723 L 87.885156,89.491723 L 101.29141,89.491723 C 109.08387,89.491723 111.98766,84.056315 114.69765,75.897973 C 117.49698,67.499087 117.37787,59.422197 114.69765,48.647973 C 112.77187,40.890532 109.09378,35.054223 101.29141,35.054223 L 91.228906,35.054223 z M 76.166406,99.710473 C 78.945884,99.710476 81.197656,101.98789 81.197656,104.80422 C 81.197654,107.63057 78.945881,109.92922 76.166406,109.92922 C 73.396856,109.92922 71.135156,107.63057 71.135156,104.80422 C 71.135158,101.98789 73.396853,99.710473 76.166406,99.710473 z \" id=\"path1950\" style=\"fill:url(#linearGradient1475);fill-opacity:1\"/>\n",
599 " <path d=\"M 463.5544,26.909383 L 465.11635,26.909383 L 465.11635,17.113143 L 468.81648,17.113143 L 468.81648,15.945483 L 459.85427,15.945483 L 459.85427,17.113143 L 463.5544,17.113143 L 463.5544,26.909383 M 470.20142,26.909383 L 471.53589,26.909383 L 471.53589,17.962353 L 474.4323,26.908259 L 475.91799,26.908259 L 478.93615,17.992683 L 478.93615,26.909383 L 480.39194,26.909383 L 480.39194,15.945483 L 478.46605,15.945483 L 475.16774,25.33834 L 472.35477,15.945483 L 470.20142,15.945483 L 470.20142,26.909383\" id=\"text3004\" style=\"font-size:15.16445827px;font-style:normal;font-weight:normal;line-height:125%;fill:#646464;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans\"/>\n",
600 " <path d=\"M 110.46717 132.28575 A 48.948284 8.6066771 0 1 1 12.570599,132.28575 A 48.948284 8.6066771 0 1 1 110.46717 132.28575 z\" id=\"path1894\" style=\"opacity:0.44382019;fill:url(#radialGradient1480);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1\" transform=\"matrix(0.73406,0,0,0.809524,16.24958,27.00935)\"/>\n",
601 " </g>\n",
602 "</svg>"
603 ],
604 "text": [
605 "<IPython.core.display.SVG at 0x10fb998d0>"
606 ]
607 }
608 ],
609 "prompt_number": 3
610 },
611 {
612 "cell_type": "markdown",
613 "metadata": {
614 "slideshow": {
615 "slide_type": "slide"
616 }
617 },
618 "source": [
619 "#### Embedded vs Non-embedded Images"
620 ]
621 },
622 {
623 "cell_type": "markdown",
624 "metadata": {},
625 "source": [
626 "As of IPython 0.13, images are embedded by default for compatibility with QtConsole, and the ability to still be displayed offline.\n",
627 "\n",
628 "Let's look at the differences:"
629 ]
630 },
631 {
632 "cell_type": "code",
633 "collapsed": false,
634 "input": [
635 "# by default Image data are embedded\n",
636 "Embed = Image( 'http://scienceview.berkeley.edu/view/images/newview.jpg')\n",
637 "\n",
638 "# if kwarg `url` is given, the embedding is assumed to be false\n",
639 "SoftLinked = Image(url='http://scienceview.berkeley.edu/view/images/newview.jpg')\n",
640 "\n",
641 "# In each case, embed can be specified explicitly with the `embed` kwarg\n",
642 "# ForceEmbed = Image(url='http://scienceview.berkeley.edu/view/images/newview.jpg', embed=True)"
643 ],
644 "language": "python",
645 "metadata": {},
646 "outputs": [],
647 "prompt_number": 4
648 },
649 {
650 "cell_type": "markdown",
651 "metadata": {
652 "slideshow": {
653 "slide_type": "subslide"
654 }
655 },
656 "source": [
657 "Today's image from a webcam at Berkeley, (at the time I created this notebook). This should also work in the Qtconsole.\n",
658 "Drawback is that the saved notebook will be larger, but the image will still be present offline."
659 ]
660 },
661 {
662 "cell_type": "code",
663 "collapsed": false,
664 "input": [
665 "Embed"
666 ],
667 "language": "python",
668 "metadata": {},
669 "outputs": [
670 {
671 "jpeg": "/9j/4AAQSkZJRgABAQEAtAC0AAD//gAdQ29weXJpZ2h0IDIwMTIgVS5DLiBSZWdlbnRz/+Ef/kV4\naWYAAElJKgAIAAAACgAOAQIAIAAAAIYAAAAPAQIABgAAAKYAAAAQAQIAFAAAAKwAAAASAQMAAQAA\nAAEAAAAaAQUAAQAAAMwAAAAbAQUAAQAAANQAAAAoAQMAAQAAAAIAAAAyAQIAFAAAANwAAAATAgMA\nAQAAAAIAAABphwQAAQAAAPAAAADuDAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIABD\nYW5vbgBDYW5vbiBQb3dlclNob3QgRzEwAAAAAAAAAAAAAAAAALQAAAABAAAAtAAAAAEAAAAyMDEy\nOjA3OjE2IDExOjEzOjI1ACAAmoIFAAEAAAB2AgAAnYIFAAEAAAB+AgAAJ4gDAAEAAABQAAAAAJAH\nAAQAAAAwMjIxA5ACABQAAACGAgAABJACABQAAACaAgAAAZEHAAQAAAABAgMAApEFAAEAAACuAgAA\nAZIKAAEAAAC2AgAAApIFAAEAAAC+AgAABJIKAAEAAADGAgAABZIFAAEAAADOAgAAB5IDAAEAAAAF\nAAAACZIDAAEAAAAQAAAACpIFAAEAAADWAgAAfJIHALoIAADeAgAAhpIHAAgBAACYCwAAAKAHAAQA\nAAAwMTAwAaADAAEAAAABAAAAAqADAAEAAAAgCgAAA6ADAAEAAACYBwAABaAEAAEAAACgDAAADqIF\nAAEAAADWDAAAD6IFAAEAAADeDAAAEKIDAAEAAAACAAAAF6IDAAEAAAACAAAAAKMHAAEAAAADAAAA\nAaQDAAEAAAAAAAAAAqQDAAEAAAAAAAAAA6QDAAEAAAAAAAAABKQFAAEAAADmDAAABqQDAAEAAAAA\nAAAAAAAAAAEAAABAAQAAKAAAAAoAAAAyMDEyOjA3OjE2IDExOjEzOjI1ADIwMTI6MDc6MTYgMTE6\nMTM6MjUABQAAAAEAAAAKAQAAIAAAAIAAAAAgAAAAAAAAAAMAAABrAAAAIAAAADgmAADoAwAAGQAB\nAAMAMAAAABwEAAACAAMABAAAAHwEAAADAAMABAAAAIQEAAAEAAMAIgAAAIwEAAAAAAMABgAAANAE\nAAAGAAIAFwAAANwEAAAHAAIAFgAAAPwEAAAIAAQAAQAAAIBjFAAJAAIAIAAAABQFAAANAAQAogAA\nADQFAAAQAAQAAQAAAAAASQImAAMAMAAAALwHAAATAAMABAAAABwIAAAYAAEAAAEAACQIAAAZAAMA\nAQAAAAEAAAAcAAMAAQAAAAAAAAAdAAMAEAAAACQJAAAeAAQAAQAAAAABAgEfAAMARQAAAEQJAAAi\nAAMA0AAAAM4JAAAjAAQAAgAAAG4LAAAnAAMABQAAAHYLAAAoAAEAEAAAAIALAADQAAQAAQAAAAAA\nAAAtAAQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAACAAAABQAAAAAAAAAEAP//AQAGAAEAAAAA\nAAAAAAAPAAMAAQABQAEA/3///yR31BfoA2sAwAAAAAAAAAAAAAAAAAAAAAAAQBFAEQAAAAD//wAA\n/3//fwAAAAD//zIAAgA4JisB4AAAAAAAAAAAAEQA8/+gAB0BgAAKAQAAAAAAAAAABQAAAAAAAAAA\nAAAAAAAAAAMAmRkAAIAACwEAAAAAAAD6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASU1HOlBv\nd2VyU2hvdCBHMTAgSlBFRwAAAAAAAAAAAABGaXJtd2FyZSBWZXJzaW9uIDEuMDIAAABTY2llbmNl\nVmlldwAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABzAQAAmwEAAAAAAAAAAAAAAAAAAIABAAAjAwAA\n2P///wAAAAAAAAAAAAAAAAAAAABBAgAAMQMAAKX///8AAAAAAAAAAPb///8nAAAAAAAAACcAAAD+\n////AAAAAAAAAABzAAAAAAAAAFcDAAAwAwAARAMAAIABAADoAwAApf///wAAAAAAAAAAMAMAAEQD\nAAAAAAAAAAAAAAEAAAACAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAKwAAAAABAAAAAQAAAMAAABSAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwEAAAAAAAAPAAAA\nVQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8EAAANBAAAMQQAAD0FAAAAAAAADwAAAFUBAABJ\nAAAA5QMAAIkGAACfBgAA5QMAAAAAAAAAAAAAAAAAAAEAAACBAQAAEgQAAFcDAACTAgAApf///wIA\nAABAAAAAwAEAAD8AAAAAAAAACwQAAAEAAAAAAAAAfwQAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAA\nAFT+//8QBAAAfgQAAFIEAAAOBAAAEQQAAA4EAAANBAAADwQAAA0EAAALBAAA//8AAAAAAADABQAA\nFAEAAFQBAABBAAAAbwQAANcAAAAJAQAAMgAAAAAAAAAAAAAAAwAAAAMAAAACAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAKAAAAU0d28WAABAAJAAkAIAqY\nB2QAZAASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgDu/wAAEgDu/wAAEgDu/wAA\nEgDu/+7/7v8AAAAAAAASABIAEgCAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAACAAAQAAAAIAAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAigABAAAABAAIAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAoAEAAAAAEAAIAAEAAQCAAuABAAAAAAAAAAAAAAgAgAEAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAoAAAAAAAAAAABJNz0ciOBUJVCJsJVgaq7+\nSUkqAN4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAEAAgAEAAAAUjk4\nAAIABwAEAAAAMDEwMAEQAwABAAAAIAoAAAIQAwABAAAAmAcAAAAAAAAAjScAJAEAAMCpHQDbAAAA\nQBEAAEARAAAGAAMBAwABAAAABgAAABoBBQABAAAAPA0AABsBBQABAAAARA0AACgBAwABAAAAAgAA\nAAECBAABAAAA9BMAAAICBAABAAAA1QoAAAAAAAC0AAAAAQAAALQAAAABAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9j/2wCEAAkGBggGBQkIBwgK\nCQkLDRYPDQwMDRwTFRAWIR0jIiEcIB8kKTQsJCcxJx4fLT0tMTY3Ojo6Iio/RD44QjM3OTYBCQkJ\nDAoMFAwMFA8KCgoPGhoKChoaTxoaGhoaT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09P\nT09PT//AABEIAHgAoAMBIQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsB\nAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEG\nE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW\n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\n3prgmYlQfpOQMHkmuDVMI//Z\n",
672 "output_type": "pyout",
673 "prompt_number": 5,
674 "text": [
675 "<IPython.core.display.Image at 0x10fb99b50>"
676 ]
677 }
678 ],
679 "prompt_number": 5
680 },
681 {
682 "cell_type": "markdown",
683 "metadata": {
684 "slideshow": {
685 "slide_type": "subslide"
686 }
687 },
688 "source": [
689 "Today's image from same webcam at Berkeley, (refreshed every minutes, if you reload the notebook), visible only with an active internet connexion, that should be different from the previous one. This will not work on Qtconsole.\n",
690 "Notebook saved with this kind of image will be lighter and always reflect the current version of the source, but the image won't display offline."
691 ]
692 },
693 {
694 "cell_type": "code",
695 "collapsed": false,
696 "input": [
697 "SoftLinked"
698 ],
699 "language": "python",
700 "metadata": {},
701 "outputs": [
702 {
703 "html": [
704 "<img src=\"http://scienceview.berkeley.edu/view/images/newview.jpg\" />"
705 ],
706 "output_type": "pyout",
707 "prompt_number": 6,
708 "text": [
709 "<IPython.core.display.Image at 0x10fb99b10>"
710 ]
711 }
712 ],
713 "prompt_number": 6
714 },
715 {
716 "cell_type": "markdown",
717 "metadata": {
718 "slideshow": {
719 "slide_type": "skip"
720 }
721 },
722 "source": [
723 "Of course, if you re-run the all notebook, the two images will be the same again."
724 ]
725 },
726 {
727 "cell_type": "markdown",
728 "metadata": {
729 "slideshow": {
730 "slide_type": "slide"
731 }
732 },
733 "source": [
734 "### Video"
735 ]
736 },
737 {
738 "cell_type": "markdown",
739 "metadata": {},
740 "source": [
741 "And more exotic objects can also be displayed, as long as their representation supports \n",
742 "the IPython display protocol.\n",
743 "\n",
744 "For example, videos hosted externally on YouTube are easy to load (and writing a similar wrapper for other\n",
745 "hosted content is trivial):"
746 ]
747 },
748 {
749 "cell_type": "code",
750 "collapsed": false,
751 "input": [
752 "from IPython.display import YouTubeVideo\n",
753 "# a talk about IPython at Sage Days at U. Washington, Seattle.\n",
754 "# Video credit: William Stein.\n",
755 "YouTubeVideo('1j_HxD4iLn8')"
756 ],
757 "language": "python",
758 "metadata": {},
759 "outputs": [
760 {
761 "html": [
762 "\n",
763 " <iframe\n",
764 " width=\"400\"\n",
765 " height=\"300\"\n",
766 " src=\"http://www.youtube.com/embed/1j_HxD4iLn8\"\n",
767 " frameborder=\"0\"\n",
768 " allowfullscreen\n",
769 " ></iframe>\n",
770 " "
771 ],
772 "output_type": "pyout",
773 "prompt_number": 7,
774 "text": [
775 "<IPython.lib.display.YouTubeVideo at 0x10fba2190>"
776 ]
777 }
778 ],
779 "prompt_number": 7
780 },
781 {
782 "cell_type": "markdown",
783 "metadata": {
784 "slideshow": {
785 "slide_type": "skip"
786 }
787 },
788 "source": [
789 "Using the nascent video capabilities of modern browsers, you may also be able to display local\n",
790 "videos. At the moment this doesn't work very well in all browsers, so it may or may not work for you;\n",
791 "we will continue testing this and looking for ways to make it more robust. \n",
792 "\n",
793 "The following cell loads a local file called `animation.m4v`, encodes the raw video as base64 for http\n",
794 "transport, and uses the HTML5 video tag to load it. On Chrome 15 it works correctly, displaying a control\n",
795 "bar at the bottom with a play/pause button and a location slider."
796 ]
797 },
798 {
799 "cell_type": "code",
800 "collapsed": false,
801 "input": [
802 "from IPython.display import HTML\n",
803 "video = open(\"animation.m4v\", \"rb\").read()\n",
804 "video_encoded = video.encode(\"base64\")\n",
805 "video_tag = '<video controls alt=\"test\" src=\"data:video/x-m4v;base64,{0}\">'.format(video_encoded)\n",
806 "HTML(data=video_tag)"
807 ],
808 "language": "python",
809 "metadata": {
810 "slideshow": {
811 "slide_type": "skip"
812 }
813 },
814 "outputs": [
815 {
816 "html": [
817 "<video controls alt=\"test\" src=\"data:video/x-m4v;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAqiW1kYXQAAAKMBgX//4jcRem9\n",
818 "5tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTE4IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENv\n",
819 "cHlsZWZ0IDIwMDMtMjAxMSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9w\n",
820 "dGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1o\n",
821 "ZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2\n",
822 "IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0\n",
823 "X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBu\n",
824 "cj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9p\n",
825 "bnRyYT0wIGJmcmFtZXM9MyBiX3B5cmFtaWQ9MiBiX2FkYXB0PTEgYl9iaWFzPTAgZGlyZWN0PTEg\n",
826 "d2VpZ2h0Yj0xIG9wZW5fZ29wPTAgd2VpZ2h0cD0yIGtleWludD0yNTAga2V5aW50X21pbj0yNSBz\n",
827 "Y2VuZWN1dD00MCBpbnRyYV9yZWZyZXNoPTAgcmNfbG9va2FoZWFkPTQwIHJjPWNyZiBtYnRyZWU9\n",
828 "MSBjcmY9MjMuMCBxY29tcD0wLjYwIHFwbWluPTAgcXBtYXg9NjkgcXBzdGVwPTQgaXBfcmF0aW89\n",
829 "MS40MCBhcT0xOjEuMDAAgAAACqVliIQAV/0TAAI/3gU2tIW7KawwaCmQGTGHKmuYAAADACBcshU+\n",
830 "yICkgAA14AHowiEeT6ei7v7h3Hu0i2fpUBLGBIkbCMP3Vfz+9BVGCDXnw9Uv5o3iN030tb7eq6rs\n",
831 "EEhHs2azbdTiE9Csz5Zm6SiUWRdmB43hbD5i6syATuODUJd7LM3d9cbFpc7zFlu5y3vUmNGd6urp\n",
832 "vKKT9iyleIyTuR1sVS431DhevGfkUllVeIznYUe2USoMW1tufETjyRdmGldN6eNlhAOsGAH4z+Hk\n",
833 "rwKecPPU7Q5T4gDAIxj9hW84jVExMTSTHxkPTq1I4OotgUxURCGTsw60k/ezPNmNg38j1bqaGmPc\n",
834 "ruDKEIBDsK5qEytFB90Q68s0h2wmlf2KXd5bleBefiK+/p47ZsyUO4IdlW25rRy+HLjt6wQXfYee\n",
835 "3IkiQOoOK+U7u/lxcl78zfxwIoEMjUUSKNZjkp8clnmecDDJ3Kz+viF7bPklk7N6QRyizAKPIIpn\n",
836 "NJUuMWQmqeL2Or6cr4D0/0tOym+4tficxmhuEONKUtO2pPn3hRjMllkd12tXp70fLTfxy0dwB70M\n",
837 "L9iLEcItHb7zVupHlP5RxdvecpREw+OsIPr9KWilIesNE19jgIbT+TkiRBjOoKvUuwcQnKg7fOTH\n",
838 "VoLvnKuAfea+oujEdm1Rwd2tEOnkF+ZC11WaNQsiNR/eJ9EnUXjXDYGfhB+Oe7qj8nYTT+eOXg1c\n",
839 "uJNgLXEs4vOheWEjQOqfIWMQc3DmTof5s0ksBmUQ3PQ+UHPxZSnmOEZB+j6xT3wbm7HGzDjWtSg1\n",
840 "SjTxd1EiJ8xA4SIxxR8WIKLg+TwFxJNS7Laxq7Uglu3AkXe82P1JCdJX5PsbFbxuDbuJgakzRcTw\n",
841 "MLLSKCiizS/eCW0uJed/lev9yb80kKlVET4S219cn/zhkpeDV83cHYOr+sJQKDRk/Wh2c7fsuxfx\n",
842 "aEH/6reSmvFDsAnXAyPXliJ3G4VG3OkEM5K5WyGGrBizZbTrdGsBnzj5VSGGOJdCKuRrUluw/8es\n",
843 "2vYRPs9BcTqAqvHk9M52SSIf+1T6L53EZP8VbtXB+G29CMW4xVCK/B/YDjaNmqMwJ61dapugjnWJ\n",
844 "fqeXlGGa3Ch3aA7gi30T8PucNRBjLK3lF67ZDDvkWXRQXd+VMnKWHkBbCkQ/F/fMuNpHO3C00Y2p\n",
845 "ljna1qImBhVMvPe0F7Qx7G/YyxLRzhyUU8e23HGzp0agtNJRbydbrPV+TqJMSifJMNcZIf8wkdnC\n",
846 "3/xdpcXnLf2Ye3Kbd0o7utciTG+q5h6WTEk+PaNbXLLA0YyZ2VnLTcyV1QTS76aNCbV9Q1/OQ7QU\n",
847 "81Gg0hPa9aSiscGary6jLVwDQaik4zLsi7jPqgPVdup7pwx7uJDqRCVcVi5QoZFp/GHdex5sJTF6\n",
848 "9A6sja69/NLkFIWNSIeRcuGahXpF+wZeYIrqJv975s1TKYKAvp1WtzgtgWNkcbzCtROqf8rPtlAI\n",
849 "xkX8GLcEo9zfExyfimeXQ64qfFxEy0IMy2Hsxau9fSMqUnIjntuVVjCQtBL+94gx1RZLndE6wROV\n",
850 "Tq/wHwHrQzo9QL9cpPqPFJjiZ/NGZIFuudS+wsBFe6Hu8Oitf5zToLqLdtU4Smwh4ne3JsiT9lOz\n",
851 "N+4PPw3VSx9l5FppVwdKUWELw1dYpCOppyVWlJ3YQ8H4FQQM8EcYMG9N3Bxu79y1J1ikuvuhMmLQ\n",
852 "lehLTbguhbix74hd1VIQC8EjHmOZSSWbssulYwPbr6FF49tifk6PymJvulR9/u+2585HkRfbxveG\n",
853 "eWCz0ix1pIVfaNpESKmtLy/0mcbMg9hYDz2werz9oe0lT2BiMV6uAin6RaQcT8Vk9MPctfwae+gk\n",
854 "vtnZA/sOBk8MbpylaHqc0KIVHhhLFMNnkOFiucjtGo/JWTa/F6g8wWeow5ZuIJUORaYHWqegZbTg\n",
855 "M9dCsYYsfZGjjVMuSlDIvpYvIvFFooGPC7Ye2Jfawmq4Ut7EL/nv/dyAd2HRc5msmUhzeu/XpX3r\n",
856 "VlzRmf9/Qan8Dbve3QfW1Ym0o5J/KAc3z1VBho7JBr5PgCL68RiD9jZHN0VvsT4gzsEjNlW3D91U\n",
857 "y4RduaodBFoNTzXwlfUYULBzdiTbH75l/UmVMC4TKeTWhNzw2UezaqeGd8at3WSY7W/VR3+hvZHD\n",
858 "pkIjgKuNNH0DsCRa/Kk56XQoHIyvvUH/eNekNvziReqS4qgLnXUT4BRGt2BOtCifI6+X/DGHUOmW\n",
859 "lX7TN5b4pw5U7jwfwshtbhGZM49T8JMk15Mzrc7tM6J11TYxb5R3mQhZ8TZumJ0bMJXPM69HFyih\n",
860 "r5dJSEJMycxJVUh6NTQALUOoRTHIOwE+FpWI6feTv1SiZ0YpYe5DbkYJJbN7zAHbAKw25XvqR2mA\n",
861 "jQmOlsfX/tK8DPjP/8h5/xgAF4EUbj1tOnQCBQL8jk9vHtfsXncsprww4Z+P/Z/UrKifuFyEpBWN\n",
862 "8kLpF7yywE2iYdDruV9+/qKR8rC9ozNKyqQNIwtxrzYkWpE5t8K7gG4JFnrHona/Rp8dOX6VW41+\n",
863 "jb5LB1LEtE8MwjLp3RCUOq/+6yLzaOEgBTqzvEjDeFpg/u9DMHMr4/2TOchfjg7dl+uQ6Gsx+4Ia\n",
864 "9W7vivG95027p25eKL0nHvx/OqmAQEZYJL/JO58lOj0zPdJxrQ5dZksjMISzVZNn7DsxqE3zgBBu\n",
865 "Nzk50R8lTK3U8P12QiOAQYSTeGlYlkvfeofrfO1AitEj02m9aUkxTFd1ZZJoLQT2d3zEU5PmE4lx\n",
866 "MVfL5ttNnIbqfcIU2RJKNWqdw77xfjfrNc/eNpRKPZ/6z50LzBprgjzBHRfKgSWWkDxHrX0aTbgw\n",
867 "QFwd51+PoUWH4DkQg26uGslF5Hn3hB58+fkeLTosTANOIBNAeFZtTc4PIaLHw759zae7scY55xcT\n",
868 "abzlilYIftst2RZ6ntsRC3zFxduCKvL6wLfYT+TiIWJn5P7sTwZwXuSzXY+9Q3xMZ5o4Xcpz6vD9\n",
869 "FtTjzS69iefEYt4pXiDrZUo4ePGiLeoIFIwYB/v6GXdmG5VLLk+eKbOc9AmsX2zmvqtcvDRGQbzu\n",
870 "gXbH/kTH/lkNPBTmqN3ZJODUEXVohPEJ6th0xna0EVleB73Q3eNvaVUvhlJbjs3D/T17FRCebN7A\n",
871 "OXvzzbLE/I5kNfEmJcv4dxtIeo2uQ/z9ohSpiZzbDj1u40nJRyJxUK60wEv0nA9f/NuJ6/PEyU0b\n",
872 "kK16z2KH12k3Lc4+1f5fawIzkK2qJRB4wnj8VHhUW9mbJhs9vgfFmU3xrXSShY67Ygb+gYNPxxtn\n",
873 "4K/9eTSwIA9fv/nR33lA2lZoXALRUTmOZIl3R0gAM5h6oX1y1thIyqViBK95VZc8Pvy7G3O90M9S\n",
874 "4zkpyFQ36jrMazvMveMA4d39fvoaC7p90quiJfjI4yrl+ECVkCJL5MxRSa+iVcIL7Xbl0jVaGhZI\n",
875 "cMYmcGOBbLzhJgloM1x1zFnnj3ggJRFAM8yNnXxhavk+mA18JC+y3lqGsp6vPReRxGlGHMou17L4\n",
876 "It070LzkoeCzarpv8Apw59smdS5KN9qVN1WgeL7OSN8BHg94ubCvS7DW6H3/PbtRB62jFLsBhUV5\n",
877 "YqCIbIN5VZ81AAACpUGaIWxFfwAru8x8uT3FuOjrAeSWXmAWqq9jCNGE+N5AOv//9//xjk4uBAcA\n",
878 "DN96c97AVGmzRtnWwPsgcCbLrVdQJgbKp4QSmPwQnVhv0hXyBjeFWWlcvx70urEN3FK6/lvk2tQe\n",
879 "ZgbtlbzXluvTfnSj/Ctz7vZ+O1FjhDzzdpL7uLzewzCIW5VWLAEKUVuS2J6wNk6MR7UblcEd4EtO\n",
880 "Y+R4/qJgfojCsfRvA0oC5dc41Vd0erZbSkrmPTjLCn815bxlchUJMS8gQD5hJNwoKHvNLNwn7XKu\n",
881 "TtYIhH2wVNZvDWgzCjlPeQajnrcMsb6bZYJvNJU8HuGHvm50r7VG8qifEwmuyegAZXojh5Ul5Vvj\n",
882 "DW7kSAZyw8a7I6mHY3FZHd+OA3V4JZMbNliI3Tj1L6+MKTmilVialmyZagRtEMeKRdtxUPd3vVEt\n",
883 "rOBVIVYWdgAGA7HmZiHQUQNxLkWxbLyWVlrh5EM0Do2NdbclHxxArz90d+MSVeUOIXQ/4V9quq8C\n",
884 "8qVflo1gPtPMkjO2/UrdOYqhY404ReObOu/fdp4hAEDq6jhy64vOeT7XUK/Onq0rXTldtA6kvgQa\n",
885 "Jg+mgYSR9hfXtMbOUSLgLj/RmBSO8aAMHuJJZqf1tCM5pZ9eYUsrHmy+/z2NGalon0//uF6+33bQ\n",
886 "zT/RLRfBbYTjy9QrJqHLlw46lggWPGkHuPKSqk/CB7U4pNPXUbR0DdcJy9Db00wCzVzxVc6h7jfC\n",
887 "FgiL2Y0HVqd6bgIaVUqn/gJCEyCDVplnzebv0gg3XwMJAGu639lHu7rEvxTp1smIYjWp9R5L4Ssp\n",
888 "VvS07Nb+Smk1FgsMp1K3EMUT8X2Fty4VG54/Ec6bE8tNVw4/QV1VzBw7Px2/2eEhhUS+FMfbHAlD\n",
889 "28x00jRgAAACW0GaQjwhkymEVwArOUkEOhoFqiELtH8wgecFLiUq6WqmwAP7iGEwbYzfnHacfqUN\n",
890 "XAfD+CGR2ap0lAHL25ipuYtd5j2O0PU/MpaWPG/n2y5OkfTzaOpotaR5tWjN55B2XblVVqsFfBC/\n",
891 "mvsiPvCBWUHFChacdY5whj5mP5rqQ0dqLJCsWjrs4TWnIbL2V/Iwfj3hwI35jfo1JkTOeR+8GhOd\n",
892 "ma9rgiKWafCbQyhYMTDmVdvhND60Flm97EDSTjF0OC+0gD9b8Yn4tNeHipCa/aWyt0n79bMmjfcj\n",
893 "ntBCPjrcB5ecRTpfGHbEHy1IRj2cjkGXKC+VYoYJXBp4rd4cMd8ygLCk5nBSd8/cTaKNRjdBscOe\n",
894 "TXG6QEjSxj9/2pVwx9DMRVtWQR0BSaAcQcZ8W2KPSaeRC4QwmNMu2xx25CSyrDiq2rFSK/JJtmvo\n",
895 "IjAKq0ciEXoOgw+Ke+Ylb7ULKCS3k1p/613UNRp450uSq5b7CAHo7S0b7fBMLfNmwSjRYEhLlo0H\n",
896 "UaRe/I+IX2Z6XdZH9Hty/399ZA1PwZGC6EfvUJIf7CBeaxv7cu6IT2/s0zPRGthpvXpYw6A7P4Ww\n",
897 "z5C4V98KnIUNUanadqabKP6eXWhvbvcQHxAjiOOiKZgXZplZW2g+B2NNyJSLiR+g48DqvWR6t9S2\n",
898 "aGfFjdOW1Gi6oTtZ1d4p5XIslAr8mryeZ6+htSSQe4AcfVt7k+V6mOthBCYtr/LEU4ZHtl0mW987\n",
899 "6PK8mRFAaT8DJOUFVz1lPfzRApuPggkkyq+UMvyfKTUbCk7/DpfX8Y4s4QAAAg9BmmNJ4Q8mUwIr\n",
900 "/wAsWUPjZw3ksgRsxZ6n4fQjprPbkj2aUh30y0bZJnLmiXnWskvOGnCPwBnG9dEhatwX3hoxk7BN\n",
901 "yG+wQ4emZUpcVzcWl2T9nKQB1euucuZWHTg7TCtM/iHyfPO2vbmGsfzs70b/egIbywUH4y4BQSL1\n",
902 "nWc1SmpHm2zHMBcUjYLDZ5gL5vdfxn0V8FFw66G88c/LN4I5icUa7xf4fcSBKywU0ajbp1P+aJYj\n",
903 "BgWT6Ggu0MDLDNl54tfqd42lKosQtM1aif4WXAZFP5Ww3vrQ1rH9+utSYxqZd6N6gGtNbSNMcVia\n",
904 "Kn5LcnjsbBi3T3EmGqshEbcme8VHKwR3kSfBOAprrIsv6K8R+X6az+MD23rWka/2v64m1qM69D7X\n",
905 "a+Kcs/n0KLCJdTilyaGadopLeaAn3eYvWTeHcucMM1Fp1KgHD1tiFeO6HvobLkZlRximsA3/7Mio\n",
906 "hYklLIcJrZL22BH+6W9d6kZsYIsej9RM681nU6mWNjepBAfAfTbrGRrVB/h2DxC5B8YyRjgSIzQj\n",
907 "NYrse0rzChqbrsLl7mQ7W+1bsNKze5//9ZIa8rSsF+BXh/vgoRTDkPW/ws95B7VPCZEFChfX0icw\n",
908 "+tpcpN/q7NY87tUn4vESdSiMMlyhKklMjQu/G51J69ZRQLs2oUO6YfoJFqliy4qCFCrf8SZE9Fc6\n",
909 "DcCagAAAAodBmoRJ4Q8mUwIr/wArPWF/KOw78THwadfPqhJO0CnmR/M74/XYZLqVYKlNcEaYauf+\n",
910 "vrRUDJPmu75sMKy2Y+Bnslc/iAISSyWtw/h/3CF8fE5ZrbrwSNst+MSyCoNWP+8imtoX2eyojpdC\n",
911 "k8YP5K+cbK4SJPCkZXbYqSXYk7hO8AdSemBHgXKWiZ+UOr802aJo+98ZOIjX9hWL9bo31Gqx7cy4\n",
912 "ZG+W/ar/WGlzDa1xPWnPRsEdrIcZlEVGV/jGmbirkxw1lyUYoqj8Vv7Bxube9XPQlBkXOV6Lc1LT\n",
913 "2IzNq0V7WwVhF0kA6yxfAsFxc9krNEH8vGGntTWI608ovjatXc/CKKXw7AjJSftlTcLI0hIIGXbR\n",
914 "Ur0NCYNp7M4cVd/n73Rjetnixz4SAKpcz/P47UsijZG7T3SxzK2D79WS42aEalc12hQwCZ01LfmF\n",
915 "/H2mmGEvOzPBie1D0YT7Jh19vxa4Dd3SQ1FrDfmSUpvv4DjbYcZ2PrPpFpWtMjWqHBeoyMiZf6RP\n",
916 "3EfYR6z9jsVNIIHxM0bzzBQF8eeYkPgDySydxPXv9Izo+QUY94N8kWi16fI6eZSDc1G0Yo0L91jc\n",
917 "RQuDMGGS7B2zuf/0GbJyRhUO48UbMrqnILMrbQg1LF00Q3pH9nbGEK/RRQpRN3T/J/4IZQjwW2Ft\n",
918 "2ipWGztg1Jn9I4DmffKS60QC+JQcyakdVON6zDcKttIKlqeTcmAi4xzmo4QXa2dRKleS+fs3EtTd\n",
919 "BBtony2wK9T2Imj+NCziOSEL7Q7VuIU8kclUHrJJsSneFcxGRgIgGGUEQM8/pklwTOqab7mMmJeR\n",
920 "iaBrjJDEnDpkR4Vz3qXxgyn4/5x24FuTMNVPwQAAAhtBmqVJ4Q8mUwIr/wApcLwPT0/Xh9UdWqWX\n",
921 "Is8Wbj5K1hivmN6qIQnq+aolcegdlM/63MbHsdC6xYZC1e/Q8UjQCt9N/Ejqwms8DzeWv2qxskel\n",
922 "iZH0kt1QWkErWSEodq7V0ZNksctLkMGWayX33gBT368EehfIeGDolBZoqIbJfb4nqcfU+ev4OzVv\n",
923 "9zVqWyLck315GFmXxQKIM8pICQc8Q5es34LH1+DmnMnW8kQpVGrztQcDXhjCU3F0fOgoSsXSVWCj\n",
924 "c6XKqGbCwQDfJUxCfXfIT6YmQoPpVp1mpGy1wQypXus9z0bScDpyDu23hViYDntdj1O45ea0znKZ\n",
925 "kj1+tLHbBtqAGJ1WTcbGlF6Vya6hQhEsiiZUIC2fRxIj8/wEXCICIbr0gZ/m6gcOhE10tenvE7iy\n",
926 "+BKY81wLWrnzos3S6FWxYtmCRes+LLhNGOKWRuQo6SyePH2OZ90xZm8oA1MuTe3V59euVNxjAt0F\n",
927 "LkAc9TEiFhP/8CB+gA8mF+A8h1U01f4DVX55GzCH51jHI2xUS0L9GtsHoBxLPLK/NNel8zcnwG4X\n",
928 "+UusfcfEb5hh+ffnXteCE9vRGbs2n9wYW0xA3ZicklfadmWKUtMiHYBfkMSULWnkBQr4CXxjpYOs\n",
929 "6ygeEoA5+5B0B1SZObgZ42wWqddyyYE0NfwQAl75tfdJGqOa7OMHwBYNeatJaJK0zT2+bFaw2qWC\n",
930 "WwAAAitBmsZJ4Q8mUwIr/wAstkdsayRXchoFk703izqzduZ5WsyXriI9cfUdMUWvm0iGHwYIrUuj\n",
931 "vz3Yjou+JLwv9df2kt7MJo8u+3P5CjEKbwlz4vkE5AHTAbgXn3+Xc/MMJLgW5cm7iX3KiGNnBpbp\n",
932 "hhwJRlb3u91NRDr0d1IR2up/z7lKxE7XPAPFe0siPMYVlIqWNSn5KqLABPeuxxbOsvMEb27/nH1L\n",
933 "UVM8I2F95c1I3Lv1SpkhZXjs1JsmS9X7gsoTxkXyShGC2+zRJSGUbhCPo/q1XSFMHQyMWJ79FKPQ\n",
934 "SL/RpVsacN2bYwdKo4TFBw1SsKq/L1iOmqMI+4Gxnbbjojdk0ek0JIcDb4bHv1czxchF7FX1Ym8H\n",
935 "6IpPuE8CeNKjzQ1a1wqhEu+wl1N0x3Y37ZryCCKJRkxj0FT7bOoH3L38/yMUuh/v3aCmxY4eCkyk\n",
936 "b2p6ZrYMFE044anM/nMjmbErMibfRFuCz58Io1rBlF7JfkIz0R2/5vjUMVskcdbX2mm7DntncOsW\n",
937 "DIdg/XVmgsC9CzVzUyq4VsS/sk97lJggcddpWLNw/29egz8iLyzWHOAXCvl2fTIPkviYAOQXfVhZ\n",
938 "UQdxsyJUNFMTiALrZCmoQLMp2LmDbfbW8JQriDeR3fVz6P1sjT8C2yEDvzkCn7sh0aTBK+sx7BKH\n",
939 "1nb4320+caQepQj4TCJtCeNXjdrVcNEnjvwlcRJwFT1pT+Y7HREbHnT71XYNh4EAAAGEQZrnSeEP\n",
940 "JlMCK/8AKIjxcI58rm/ML255fOJW1zbznFna7lfgMQrka7OTPPsvVAV4EJXye/Uxiu9dlftmRypJ\n",
941 "qfDot3xwDe8lX/qAVf6pBkSlUsaLyBYtww/SUSa1bGl1JvrJCN7FXCCXbLd5R4PoYlPiDIm/DQH2\n",
942 "puO0StIWmrR77Isc/J1pRvdu5+mQa/n0SEHUeM2KkoRzCznfD9zaaRO7BDtvC9SYIT0uYZxrwTjx\n",
943 "Q7N7UERTrYG0P+vRLAhxkfohFIYl3HXyjPOvnlbUFP2oiiy6nkUFuaIyQcJawJv3GU8k4ObcKsC1\n",
944 "cNDXjSpsyQRrxLFaCCjke4mikyt7vs0iN0bnrNWv9HXruG9zOFEOer1ggIFTsT1Eos5CXRkgja5H\n",
945 "N4QUM6MhWpc5du/HgBIH8ANFcoo2kJpqcadw9r/0qk25X91MQSDJQiH8Hny2dQhqR+LFWEawiW75\n",
946 "3SJhn0ngZcv/mPj3mwcHv1SL9ErBqAjm4JGiDetPKYtFwANYY11OyQAAAVdBmwhJ4Q8mUwIr/wAr\n",
947 "Ox5HV2505jRePGgMxptW4PGIHEszV1xGZS+flSkF+aq30AaqO7u6XK9jJsuWXTfYCRQTn1bZfFQ2\n",
948 "2DbO5DXAxK/TUmbQleCflFzeS6/czxkL4PJ8AwOs2U+oehekgCZC8gZyHHaQSaKbNJ46gTjNsLy8\n",
949 "4ACQ5uNt11TPuCPqPTuh+schdw9S+/lU/6m+EyaqGZ49wDFPiBFBYXglQQBjyP9k/rqq0xL7SiLj\n",
950 "pe4riYg8SFUuUtOzPdWHyvxnI7Ug/0VLPGAAhgMISUnqe01d5QFf36yHpwMAHexjAZFIGQHAFaut\n",
951 "uMuEw6HzUZVzNdeHYxvEYOGkTo007bLwbuf/nxzrywGOxlRTYJLRdYI0mk0SdN3+LeTv1RIJwv21\n",
952 "+e9rT5iFOTCgzeQoekEWXLYz0X8YLq5bVCtijP7/T7w1Ck71j0aqfrEn6wtIAAABNUGbKUnhDyZT\n",
953 "Aiv/ACcySi7VBgOid6qZNXvhh/JsllHkMLLq0yNbQTqv/Wk2EBoSKICZwFwAD0WRzhvvReCGirep\n",
954 "1Fe4bxjm49/UR+OYrXRmHR18T0C83AUVeBk7KvDZmb/eHzuzEN4yfXucr/NWFJl+USVMY4r4UQ9C\n",
955 "ayrfEY9v6AQ6mzAdLy2UMfFxrRJ99g/Rfl8qx+m4jIZNjlrTaThzJ/3OpVmAliDfxVyg8+CVIlI3\n",
956 "1IykiwQrXcebgajG+av8XU1SfyAG5ibvwbtdSAxkGBcJWL387V+uTdY56w3KN2vBtoQpVKD2zb3y\n",
957 "azIcATZ02upwIytNcM/rpaLCdMb1myWcikE25agzLhDhOS+4zwjYz2DnW6VY0gFBAPsphhsUMnau\n",
958 "VVdUVHzCTSdvzEve/H8q4AAAAVdBm0pJ4Q8mUwIr/wAo+x5XKuiN1am7SkJKSMonFZDPU3f5XFcD\n",
959 "QSs0FLVq2idfsKwuIkt1mxIq8NgMHpzofTnDHqs/WedvAmhBgL0N5azdQa5MNKG2rJ4IAvGQY/uF\n",
960 "m3jKQAKzvhSS01gO1oIfizF817z9IShS4QK2WT0PeFPELqLSpED8eNOpVTR96vmwpk/WBKRVJdTQ\n",
961 "JzjiCQ5pgEwjtvk7KqoS0+lwXSbvIrXkYm8DignEts3DLNoLHrPjXlQmbIop76JZSyJEtB+91GrL\n",
962 "wo6Km5GeebyA2E6qGL3xSkpppej/ruoFprSKrH60UMbrq/SK7eCo+1QFoySPQmqDFsMGiQFqvtld\n",
963 "5BXDYdVI4yRaoyN7Y7wi83HRC6eVazuHU9OtIY3xJJApBWq1aJOsYwc38aTC3ee863Aa/4n9Lk4D\n",
964 "AtyFYHNZjB5m2e2vk8G2Gny9YFlBAAABQEGba0nhDyZTAiv/ACoZSZQfHxhfQxEqOBQrP+L3Dmgv\n",
965 "HSJQtB1iVkcLTxm+vagLHBLG91OGnopwrr7gT/loDypIhoRxjcwAAOeg/jN4WBbXzCJtnWGGllUC\n",
966 "SdtUZQzKOSp9iM4yX18C6jrY4Sq6R9PUV/lEGNveJR4gw4FMve7110XdEPL1O2VTdHvdqeANyaq0\n",
967 "nLdEmtXnrzvdrFlBaUvmaR4EdlkqGkvkZKWJej8Vq+msbKa7JdbxjwZtRufiyGfD/NVqMgSrYRzw\n",
968 "9z/a8Zwbr+9+19CxlWD5bCuAEfPmjY6kZJE2L/CQI6+tnCBTXOmWZtZMBoCLGOf7G2uAC3+kFlbo\n",
969 "h9as5WCkO6+iqXq29dyhKnsHInorRYsPlgxIXyU1Om/Kyhj1DJV0Am9WJK3Dln0zNUH0q6ZTOnZc\n",
970 "FD36AAABYkGbjEnhDyZTAiv/ACcwdIOLRFfoGK2ZkKsvgMwG0m0qsY0vMLPSzefc+ebp/aztyF7M\n",
971 "lsBz/fBeNtxFBcsKgR4pf65GvdfOMHah0ltZ918sMDmXUEZMeRHy/xpnWpTLeGz6uTs/7MATPmU5\n",
972 "BgHbT/DkD8QeaZnFAzidyFCXDz2l/jaKhEdgqipbB2pH0+fQ039r05z9axxEWGmaLQjg6x9+po1o\n",
973 "24yhkVO7m03YwWmPyCgy8cOwrvRyJkXJpRN4m8ZBS1zwY80HeN/VyMQQJSMwsTo7R1XMerSFuyx0\n",
974 "nz+8qOuhiqykc2ohCCsXia/+kIKbJ5Vs+cbWtvkqBKIDSfU7FhAd3GjcY/xar0EVmi6wWFTugAog\n",
975 "R3I7mTrQDdlTAqYgqO7Gn5NMXQVHu2i1zhFSdo9GjMbeGnbkJwsFbQ2XkoKRIDpuW7AewC9AEBt0\n",
976 "Ox/Ah6dGXfXO1jl8pEApj2RFmgAAAPlBm61J4Q8mUwIr/wAlR+eW/VZ7bSrmwwMA62G05DZ7p/5F\n",
977 "UugsSsQdonUq6abtbU5hjFr+I1lPgoiV5c3CkTQZS+K5zivdo+Ti2P4K90xXANp8dSMAu85uJIOC\n",
978 "Qn2TXbEnNDifLB+3V84ht5tj4lvTaZx317BcliV8D5v2zZQW8RO1mUbuJEBItst8E7hfE+ZXj7tf\n",
979 "DxNZPTvtpFyUv0fH1cTg1pr2VLy0d0zQLiA58dg+GkRvR1/hs2LyifBgHcj6eTWz0vsypVn9iPXR\n",
980 "H/unJ6i8cfFL69NO24tQ9QQB+nDFhoP2cRhkAvhHwn56n5PppBD/oxni2f8AAAE9QZvOSeEPJlMC\n",
981 "K/8AJjAXVGf+Kj2XNJnFeKC/gr7dJDTC2ngpd4WeAHlg04GuJKnn9hAmiECxxo9qM1IYMRiB85t6\n",
982 "gALnlm9sRqGmioyzAm18RJndc9Ah8RlpGzr+44a6ntRaPx0cIwNIWAA8buL2JP00dmfjNqEiAlCa\n",
983 "8OdV8FQxjp1vDXsGcAGF3Qbd62KEpkimeI3wH2nuXpbDHm8/ZKOR49s5ifUCkxCoJpfp43aC0lTz\n",
984 "h2NXpcfVw6h0QnK8G60R4ZAxOxaJB7c0nn8ixXSU2JVY24EtGMF53nxJnHfzUheewUfBOGYSxeo8\n",
985 "oK7oUCqX4rztzDwoc2QywNqQUJUkFrqIN+sb5ecYvX24Zujn+ZzTW6UDAF3R6WdNyJyRAremgC8s\n",
986 "pSflTqygQNGfHyGkfIEEJJaFo/pBCBkAAAEWQZvvSeEPJlMCK/8AKI41fuekXG59Knbw4Y6YJrit\n",
987 "sh9VtQgc3QKvVmxrzzo7f4aXn8N74eyP4b2lV1Z2Q+rohxps7EHTkOY9jLdqxI3MXe7je4g2qepz\n",
988 "71+hY+jYdX+9LO0kA0Zg3NfyAlIRX7k6c/YHAZNtNaGZgTBMqiPgmEjiJH9Luk7shbgr+srfwiYw\n",
989 "BX9rdS3fQNNFwcT8orQC+F60LAY9+GbFo2Sw3Ld4Tw9jq9yJtrY8RtHAdzytyek/mv2+j2TbTvAQ\n",
990 "KbbCYtdC8E/KtR4V5ZTSScr5Wb63vmbw7UpddEXYvl55pARyyvMxWNSh3Li4GF8Jk5JBi5B5ASQw\n",
991 "xCMYpX5hkAMc+d8tl2bT+IEvUTsAAAElQZoQSeEPJlMCK/8AJIAzFZs00JJ0yfm8CZiew4xWdArL\n",
992 "klEvBVXo/+ukPLu3XP9HFOfsme3T6BJEKmPPgZw/Lxnraq6Sl2kLVW19YU1qmqgfv+80LkZaWU5g\n",
993 "RAH4hqyo3bFYcbuY2SC3IW5Wm69gtYyAXOdbAYSEHA16fvCeRQjHEsxKVndJdrRAlrGHsKgUBQ3U\n",
994 "p/ZXIy1vkdFOfKSjpuZnswkuqr8NZI5tJ/dnBSErBTNWPaNwWV7nNomC0EYVGo+geGBhLXzaLw0U\n",
995 "AOCYGjiPc3803BDw1GLoLIXjrIFJxwRfBNIAXYZAglu30oYzhpAfRWSprkeULMWYJTlWvbUQ5CNe\n",
996 "wSZssuDWIRAc3w8AcFaywwn+YSGhtR8VI1OGjYkfBbcAAAD8QZoxSeEPJlMCK/8AJdokjCUETRw/\n",
997 "nciVPtaZQSBP/VxAQSITASEzlJBl9Na1r0DJhLOz279+KQLtl/xHZ8vAKc528mTMTqtWs4sFbeVg\n",
998 "HWyBpHcHEtgTzjIqEinp/MPuUXF5poo8YLSSMFn9Ozx2FbU5/Kh9A39oN9NHQflVxV1NA6yT/84H\n",
999 "HyfMtfdSMS8KTvAEE2lDs14VQayNs5ctjXboQT7xMBf5OLj6thhPvgaDrFB2o/PV9ouK147lruWT\n",
1000 "P2mkoA9oDIMYW1pcBx4yyV/t9GOPZ3aXneMUb2fFmUCX43BjXfUDMaa4GO2/Ankj3UEQwDxA7ZlN\n",
1001 "UQK2AAAA4UGaUknhDyZTAiv/ACJHv33I08bkhybYiJ/JiiheW5zMPBu4n5CxGr3frhE7TkLh0vPk\n",
1002 "tM8m/AhaDiJisdk5QXNe/4WmxEDSAyaVi4eUVu0iHT2ly/KNTGqiORqA2oKpTjh84nYbrpXwnGv9\n",
1003 "SOf/34Z06xN6Yo3t35UZrP8nlcs/63GtnEmnUwVZHBYfPM6bs5M5AeBfAQ/9mIqu7vnEst+5O2wp\n",
1004 "PjzdItjwGCZ2ApHVjGnYYFomlA9nm6AXnxNIWHIsDgxCk3zx+6QbXipu/CWLG1Wf0WIbt4C0JPVl\n",
1005 "3TEb0QAAAMlBmnNJ4Q8mUwIr/wAVV64OfTKmlktYOqZHH1W1DhPy/X/6sD4T6hRdzfOgNtTOX2Ic\n",
1006 "kRJHshfBQVkJIzns079io6kpJFCcS3VD4zrWCn/dNaGV0kWTpFBRuusfn8F0C0R/EhsQeyTsdZft\n",
1007 "EkLGb5tq+nrir3vfmeb7rjmWJRXkIrTEKu8pIuAd+4FBGp8ARgGe80Jqpp//s1433HqBFqXsIFJT\n",
1008 "mU8j/toF9HyueI1Ea4uvsQ6NANGcYCbOAKCmbNiwABMCFaiUTMAAAAPSbW9vdgAAAGxtdmhkAAAA\n",
1009 "AHwlsIB8JbCAAAAD6AAAAyAAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAA\n",
1010 "AAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAv10cmFrAAAAXHRraGQA\n",
1011 "AAAPfCWwgHwlsIAAAAABAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAB\n",
1012 "AAAAAAAAAAAAAAAAAABAAAAAAY4AAAGGAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAMgAAAA\n",
1013 "AgABAAAAAAJ1bWRpYQAAACBtZGhkAAAAAHwlsIB8JbCAAAAAGQAAABRVxAAAAAAALWhkbHIAAAAA\n",
1014 "AAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACIG1pbmYAAAAUdm1oZAAAAAEAAAAA\n",
1015 "AAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAeBzdGJsAAAAtHN0c2QA\n",
1016 "AAAAAAAAAQAAAKRhdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAY4BhgBIAAAASAAAAAAAAAAB\n",
1017 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAAMmF2Y0MBZAAV/+EAGWdkABWs\n",
1018 "2UGQz6mhAAADAAEAAAMAMg8WLZYBAAZo6+PLIsAAAAAcdXVpZGtoQPJfJE/FujmlG88DI/MAAAAA\n",
1019 "AAAAGHN0dHMAAAAAAAAAAQAAABQAAAABAAAAFHN0c3MAAAAAAAAAAQAAAAEAAAAYY3R0cwAAAAAA\n",
1020 "AAABAAAAFAAAAAIAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAEAAAABAAAAZHN0c3oAAAAAAAAAAAAA\n",
1021 "ABQAAA05AAACqQAAAl8AAAITAAACiwAAAh8AAAIvAAABiAAAAVsAAAE5AAABWwAAAUQAAAFmAAAA\n",
1022 "/QAAAUEAAAEaAAABKQAAAQAAAADlAAAAzQAAAGBzdGNvAAAAAAAAABQAAAAsAAANZQAAEA4AABJt\n",
1023 "AAAUgAAAFwsAABkqAAAbWQAAHOEAAB48AAAfdQAAINAAACIUAAAjegAAJHcAACW4AAAm0gAAJ/sA\n",
1024 "ACj7AAAp4AAAAGF1ZHRhAAAAWW1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAA\n",
1025 "AAAAAAAALGlsc3QAAAAkqXRvbwAAABxkYXRhAAAAAQAAAABMYXZmNTIuMTExLjA=\n",
1026 "\">"
1027 ],
1028 "output_type": "pyout",
1029 "prompt_number": 8,
1030 "text": [
1031 "<IPython.core.display.HTML at 0x10fba28d0>"
1032 ]
1033 }
1034 ],
1035 "prompt_number": 8
1036 },
1037 {
1038 "cell_type": "markdown",
1039 "metadata": {
1040 "slideshow": {
1041 "slide_type": "slide"
1042 }
1043 },
1044 "source": [
1045 "## Local Files\n",
1046 "\n",
1047 "The above examples embed images and video from the notebook filesystem in the output\n",
1048 "areas of code cells. It is also possible to request these files directly in markdown cells\n",
1049 "if they reside in the notebook directory via relative urls prefixed with `files/`:\n",
1050 "\n",
1051 " files/[subdirectory/]<filename>"
1052 ]
1053 },
1054 {
1055 "cell_type": "markdown",
1056 "metadata": {
1057 "slideshow": {
1058 "slide_type": "skip"
1059 }
1060 },
1061 "source": [
1062 "For example, in the example notebook folder, we have the Python logo, addressed as:\n",
1063 "\n",
1064 " <img src=\"files/python-logo.svg\" />\n",
1065 "\n",
1066 "<img src=\"/files/python-logo.svg\" />\n",
1067 "\n",
1068 "and a video with the HTML5 video tag:\n",
1069 "\n",
1070 " <video controls src=\"files/animation.m4v\" />\n",
1071 "\n",
1072 "<video controls src=\"/files/animation.m4v\" />\n",
1073 "\n",
1074 "These do not embed the data into the notebook file,\n",
1075 "and require that the files exist when you are viewing the notebook.\n",
1076 "\n",
1077 "### Security of local files\n",
1078 "\n",
1079 "Note that this means that the IPython notebook server also acts as a generic file server\n",
1080 "for files inside the same tree as your notebooks. Access is not granted outside the\n",
1081 "notebook folder so you have strict control over what files are visible, but for this\n",
1082 "reason it is highly recommended that you do not run the notebook server with a notebook\n",
1083 "directory at a high level in your filesystem (e.g. your home directory).\n",
1084 "\n",
1085 "When you run the notebook in a password-protected manner, local file access is restricted\n",
1086 "to authenticated users unless read-only views are active."
1087 ]
1088 },
1089 {
1090 "cell_type": "markdown",
1091 "metadata": {
1092 "slideshow": {
1093 "slide_type": "slide"
1094 }
1095 },
1096 "source": [
1097 "## Linking to files and directories for viewing in the browser\n",
1098 "\n",
1099 "It is also possible to link directly to files or directories so they can be opened in the browser. This is especially convenient if you're interacting with a tool within IPython that generates HTML pages, and you'd like to easily be able to open those in a new browser window. Alternatively, if your IPython notebook server is on a remote system, creating links provides an easy way to download any files that get generated.\n",
1100 "\n",
1101 "As we saw above, there are a bunch of `.ipynb` files in our current directory."
1102 ]
1103 },
1104 {
1105 "cell_type": "code",
1106 "collapsed": false,
1107 "input": [
1108 "ls"
1109 ],
1110 "language": "python",
1111 "metadata": {},
1112 "outputs": [
1113 {
1114 "output_type": "stream",
1115 "stream": "stdout",
1116 "text": [
1117 "00_notebook_tour.ipynb formatting.ipynb\r\n",
1118 "01_notebook_introduction.ipynb octavemagic_extension.ipynb\r\n",
1119 "Animations_and_Progress.ipynb publish_data.ipynb\r\n",
1120 "Capturing Output.ipynb python-logo.svg\r\n",
1121 "Script Magics.ipynb rmagic_extension.ipynb\r\n",
1122 "animation.m4v sympy.ipynb\r\n",
1123 "cython_extension.ipynb sympy_quantum_computing.ipynb\r\n",
1124 "display_protocol.ipynb trapezoid_rule.ipynb\r\n"
1125 ]
1126 }
1127 ],
1128 "prompt_number": 1
1129 },
1130 {
1131 "cell_type": "markdown",
1132 "metadata": {
1133 "slideshow": {
1134 "slide_type": "subslide"
1135 }
1136 },
1137 "source": [
1138 "If we want to create a link to one of them, we can call use the `FileLink` object."
1139 ]
1140 },
1141 {
1142 "cell_type": "code",
1143 "collapsed": false,
1144 "input": [
1145 "from IPython.display import FileLink\n",
1146 "FileLink('00_notebook_tour.ipynb')"
1147 ],
1148 "language": "python",
1149 "metadata": {},
1150 "outputs": [
1151 {
1152 "html": [
1153 "<a href='files/00_notebook_tour.ipynb' target='_blank'>00_notebook_tour.ipynb</a><br>"
1154 ],
1155 "output_type": "pyout",
1156 "prompt_number": 2,
1157 "text": [
1158 "<IPython.lib.display.FileLink at 0x10f7ea3d0>"
1159 ]
1160 }
1161 ],
1162 "prompt_number": 2
1163 },
1164 {
1165 "cell_type": "markdown",
1166 "metadata": {
1167 "slideshow": {
1168 "slide_type": "subslide"
1169 }
1170 },
1171 "source": [
1172 "Alternatively, if we want to link to all of them, we can use the `FileLinks` object, passing `'.'` to indicate that we want links generated for the current working directory. Note that if there were other directories under the current directory, `FileLinks` would work in a recursive manner creating links to files in all sub-directories as well."
1173 ]
1174 },
1175 {
1176 "cell_type": "code",
1177 "collapsed": false,
1178 "input": [
1179 "from IPython.display import FileLinks\n",
1180 "FileLinks('.')"
1181 ],
1182 "language": "python",
1183 "metadata": {},
1184 "outputs": [
1185 {
1186 "html": [
1187 "<a href='files/./00_notebook_tour.ipynb' target='_blank'>00_notebook_tour.ipynb</a><br>\n",
1188 "<a href='files/./01_notebook_introduction.ipynb' target='_blank'>01_notebook_introduction.ipynb</a><br>\n",
1189 "<a href='files/./animation.m4v' target='_blank'>animation.m4v</a><br>\n",
1190 "<a href='files/./Animations_and_Progress.ipynb' target='_blank'>Animations_and_Progress.ipynb</a><br>\n",
1191 "<a href='files/./Capturing Output.ipynb' target='_blank'>Capturing Output.ipynb</a><br>\n",
1192 "<a href='files/./cython_extension.ipynb' target='_blank'>cython_extension.ipynb</a><br>\n",
1193 "<a href='files/./display_protocol.ipynb' target='_blank'>display_protocol.ipynb</a><br>\n",
1194 "<a href='files/./formatting.ipynb' target='_blank'>formatting.ipynb</a><br>\n",
1195 "<a href='files/./octavemagic_extension.ipynb' target='_blank'>octavemagic_extension.ipynb</a><br>\n",
1196 "<a href='files/./publish_data.ipynb' target='_blank'>publish_data.ipynb</a><br>\n",
1197 "<a href='files/./python-logo.svg' target='_blank'>python-logo.svg</a><br>\n",
1198 "<a href='files/./rmagic_extension.ipynb' target='_blank'>rmagic_extension.ipynb</a><br>\n",
1199 "<a href='files/./Script Magics.ipynb' target='_blank'>Script Magics.ipynb</a><br>\n",
1200 "<a href='files/./sympy.ipynb' target='_blank'>sympy.ipynb</a><br>\n",
1201 "<a href='files/./sympy_quantum_computing.ipynb' target='_blank'>sympy_quantum_computing.ipynb</a><br>\n",
1202 "<a href='files/./trapezoid_rule.ipynb' target='_blank'>trapezoid_rule.ipynb</a><br>"
1203 ],
1204 "output_type": "pyout",
1205 "prompt_number": 7,
1206 "text": [
1207 "<IPython.lib.display.FileLinks at 0x10f7eaad0>"
1208 ]
1209 }
1210 ],
1211 "prompt_number": 7
1212 },
1213 {
1214 "cell_type": "markdown",
1215 "metadata": {
1216 "slideshow": {
1217 "slide_type": "slide"
1218 }
1219 },
1220 "source": [
1221 "### External sites\n",
1222 "\n",
1223 "You can even embed an entire page from another site in an iframe; for example this is today's Wikipedia\n",
1224 "page for mobile users:"
1225 ]
1226 },
1227 {
1228 "cell_type": "code",
1229 "collapsed": false,
1230 "input": [
1231 "HTML('<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350></iframe>')"
1232 ],
1233 "language": "python",
1234 "metadata": {},
1235 "outputs": [
1236 {
1237 "html": [
1238 "<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350></iframe>"
1239 ],
1240 "output_type": "pyout",
1241 "prompt_number": 9,
1242 "text": [
1243 "<IPython.core.display.HTML at 0x1094900d0>"
1244 ]
1245 }
1246 ],
1247 "prompt_number": 9
1248 },
1249 {
1250 "cell_type": "markdown",
1251 "metadata": {
1252 "slideshow": {
1253 "slide_type": "slide"
1254 }
1255 },
1256 "source": [
1257 "### Mathematics\n",
1258 "\n",
1259 "And we also support the display of mathematical expressions typeset in LaTeX, which is rendered\n",
1260 "in the browser thanks to the [MathJax library](http://mathjax.org). \n",
1261 "\n",
1262 "Note that this is *different* from the above examples. Above we were typing mathematical expressions\n",
1263 "in Markdown cells (along with normal text) and letting the browser render them; now we are displaying\n",
1264 "the output of a Python computation as a LaTeX expression wrapped by the `Math()` object so the browser\n",
1265 "renders it. The `Math` object will add the needed LaTeX delimiters (`$$`) if they are not provided:"
1266 ]
1267 },
1268 {
1269 "cell_type": "code",
1270 "collapsed": false,
1271 "input": [
1272 "from IPython.display import Math\n",
1273 "Math(r'F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx')"
1274 ],
1275 "language": "python",
1276 "metadata": {},
1277 "outputs": [
1278 {
1279 "latex": [
1280 "$$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$$"
1281 ],
1282 "output_type": "pyout",
1283 "prompt_number": 10,
1284 "text": [
1285 "<IPython.core.display.Math at 0x10fba26d0>"
1286 ]
1287 }
1288 ],
1289 "prompt_number": 10
1290 },
1291 {
1292 "cell_type": "markdown",
1293 "metadata": {
1294 "slideshow": {
1295 "slide_type": "subslide"
1296 }
1297 },
1298 "source": [
1299 "With the `Latex` class, you have to include the delimiters yourself. This allows you to use other LaTeX modes such as `eqnarray`:"
1300 ]
1301 },
1302 {
1303 "cell_type": "code",
1304 "collapsed": false,
1305 "input": [
1306 "from IPython.display import Latex\n",
1307 "Latex(r\"\"\"\\begin{eqnarray}\n",
1308 "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n",
1309 "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n",
1310 "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n",
1311 "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n",
1312 "\\end{eqnarray}\"\"\")"
1313 ],
1314 "language": "python",
1315 "metadata": {},
1316 "outputs": [
1317 {
1318 "latex": [
1319 "\\begin{eqnarray}\n",
1320 "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n",
1321 "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n",
1322 "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n",
1323 "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n",
1324 "\\end{eqnarray}"
1325 ],
1326 "output_type": "pyout",
1327 "prompt_number": 11,
1328 "text": [
1329 "<IPython.core.display.Latex at 0x10fba2c10>"
1330 ]
1331 }
1332 ],
1333 "prompt_number": 11
1334 },
1335 {
1336 "cell_type": "markdown",
1337 "metadata": {
1338 "slideshow": {
1339 "slide_type": "subslide"
1340 }
1341 },
1342 "source": [
1343 "Or you can enter latex directly with the `%%latex` cell magic:"
1344 ]
1345 },
1346 {
1347 "cell_type": "code",
1348 "collapsed": false,
1349 "input": [
1350 "%%latex\n",
1351 "\\begin{aligned}\n",
1352 "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n",
1353 "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n",
1354 "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n",
1355 "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0\n",
1356 "\\end{aligned}"
1357 ],
1358 "language": "python",
1359 "metadata": {},
1360 "outputs": [
1361 {
1362 "latex": [
1363 "\\begin{aligned}\n",
1364 "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n",
1365 "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n",
1366 "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n",
1367 "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0\n",
1368 "\\end{aligned}"
1369 ],
1370 "output_type": "display_data",
1371 "text": [
1372 "<IPython.core.display.Latex at 0x10a617c90>"
1373 ]
1374 }
1375 ],
1376 "prompt_number": 12
1377 },
1378 {
1379 "cell_type": "markdown",
1380 "metadata": {
1381 "slideshow": {
1382 "slide_type": "skip"
1383 }
1384 },
1385 "source": [
1386 "There is also a `%%javascript` cell magic for running javascript directly,\n",
1387 "and `%%svg` for manually entering SVG content."
1388 ]
1389 },
1390 {
1391 "cell_type": "markdown",
1392 "metadata": {
1393 "slideshow": {
1394 "slide_type": "slide"
1395 }
1396 },
1397 "source": [
1398 "# Loading external codes\n",
1399 "* Drag and drop a ``.py`` in the dashboard\n",
1400 "* Use ``%load`` with any local or remote url: [the Matplotlib Gallery!](http://matplotlib.sourceforge.net/gallery.html)\n",
1401 "\n",
1402 "In this notebook we've kept the output saved so you can see the result, but you should run the next\n",
1403 "cell yourself (with an active internet connection)."
1404 ]
1405 },
1406 {
1407 "cell_type": "markdown",
1408 "metadata": {
1409 "slideshow": {
1410 "slide_type": "subslide"
1411 }
1412 },
1413 "source": [
1414 "Let's make sure we have pylab again, in case we have restarted the kernel due to the crash demo above"
1415 ]
1416 },
1417 {
1418 "cell_type": "code",
1419 "collapsed": false,
1420 "input": [
1421 "%pylab inline"
1422 ],
1423 "language": "python",
1424 "metadata": {
1425 "slideshow": {
1426 "slide_type": "fragment"
1427 }
1428 },
1429 "outputs": [
1430 {
1431 "output_type": "stream",
1432 "stream": "stdout",
1433 "text": [
1434 "\n",
1435 "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n",
1436 "For more information, type 'help(pylab)'.\n"
1437 ]
1438 }
1439 ],
1440 "prompt_number": 12
1441 },
1442 {
1443 "cell_type": "code",
1444 "collapsed": false,
1445 "input": [
1446 "%load http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/integral_demo.py"
1447 ],
1448 "language": "python",
1449 "metadata": {
1450 "slideshow": {
1451 "slide_type": "fragment"
1452 }
1453 },
1454 "outputs": [],
1455 "prompt_number": 15
1456 },
1457 {
1458 "cell_type": "code",
1459 "collapsed": false,
1460 "input": [
1461 "#!/usr/bin/env python\n",
1462 "\n",
1463 "# implement the example graphs/integral from pyx\n",
1464 "from pylab import *\n",
1465 "from matplotlib.patches import Polygon\n",
1466 "\n",
1467 "def func(x):\n",
1468 " return (x-3)*(x-5)*(x-7)+85\n",
1469 "\n",
1470 "ax = subplot(111)\n",
1471 "\n",
1472 "a, b = 2, 9 # integral area\n",
1473 "x = arange(0, 10, 0.01)\n",
1474 "y = func(x)\n",
1475 "plot(x, y, linewidth=1)\n",
1476 "\n",
1477 "# make the shaded region\n",
1478 "ix = arange(a, b, 0.01)\n",
1479 "iy = func(ix)\n",
1480 "verts = [(a,0)] + zip(ix,iy) + [(b,0)]\n",
1481 "poly = Polygon(verts, facecolor='0.8', edgecolor='k')\n",
1482 "ax.add_patch(poly)\n",
1483 "\n",
1484 "text(0.5 * (a + b), 30,\n",
1485 " r\"$\\int_a^b f(x)\\mathrm{d}x$\", horizontalalignment='center',\n",
1486 " fontsize=20)\n",
1487 "\n",
1488 "axis([0,10, 0, 180])\n",
1489 "figtext(0.9, 0.05, 'x')\n",
1490 "figtext(0.1, 0.9, 'y')\n",
1491 "ax.set_xticks((a,b))\n",
1492 "ax.set_xticklabels(('a','b'))\n",
1493 "ax.set_yticks([])\n",
1494 "show()\n"
1495 ],
1496 "language": "python",
1497 "metadata": {
1498 "slideshow": {
1499 "slide_type": "skip"
1500 }
1501 },
1502 "outputs": [
1503 {
1504 "output_type": "display_data",
1505 "png": "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\ng23UdEXM4ccffzS6hFo5pem+/roj5XrwGEVEmgFPnuWe0uQLaVu3Qno6/PvfzijHM/n4+LBv3z6e\nfvppo0vJDkGKAAAB1ElEQVQRkVrYbDajS6iTxV7L1NkMf2qIiHii87XWWpOup18FFBExGx28KCLi\nRmq6IiJupKZbh9tuu43evXuTnJzMhx9+aHQ5IlKDvLw8uprkziyXP4Ld7D7++GOioqIoLy+nb9++\n3H777bRs2dLoskTEpJR06/D222/TvXt3BgwYQEFBATk5OUaXJCI1qK6uZtSoUXTp0oU777yT8vJy\no0uqkZpuLX788UeWLFlCWloaGzdupHv37lRWVhpdlojUICsri7Fjx5KZmUlERATvvvuu0SXVSE23\nFsXFxURFRREUFMS2bdtIS0szuiQROY/27dszYMAAAEaNGsXy5csNrqhmarq1uP7666murqZLly48\n++yzp/+DiojnOfNmLk8+3lEX0moREBDAwoULjS5DROohPz+ftLQ0+vfvz7x587jiiiuMLqlGSroi\nYnoWi4XExETeeecdunTpwrFjx3j00UeNLqtGtZ69ICIizqWkKyLiRmq6IiJupKYrIuJka9asoVu3\nblRWVlJaWkpycjKZmZmAZroiIi4xadIkKioqKC8vp3379kycOBFQ0xURcYkTJ07Qu3dvgoOD+eWX\nX07vG9Z4QUTEBQ4dOkRpaSklJSVnnQPx/xV9BfkfDyZLAAAAAElFTkSuQmCC\n"
1506 }
1507 ],
1508 "prompt_number": 16
1509 }
1510 ],
1511 "metadata": {}
1512 }
1513 ]
1514 } No newline at end of file
This diff has been collapsed as it changes many lines, (876 lines changed) Show them Hide them
@@ -0,0 +1,876 b''
1 {%- extends 'basichtml.tpl' -%}
2
3
4 {% block any_cell -%}
5
6 {% if cell.metadata.slideshow.close_fragment %}
7 </div>
8 {% endif %}
9 {% if cell.metadata.slideshow.close_subsection %}
10 </section>
11 {% endif %}
12 {% if cell.metadata.slideshow.close_section %}
13 </section>
14 {% endif %}
15
16 {% if cell.metadata.slideshow.open_section %}
17 <section>
18 {%- endif %}
19 {% if cell.metadata.slideshow.open_subsection %}
20 <section>
21 {%- endif %}
22 {% if cell.metadata.slideshow.open_fragment %}
23 <div class='fragment'>
24 {% endif %}
25 {% if cell.metadata.slideshow.slide_type in ['notes'] %}
26 <aside class="notes">
27 {{ super() }}
28 </aside>
29 {% elif cell.metadata.slideshow.slide_tyle not in ['skip'] %}
30 {{ super() }}
31 {% endif %}
32
33 {% endblock %}
34
35
36 {% block body %}
37 <body>
38 <div class="reveal"><div class="slides">
39 {{ super() }}
40 </section>
41 </section>
42 </div></div>
43
44 <script src="reveal/lib/js/head.min.js"></script>
45
46 <script src="reveal/js/reveal.min.js"></script>
47
48 <script>
49
50 // Full list of configuration options available here: https://github.com/hakimel/reveal.js#configuration
51 Reveal.initialize({
52 controls: true,
53 progress: true,
54 history: true,
55
56 theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
57 transition: Reveal.getQueryHash().transition || 'linear', // default/cube/page/concave/zoom/linear/none
58
59 // Optional libraries used to extend on reveal.js
60 dependencies: [
61 { src: 'reveal/lib/js/classList.js', condition: function() { return !document.body.classList; } },
62 { src: 'reveal/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
63 { src: 'reveal/plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
64 { src: 'notes/notes.js', async: true, condition: function() { return !!document.body.classList; } },
65 { src: 'https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS_HTML', async: true },
66 { src: 'js/revealmathjax.js', async: true}
67 ]
68 });
69 </script>
70
71 <script>
72 Reveal.addEventListener( 'slidechanged', function( event ) {
73 MathJax.Hub.Rerender(event.currentSlide);
74 });
75 </script>
76 </body>
77 </html>{% endblock body %}
78
79
80
81
82 {% block header %}<!DOCTYPE html>
83 <html>
84 <head>
85
86 <meta charset="utf-8" />
87 <meta http-equiv="X-UA-Compatible" content="chrome=1">
88
89 <meta name="apple-mobile-web-app-capable" content="yes" />
90 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
91
92 <link rel="stylesheet" href="reveal/css/reveal.css">
93 <link rel="stylesheet" href="reveal/css/theme/simple.css" id="theme">
94
95 <!-- For syntax highlighting -->
96 <link rel="stylesheet" href="reveal/lib/css/zenburn.css">
97
98 <!-- If the query includes 'print-pdf', use the PDF print sheet -->
99 <script>
100 document.write( '<link rel="stylesheet" href="reveal/css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
101 </script>
102
103 <!--[if lt IE 9]>
104 <script src="reveal/lib/js/html5shiv.js"></script>
105 <![endif]-->
106
107 <style type="text/css">
108 /**
109 * HTML5 ✰ Boilerplate
110 *
111 * style.css contains a reset, font normalization and some base styles.
112 *
113 * Credit is left where credit is due.
114 * Much inspiration was taken from these projects:
115 * - yui.yahooapis.com/2.8.1/build/base/base.css
116 * - camendesign.com/design/
117 * - praegnanz.de/weblog/htmlcssjs-kickstart
118 */
119
120
121 /**
122 * html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
123 * v1.6.1 2010-09-17 | Authors: Eric Meyer & Richard Clark
124 * html5doctor.com/html-5-reset-stylesheet/
125 */
126
127 html, body, div, span, object, iframe,
128 h1, h2, h3, h4, h5, h6, p, blockquote, pre,
129 abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
130 small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
131 fieldset, form, label, legend,
132 table, caption, tbody, tfoot, thead, tr, th, td,
133 article, aside, canvas, details, figcaption, figure,
134 footer, header, hgroup, menu, nav, section, summary,
135 time, mark, audio, video {
136 margin: 0;
137 padding: 0;
138 border: 0;
139 font-size: 100%;
140 font: inherit;
141 vertical-align: baseline;
142 }
143
144 sup { vertical-align: super; }
145 sub { vertical-align: sub; }
146
147 article, aside, details, figcaption, figure,
148 footer, header, hgroup, menu, nav, section {
149 display: block;
150 }
151
152 blockquote, q { quotes: none; }
153
154 blockquote:before, blockquote:after,
155 q:before, q:after { content: ""; content: none; }
156
157 ins { background-color: #ff9; color: #000; text-decoration: none; }
158
159 mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
160
161 del { text-decoration: line-through; }
162
163 abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
164
165 table { border-collapse: collapse; border-spacing: 0; }
166
167 hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
168
169 input, select { vertical-align: middle; }
170
171
172 /**
173 * Font normalization inspired by YUI Library's fonts.css: developer.yahoo.com/yui/
174 */
175
176 body { font:13px/1.231 sans-serif; *font-size:small; } /* Hack retained to preserve specificity */
177 select, input, textarea, button { font:99% sans-serif; }
178
179 /* Normalize monospace sizing:
180 en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */
181 pre, code, kbd, samp { font-family: monospace, sans-serif; }
182
183 em,i { font-style: italic; }
184 b,strong { font-weight: bold; }
185
186 </style>
187 <style type="text/css">
188
189 /* Flexible box model classes */
190 /* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
191
192 .hbox {
193 display: -webkit-box;
194 -webkit-box-orient: horizontal;
195 -webkit-box-align: stretch;
196
197 display: -moz-box;
198 -moz-box-orient: horizontal;
199 -moz-box-align: stretch;
200
201 display: box;
202 box-orient: horizontal;
203 box-align: stretch;
204 }
205
206 .hbox > * {
207 -webkit-box-flex: 0;
208 -moz-box-flex: 0;
209 box-flex: 0;
210 }
211
212 .vbox {
213 display: -webkit-box;
214 -webkit-box-orient: vertical;
215 -webkit-box-align: stretch;
216
217 display: -moz-box;
218 -moz-box-orient: vertical;
219 -moz-box-align: stretch;
220
221 display: box;
222 box-orient: vertical;
223 box-align: stretch;
224 }
225
226 .vbox > * {
227 -webkit-box-flex: 0;
228 -moz-box-flex: 0;
229 box-flex: 0;
230 }
231
232 .reverse {
233 -webkit-box-direction: reverse;
234 -moz-box-direction: reverse;
235 box-direction: reverse;
236 }
237
238 .box-flex0 {
239 -webkit-box-flex: 0;
240 -moz-box-flex: 0;
241 box-flex: 0;
242 }
243
244 .box-flex1, .box-flex {
245 -webkit-box-flex: 1;
246 -moz-box-flex: 1;
247 box-flex: 1;
248 }
249
250 .box-flex2 {
251 -webkit-box-flex: 2;
252 -moz-box-flex: 2;
253 box-flex: 2;
254 }
255
256 .box-group1 {
257 -webkit-box-flex-group: 1;
258 -moz-box-flex-group: 1;
259 box-flex-group: 1;
260 }
261
262 .box-group2 {
263 -webkit-box-flex-group: 2;
264 -moz-box-flex-group: 2;
265 box-flex-group: 2;
266 }
267
268 .start {
269 -webkit-box-pack: start;
270 -moz-box-pack: start;
271 box-pack: start;
272 }
273
274 .end {
275 -webkit-box-pack: end;
276 -moz-box-pack: end;
277 box-pack: end;
278 }
279
280 .center {
281 -webkit-box-pack: center;
282 -moz-box-pack: center;
283 box-pack: center;
284 }
285
286 </style>
287 <style type="text/css">
288 /**
289 * Primary styles
290 *
291 * Author: IPython Development Team
292 */
293
294
295 body {
296 overflow: hidden;
297 }
298
299 blockquote {
300 border-left: 4px solid #DDD;
301 padding: 0 15px;
302 color: #777;
303 }
304
305 span#save_widget {
306 padding: 5px;
307 margin: 0px 0px 0px 300px;
308 display:inline-block;
309 }
310
311 span#notebook_name {
312 height: 1em;
313 line-height: 1em;
314 padding: 3px;
315 border: none;
316 font-size: 146.5%;
317 }
318
319 .ui-menubar-item .ui-button .ui-button-text {
320 padding: 0.4em 1.0em;
321 font-size: 100%;
322 }
323
324 .ui-menu {
325 -moz-box-shadow: 0px 6px 10px -1px #adadad;
326 -webkit-box-shadow: 0px 6px 10px -1px #adadad;
327 box-shadow: 0px 6px 10px -1px #adadad;
328 }
329
330 .ui-menu .ui-menu-item a {
331 border: 1px solid transparent;
332 padding: 2px 1.6em;
333 }
334
335 .ui-menu .ui-menu-item a.ui-state-focus {
336 margin: 0;
337 }
338
339 .ui-menu hr {
340 margin: 0.3em 0;
341 }
342
343 #menubar_container {
344 position: relative;
345 }
346
347 #notification_area {
348 position: absolute;
349 right: 0px;
350 top: 0px;
351 height: 25px;
352 padding: 3px 0px;
353 padding-right: 3px;
354 z-index: 10;
355 }
356
357 .notification_widget{
358 float : right;
359 right: 0px;
360 top: 1px;
361 height: 25px;
362 padding: 3px 6px;
363 z-index: 10;
364 }
365
366 .toolbar {
367 padding: 3px 15px;
368 }
369
370 #maintoolbar > select, #maintoolbar label {
371 font-size: 85%;
372 margin-left:0.3em;
373 margin-right:0.3em;
374
375 }
376
377
378 div#main_app {
379 width: 100%;
380 position: relative;
381 }
382
383 span#quick_help_area {
384 position: static;
385 padding: 5px 0px;
386 margin: 0px 0px 0px 0px;
387 }
388
389 .help_string {
390 float: right;
391 width: 170px;
392 padding: 0px 5px;
393 text-align: left;
394 font-size: 85%;
395 }
396
397 .help_string_label {
398 float: right;
399 font-size: 85%;
400 }
401
402 div#notebook_panel {
403 margin: 0px 0px 0px 0px;
404 padding: 0px;
405 }
406
407 div#notebook {
408 overflow-y: scroll;
409 overflow-x: auto;
410 width: 100%;
411 /* This spaces the cell away from the edge of the notebook area */
412 padding: 5px 5px 15px 5px;
413 margin: 0px;
414 background-color: white;
415 }
416
417 div#pager_splitter {
418 height: 8px;
419 }
420
421 #pager_container {
422 position : relative;
423 }
424
425
426 div#pager {
427 padding: 15px;
428 overflow: auto;
429 display: none;
430 }
431
432 div.ui-widget-content {
433 border: 1px solid #aaa;
434 outline: none;
435 }
436
437 .cell {
438 border: 1px solid transparent;
439 }
440
441 div.cell {
442 width: 100%;
443 padding: 5px 5px 5px 0px;
444 /* This acts as a spacer between cells, that is outside the border */
445 margin: 2px 0px 2px 0px;
446 outline: none;
447 }
448
449 div.code_cell {
450 background-color: white;
451 }
452
453 /* any special styling for code cells that are currently running goes here */
454 div.code_cell.running {
455 }
456
457 div.prompt {
458 /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
459 width: 11ex;
460 /* This 0.4em is tuned to match the padding on the CodeMirror editor. */
461 padding: 0.4em;
462 margin: 0px;
463 font-family: monospace;
464 text-align:right;
465 }
466
467 div.input {
468 page-break-inside: avoid;
469 }
470
471 /* input_area and input_prompt must match in top border and margin for alignment */
472 div.input_area {
473 color: black;
474 border: 1px solid #ddd;
475 border-radius: 3px;
476 background: #f7f7f7;
477 }
478
479 div.input_prompt {
480 color: navy;
481 border-top: 1px solid transparent;
482 }
483
484 div.output_wrapper {
485 /* This is a spacer between the input and output of each cell */
486 margin-top: 5px;
487 margin-left: 5px;
488 /* FF needs explicit width to stretch */
489 width: 100%;
490 /* this position must be relative to enable descendents to be absolute within it */
491 position: relative;
492 }
493
494 /* class for the output area when it should be height-limited */
495 div.output_scroll {
496 /* ideally, this would be max-height, but FF barfs all over that */
497 height: 24em;
498 /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
499 width: 100%;
500
501 overflow: auto;
502 border-radius: 3px;
503 box-shadow: inset 0 2px 8px rgba(0, 0, 0, .8);
504 }
505
506 /* output div while it is collapsed */
507 div.output_collapsed {
508 margin-right: 5px;
509 }
510
511 div.out_prompt_overlay {
512 height: 100%;
513 padding: 0px;
514 position: absolute;
515 border-radius: 3px;
516 }
517
518 div.out_prompt_overlay:hover {
519 /* use inner shadow to get border that is computed the same on WebKit/FF */
520 box-shadow: inset 0 0 1px #000;
521 background: rgba(240, 240, 240, 0.5);
522 }
523
524 div.output_prompt {
525 color: darkred;
526 /* 5px right shift to account for margin in parent container */
527 margin: 0 5px 0 -5px;
528 }
529
530 /* This class is the outer container of all output sections. */
531 div.output_area {
532 padding: 0px;
533 page-break-inside: avoid;
534 }
535
536 /* This class is for the output subarea inside the output_area and after
537 the prompt div. */
538 div.output_subarea {
539 padding: 0.4em 0.4em 0.4em 0.4em;
540 }
541
542 /* The rest of the output_* classes are for special styling of the different
543 output types */
544
545 /* all text output has this class: */
546 div.output_text {
547 text-align: left;
548 color: black;
549 font-family: monospace;
550 }
551
552 /* stdout/stderr are 'text' as well as 'stream', but pyout/pyerr are *not* streams */
553 div.output_stream {
554 padding-top: 0.0em;
555 padding-bottom: 0.0em;
556 }
557 div.output_stdout {
558 }
559 div.output_stderr {
560 background: #fdd; /* very light red background for stderr */
561 }
562
563 div.output_latex {
564 text-align: left;
565 color: black;
566 }
567
568 div.output_html {
569 }
570
571 div.output_png {
572 }
573
574 div.output_jpeg {
575 }
576
577 div.text_cell {
578 background-color: white;
579 padding: 5px 5px 5px 5px;
580 }
581
582 div.text_cell_input {
583 color: black;
584 border: 1px solid #ddd;
585 border-radius: 3px;
586 background: #f7f7f7;
587 }
588
589 div.text_cell_render {
590 font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
591 outline: none;
592 resize: none;
593 width: inherit;
594 border-style: none;
595 padding: 5px;
596 color: black;
597 }
598
599 /* The following gets added to the <head> if it is detected that the user has a
600 * monospace font with inconsistent normal/bold/italic height. See
601 * notebookmain.js. Such fonts will have keywords vertically offset with
602 * respect to the rest of the text. The user should select a better font.
603 * See: https://github.com/ipython/ipython/issues/1503
604 *
605 * .CodeMirror span {
606 * vertical-align: bottom;
607 * }
608 */
609
610 .CodeMirror {
611 line-height: 1.231; /* Changed from 1em to our global default */
612 }
613
614 .CodeMirror-scroll {
615 height: auto; /* Changed to auto to autogrow */
616 /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
617 /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
618 overflow-y: hidden;
619 overflow-x: auto; /* Changed from auto to remove scrollbar */
620 }
621
622 /* CSS font colors for translated ANSI colors. */
623
624
625 .ansiblack {color: black;}
626 .ansired {color: darkred;}
627 .ansigreen {color: darkgreen;}
628 .ansiyellow {color: brown;}
629 .ansiblue {color: darkblue;}
630 .ansipurple {color: darkviolet;}
631 .ansicyan {color: steelblue;}
632 .ansigrey {color: grey;}
633 .ansibold {font-weight: bold;}
634
635 .completions {
636 position: absolute;
637 z-index: 10;
638 overflow: hidden;
639 border: 1px solid grey;
640 }
641
642 .completions select {
643 background: white;
644 outline: none;
645 border: none;
646 padding: 0px;
647 margin: 0px;
648 overflow: auto;
649 font-family: monospace;
650 }
651
652 option.context {
653 background-color: #DEF7FF;
654 }
655 option.introspection {
656 background-color: #EBF4EB;
657 }
658
659 /*fixed part of the completion*/
660 .completions p b {
661 font-weight:bold;
662 }
663
664 .completions p {
665 background: #DDF;
666 /*outline: none;
667 padding: 0px;*/
668 border-bottom: black solid 1px;
669 padding: 1px;
670 font-family: monospace;
671 }
672
673 pre.dialog {
674 background-color: #f7f7f7;
675 border: 1px solid #ddd;
676 border-radius: 3px;
677 padding: 0.4em;
678 padding-left: 2em;
679 }
680
681 p.dialog {
682 padding : 0.2em;
683 }
684
685 .shortcut_key {
686 display: inline-block;
687 width: 15ex;
688 text-align: right;
689 font-family: monospace;
690 }
691
692 .shortcut_descr {
693 }
694
695 /* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems
696 to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do.
697 */
698 pre, code, kbd, samp { white-space: pre-wrap; }
699
700 #fonttest {
701 font-family: monospace;
702 }
703
704 </style>
705 <style type="text/css">
706 .rendered_html {color: black;}
707 .rendered_html em {font-style: italic;}
708 .rendered_html strong {font-weight: bold;}
709 .rendered_html u {text-decoration: underline;}
710 .rendered_html :link { text-decoration: underline }
711 .rendered_html :visited { text-decoration: underline }
712 .rendered_html h1 {font-size: 197%; margin: .65em 0; font-weight: bold;}
713 .rendered_html h2 {font-size: 153.9%; margin: .75em 0; font-weight: bold;}
714 .rendered_html h3 {font-size: 123.1%; margin: .85em 0; font-weight: bold;}
715 .rendered_html h4 {font-size: 100% margin: 0.95em 0; font-weight: bold;}
716 .rendered_html h5 {font-size: 85%; margin: 1.5em 0; font-weight: bold;}
717 .rendered_html h6 {font-size: 77%; margin: 1.65em 0; font-weight: bold;}
718 .rendered_html ul {list-style:disc; margin: 1em 2em;}
719 .rendered_html ul ul {list-style:square; margin: 0em 2em;}
720 .rendered_html ul ul ul {list-style:circle; margin-left: 0em 2em;}
721 .rendered_html ol {list-style:upper-roman; margin: 1em 2em;}
722 .rendered_html ol ol {list-style:upper-alpha; margin: 0em 2em;}
723 .rendered_html ol ol ol {list-style:decimal; margin: 0em 2em;}
724 .rendered_html ol ol ol ol {list-style:lower-alpha; margin 0em 2em;}
725 .rendered_html ol ol ol ol ol {list-style:lower-roman; 0em 2em;}
726
727 .rendered_html hr {
728 color: black;
729 background-color: black;
730 }
731
732 .rendered_html pre {
733 margin: 1em 2em;
734 }
735
736 .rendered_html blockquote {
737 margin: 1em 2em;
738 }
739
740 .rendered_html table {
741 border: 1px solid black;
742 border-collapse: collapse;
743 margin: 1em 2em;
744 }
745
746 .rendered_html td {
747 border: 1px solid black;
748 text-align: left;
749 vertical-align: middle;
750 padding: 4px;
751 }
752
753 .rendered_html th {
754 border: 1px solid black;
755 text-align: left;
756 vertical-align: middle;
757 padding: 4px;
758 font-weight: bold;
759 }
760
761 .rendered_html tr {
762 border: 1px solid black;
763 }
764
765 .rendered_html p + p {
766 margin-top: 1em;
767 }
768
769
770 </style>
771 <style type="text/css">
772 /* Overrides of notebook CSS for static HTML export
773
774 */
775
776 .reveal {
777 font-size: 20px;
778 }
779 .reveal pre {
780 width: 100%;
781 padding: 0.2em;
782 margin: 0px auto;
783 font-family: monospace, sans-serif;
784 font-size: 60%;
785 box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
786 }
787 .reveal section img {
788 border: 0px solid black;
789 box-shadow: 0 0 10px rgba(0, 0, 0, 0);
790 }
791 div.input_area {
792 padding: 0.2em;
793 }
794 div.code_cell {
795 background-color: transparent;
796 }
797 div.prompt {
798 width: 11ex;
799 padding: 0.0em;
800 margin: 0px;
801 font-family: monospace;
802 font-size: 60%;
803 text-align: center;
804 }
805 div.output_prompt {
806 /* 5px right shift to account for margin in parent container */
807 margin: 5px 5px 0 -5px;
808 }
809
810 </style>
811 <meta charset="UTF-8">
812 <style type="text/css">
813 .highlight .hll { background-color: #ffffcc }
814 .highlight { background: #f8f8f8; }
815 .highlight .c { color: #408080; font-style: italic } /* Comment */
816 .highlight .err { border: 1px solid #FF0000 } /* Error */
817 .highlight .k { color: #008000; font-weight: bold } /* Keyword */
818 .highlight .o { color: #666666 } /* Operator */
819 .highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
820 .highlight .cp { color: #BC7A00 } /* Comment.Preproc */
821 .highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
822 .highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
823 .highlight .gd { color: #A00000 } /* Generic.Deleted */
824 .highlight .ge { font-style: italic } /* Generic.Emph */
825 .highlight .gr { color: #FF0000 } /* Generic.Error */
826 .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
827 .highlight .gi { color: #00A000 } /* Generic.Inserted */
828 .highlight .go { color: #808080 } /* Generic.Output */
829 .highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
830 .highlight .gs { font-weight: bold } /* Generic.Strong */
831 .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
832 .highlight .gt { color: #0040D0 } /* Generic.Traceback */
833 .highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
834 .highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
835 .highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
836 .highlight .kp { color: #008000 } /* Keyword.Pseudo */
837 .highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
838 .highlight .kt { color: #B00040 } /* Keyword.Type */
839 .highlight .m { color: #666666 } /* Literal.Number */
840 .highlight .s { color: #BA2121 } /* Literal.String */
841 .highlight .na { color: #7D9029 } /* Name.Attribute */
842 .highlight .nb { color: #008000 } /* Name.Builtin */
843 .highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
844 .highlight .no { color: #880000 } /* Name.Constant */
845 .highlight .nd { color: #AA22FF } /* Name.Decorator */
846 .highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
847 .highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
848 .highlight .nf { color: #0000FF } /* Name.Function */
849 .highlight .nl { color: #A0A000 } /* Name.Label */
850 .highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
851 .highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
852 .highlight .nv { color: #19177C } /* Name.Variable */
853 .highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
854 .highlight .w { color: #bbbbbb } /* Text.Whitespace */
855 .highlight .mf { color: #666666 } /* Literal.Number.Float */
856 .highlight .mh { color: #666666 } /* Literal.Number.Hex */
857 .highlight .mi { color: #666666 } /* Literal.Number.Integer */
858 .highlight .mo { color: #666666 } /* Literal.Number.Oct */
859 .highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
860 .highlight .sc { color: #BA2121 } /* Literal.String.Char */
861 .highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
862 .highlight .s2 { color: #BA2121 } /* Literal.String.Double */
863 .highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
864 .highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
865 .highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
866 .highlight .sx { color: #008000 } /* Literal.String.Other */
867 .highlight .sr { color: #BB6688 } /* Literal.String.Regex */
868 .highlight .s1 { color: #BA2121 } /* Literal.String.Single */
869 .highlight .ss { color: #19177C } /* Literal.String.Symbol */
870 .highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
871 .highlight .vc { color: #19177C } /* Name.Variable.Class */
872 .highlight .vg { color: #19177C } /* Name.Variable.Global */
873 .highlight .vi { color: #19177C } /* Name.Variable.Instance */
874 .highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
875 </style>
876 </head>{% endblock %}
@@ -191,6 +191,7 b' class ConverterTemplate(Configurable):'
191 ## for compat, remove later
191 ## for compat, remove later
192 if self.extract_figures:
192 if self.extract_figures:
193 self.preprocessors.append(trans.ExtractFigureTransformer(config=config))
193 self.preprocessors.append(trans.ExtractFigureTransformer(config=config))
194 self.preprocessors.append(trans.RevealHelpTransformer(config=config))
194
195
195 ##
196 ##
196 self.env.filters['filter_data_type'] = self.filter_data_type
197 self.env.filters['filter_data_type'] = self.filter_data_type
@@ -132,3 +132,111 b' class ExtractFigureTransformer(ConfigurableTransformers):'
132 count = count+1
132 count = count+1
133 return cell, other
133 return cell, other
134
134
135 class RevealHelpTransformer(ConfigurableTransformers):
136
137 section_open = False
138 subsection_open = False
139 fragment_open = False
140
141 def open_subsection(self):
142 self.subsection_open = True
143 #print('open subsection')
144 return True
145
146 def open_section(self):
147 self.section_open = True
148 #print('open section')
149 return True
150
151 def open_fragment(self):
152 self.fragment_open = True
153 #print('open fragment')
154 return True
155
156 def maybe_close_section(self):
157 """return True is already open, false otherwise
158 and change state to close
159 """
160 if self.section_open :
161 #print('close section')
162 self.section_open = False
163 return True
164 else :
165 return False
166
167 def maybe_open_section(self):
168 """return True is already open, false otherwise
169 and change state to close
170 """
171 if not self.section_open :
172 self.section_open = True
173 #print('open section (m)')
174 return True
175 else :
176 return False
177
178 def maybe_open_subsection(self):
179 """return True is already open, false otherwise
180 and change state to close
181 """
182 if not self.subsection_open :
183 #print('open subsection (m)')
184 self.subsection_open = True
185 return True
186 else :
187 return False
188
189 def maybe_close_subsection(self):
190 """return True is already open, false otherwise
191 and change state to close
192 """
193 if self.subsection_open :
194 #print('close subsection (m)')
195 self.subsection_open = False
196 return True
197 else :
198 return False
199
200 def maybe_close_fragment(self):
201 """return True is already open, false otherwise
202 and change state to close
203 """
204 if self.fragment_open :
205 self.fragment_open = False
206 #print('close fragment (m)')
207 return True
208 else :
209 return False
210
211 def cell_transform(self, cell, other,count):
212 ctype = cell.metadata.get('slideshow',{}).get('slide_type',None)
213 if ctype is None :
214 cell.metadata.slideshow = {}
215 cell.metadata.slideshow['slide_type'] = None
216 if ctype == 'fragment':
217 cell.metadata.slideshow.close_fragment = self.maybe_close_fragment()
218 cell.metadata.slideshow.close_subsection = False
219 cell.metadata.slideshow.close_section = False
220
221 cell.metadata.slideshow.open_section = self.maybe_open_section()
222 cell.metadata.slideshow.open_subsection = self.maybe_open_subsection()
223 cell.metadata.slideshow.open_fragment = self.open_fragment()
224
225 elif ctype == 'subslide':
226 cell.metadata.slideshow.close_fragment = self.maybe_close_fragment()
227 cell.metadata.slideshow.close_subsection = self.maybe_close_subsection()
228 cell.metadata.slideshow.close_section = False
229
230 cell.metadata.slideshow.open_section = self.maybe_open_section()
231 cell.metadata.slideshow.open_subsection = self.open_subsection()
232 cell.metadata.slideshow.open_fragment = False
233 elif ctype == 'slide':
234 cell.metadata.slideshow.close_fragment = self.maybe_close_fragment()
235 cell.metadata.slideshow.close_subsection = self.maybe_close_subsection()
236 cell.metadata.slideshow.close_section = self.maybe_close_section()
237
238 cell.metadata.slideshow.open_section = self.open_section()
239 cell.metadata.slideshow.open_subsection = self.open_subsection()
240 cell.metadata.slideshow.open_fragment = False
241 return cell,other
242
General Comments 0
You need to be logged in to leave comments. Login now