##// END OF EJS Templates
start writting more references test
Matthias BUSSONNIER -
Show More

The requested changes are too big and content was truncated. Show full diff

This diff has been collapsed as it changes many lines, (698 lines changed) Show them Hide them
@@ -0,0 +1,698 b''
1 A brief tour of the IPython notebook
2 ====================================
3
4 This document will give you a brief tour of the capabilities of the
5 IPython notebook.
6 You can view its contents by scrolling around, or execute each cell by
7 typing ``Shift-Enter``. After you conclude this brief high-level tour,
8 you should read the accompanying notebook titled
9 ``01_notebook_introduction``, which takes a more step-by-step approach
10 to the features of the system.
11
12 The rest of the notebooks in this directory illustrate various other
13 aspects and capabilities of the IPython notebook; some of them may
14 require additional libraries to be executed.
15
16 **NOTE:** This notebook *must* be run from its own directory, so you
17 must ``cd`` to this directory and then start the notebook, but do *not*
18 use the ``--notebook-dir`` option to run it from another location.
19
20 The first thing you need to know is that you are still controlling the
21 same old IPython you're used to, so things like shell aliases and magic
22 commands still work:
23
24 In[1]:
25
26 .. code:: python
27
28 pwd
29
30 Out[1]:
31
32 .. parsed-literal::
33
34 u'/Users/minrk/dev/ip/mine/docs/examples/notebooks'
35
36 In[2]:
37
38 .. code:: python
39
40 ls
41
42 .. parsed-literal::
43
44 00_notebook_tour.ipynb callbacks.ipynb python-logo.svg
45 01_notebook_introduction.ipynb cython_extension.ipynb rmagic_extension.ipynb
46 Animations_and_Progress.ipynb display_protocol.ipynb sympy.ipynb
47 Capturing Output.ipynb formatting.ipynb sympy_quantum_computing.ipynb
48 Script Magics.ipynb octavemagic_extension.ipynb trapezoid_rule.ipynb
49 animation.m4v progbar.ipynb
50
51
52 In[3]:
53
54 .. code:: python
55
56 message = 'The IPython notebook is great!'
57 # note: the echo command does not run on Windows, it's a unix command.
58 !echo $message
59
60 .. parsed-literal::
61
62 The IPython notebook is great!
63
64
65 Plots with matplotlib
66 ---------------------
67
68 IPython adds an 'inline' matplotlib backend, which embeds any matplotlib
69 figures into the notebook.
70
71 In[4]:
72
73 .. code:: python
74
75 %pylab inline
76
77 .. parsed-literal::
78
79
80 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
81 For more information, type 'help(pylab)'.
82
83
84 In[5]:
85
86 .. code:: python
87
88 x = linspace(0, 3*pi, 500)
89 plot(x, sin(x**2))
90 title('A simple chirp');
91
92 .. image:: tests/ipynbref/00_notebook_tour_orig_files/00_notebook_tour_orig_fig_00.png
93
94 You can paste blocks of input with prompt markers, such as those from
95 `the official Python
96 tutorial <http://docs.python.org/tutorial/interpreter.html#interactive-mode>`_
97
98 In[6]:
99
100 .. code:: python
101
102 >>> the_world_is_flat = 1
103 >>> if the_world_is_flat:
104 ... print "Be careful not to fall off!"
105
106 .. parsed-literal::
107
108 Be careful not to fall off!
109
110
111 Errors are shown in informative ways:
112
113 In[7]:
114
115 .. code:: python
116
117 %run non_existent_file
118
119 .. parsed-literal::
120
121 ERROR: File `u'non_existent_file.py'` not found.
122
123 In[8]:
124
125 .. code:: python
126
127 x = 1
128 y = 4
129 z = y/(1-x)
130
131 ::
132
133 ---------------------------------------------------------------------------
134 ZeroDivisionError Traceback (most recent call last)
135 <ipython-input-8-dc39888fd1d2> in <module>()
136 1 x = 1
137 2 y = 4
138 ----> 3 z = y/(1-x)
139
140 ZeroDivisionError: integer division or modulo by zero
141
142 When IPython needs to display additional information (such as providing
143 details on an object via ``x?`` it will automatically invoke a pager at
144 the bottom of the screen:
145
146 In[18]:
147
148 .. code:: python
149
150 magic
151
152 Non-blocking output of kernel
153 -----------------------------
154
155 If you execute the next cell, you will see the output arriving as it is
156 generated, not all at the end.
157
158 In[19]:
159
160 .. code:: python
161
162 import time, sys
163 for i in range(8):
164 print i,
165 time.sleep(0.5)
166
167 .. parsed-literal::
168
169 0
170
171 .. parsed-literal::
172
173 1
174
175 .. parsed-literal::
176
177 2
178
179 .. parsed-literal::
180
181 3
182
183 .. parsed-literal::
184
185 4
186
187 .. parsed-literal::
188
189 5
190
191 .. parsed-literal::
192
193 6
194
195 .. parsed-literal::
196
197 7
198
199
200 Clean crash and restart
201 -----------------------
202
203 We call the low-level system libc.time routine with the wrong argument
204 via ctypes to segfault the Python interpreter:
205
206 In[*]:
207
208 .. code:: python
209
210 import sys
211 from ctypes import CDLL
212 # This will crash a Linux or Mac system; equivalent calls can be made on Windows
213 dll = 'dylib' if sys.platform == 'darwin' else '.so.6'
214 libc = CDLL("libc.%s" % dll)
215 libc.time(-1) # BOOM!!
216
217 Markdown cells can contain formatted text and code
218 --------------------------------------------------
219
220 You can *italicize*, **boldface**
221
222 - build
223 - lists
224
225 and embed code meant for illustration instead of execution in Python:
226
227 ::
228
229 def f(x):
230 """a docstring"""
231 return x**2
232
233 or other languages:
234
235 ::
236
237 if (i=0; i<n; i++) {
238 printf("hello %d\n", i);
239 x += 4;
240 }
241
242
243 Courtesy of MathJax, you can include mathematical expressions both
244 inline: :math:`e^{i\pi} + 1 = 0` and displayed:
245
246 .. math:: e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i
247
248
249
250 Rich displays: include anyting a browser can show
251 -------------------------------------------------
252
253 Note that we have an actual protocol for this, see the
254 ``display_protocol`` notebook for further details.
255
256 Images
257 ~~~~~~
258
259
260 In[1]:
261
262 .. code:: python
263
264 from IPython.display import Image
265 Image(filename='../../source/_static/logo.png')
266
267 Out[1]:
268
269 .. parsed-literal::
270
271 <IPython.core.display.Image at 0x10faeafd0>
272
273 An image can also be displayed from raw data or a url
274
275 In[2]:
276
277 .. code:: python
278
279 Image(url='http://python.org/images/python-logo.gif')
280
281 Out[2]:
282
283 .. parsed-literal::
284
285 <IPython.core.display.Image at 0x1060e7410>
286
287 SVG images are also supported out of the box (since modern browsers do a
288 good job of rendering them):
289
290 In[3]:
291
292 .. code:: python
293
294 from IPython.display import SVG
295 SVG(filename='python-logo.svg')
296
297 Out[3]:
298
299 .. parsed-literal::
300
301 <IPython.core.display.SVG at 0x10fb998d0>
302
303 Embedded vs Non-embedded Images
304 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
305
306
307 As of IPython 0.13, images are embedded by default for compatibility
308 with QtConsole, and the ability to still be displayed offline.
309
310 Let's look at the differences:
311
312 In[4]:
313
314 .. code:: python
315
316 # by default Image data are embedded
317 Embed = Image( 'http://scienceview.berkeley.edu/view/images/newview.jpg')
318
319 # if kwarg `url` is given, the embedding is assumed to be false
320 SoftLinked = Image(url='http://scienceview.berkeley.edu/view/images/newview.jpg')
321
322 # In each case, embed can be specified explicitly with the `embed` kwarg
323 # ForceEmbed = Image(url='http://scienceview.berkeley.edu/view/images/newview.jpg', embed=True)
324
325 Today's image from a webcam at Berkeley, (at the time I created this
326 notebook). This should also work in the Qtconsole. Drawback is that the
327 saved notebook will be larger, but the image will still be present
328 offline.
329
330 In[5]:
331
332 .. code:: python
333
334 Embed
335
336 Out[5]:
337
338 .. parsed-literal::
339
340 <IPython.core.display.Image at 0x10fb99b50>
341
342 Today's image from same webcam at Berkeley, (refreshed every minutes, if
343 you reload the notebook), visible only with an active internet
344 connexion, that should be different from the previous one. This will not
345 work on Qtconsole. Notebook saved with this kind of image will be
346 lighter and always reflect the current version of the source, but the
347 image won't display offline.
348
349 In[6]:
350
351 .. code:: python
352
353 SoftLinked
354
355 Out[6]:
356
357 .. parsed-literal::
358
359 <IPython.core.display.Image at 0x10fb99b10>
360
361 Of course, if you re-run the all notebook, the two images will be the
362 same again.
363
364 Video
365 ~~~~~
366
367
368 And more exotic objects can also be displayed, as long as their
369 representation supports the IPython display protocol.
370
371 For example, videos hosted externally on YouTube are easy to load (and
372 writing a similar wrapper for other hosted content is trivial):
373
374 In[7]:
375
376 .. code:: python
377
378 from IPython.display import YouTubeVideo
379 # a talk about IPython at Sage Days at U. Washington, Seattle.
380 # Video credit: William Stein.
381 YouTubeVideo('1j_HxD4iLn8')
382
383 Out[7]:
384
385 .. parsed-literal::
386
387 <IPython.lib.display.YouTubeVideo at 0x10fba2190>
388
389 Using the nascent video capabilities of modern browsers, you may also be
390 able to display local videos. At the moment this doesn't work very well
391 in all browsers, so it may or may not work for you; we will continue
392 testing this and looking for ways to make it more robust.
393
394 The following cell loads a local file called ``animation.m4v``, encodes
395 the raw video as base64 for http transport, and uses the HTML5 video tag
396 to load it. On Chrome 15 it works correctly, displaying a control bar at
397 the bottom with a play/pause button and a location slider.
398
399 In[8]:
400
401 .. code:: python
402
403 from IPython.display import HTML
404 video = open("animation.m4v", "rb").read()
405 video_encoded = video.encode("base64")
406 video_tag = '<video controls alt="test" src="data:video/x-m4v;base64,{0}">'.format(video_encoded)
407 HTML(data=video_tag)
408
409 Out[8]:
410
411 .. parsed-literal::
412
413 <IPython.core.display.HTML at 0x10fba28d0>
414
415 Local Files
416 -----------
417
418 The above examples embed images and video from the notebook filesystem
419 in the output areas of code cells. It is also possible to request these
420 files directly in markdown cells if they reside in the notebook
421 directory via relative urls prefixed with ``files/``:
422
423 ::
424
425 files/[subdirectory/]<filename>
426
427 For example, in the example notebook folder, we have the Python logo,
428 addressed as:
429
430 ::
431
432 <img src="files/python-logo.svg" />
433
434 and a video with the HTML5 video tag:
435
436 ::
437
438 <video controls src="files/animation.m4v" />
439
440 These do not embed the data into the notebook file, and require that the
441 files exist when you are viewing the notebook.
442
443 Security of local files
444 ~~~~~~~~~~~~~~~~~~~~~~~
445
446 Note that this means that the IPython notebook server also acts as a
447 generic file server for files inside the same tree as your notebooks.
448 Access is not granted outside the notebook folder so you have strict
449 control over what files are visible, but for this reason it is highly
450 recommended that you do not run the notebook server with a notebook
451 directory at a high level in your filesystem (e.g. your home directory).
452
453 When you run the notebook in a password-protected manner, local file
454 access is restricted to authenticated users unless read-only views are
455 active.
456
457 Linking to files and directories for viewing in the browser
458 -----------------------------------------------------------
459
460 It is also possible to link directly to files or directories so they can
461 be opened in the browser. This is especially convenient if you're
462 interacting with a tool within IPython that generates HTML pages, and
463 you'd like to easily be able to open those in a new browser window.
464 Alternatively, if your IPython notebook server is on a remote system,
465 creating links provides an easy way to download any files that get
466 generated.
467
468 As we saw above, there are a bunch of ``.ipynb`` files in our current
469 directory.
470
471 In[1]:
472
473 .. code:: python
474
475 ls
476
477 .. parsed-literal::
478
479 00_notebook_tour.ipynb formatting.ipynb
480 01_notebook_introduction.ipynb octavemagic_extension.ipynb
481 Animations_and_Progress.ipynb publish_data.ipynb
482 Capturing Output.ipynb python-logo.svg
483 Script Magics.ipynb rmagic_extension.ipynb
484 animation.m4v sympy.ipynb
485 cython_extension.ipynb sympy_quantum_computing.ipynb
486 display_protocol.ipynb trapezoid_rule.ipynb
487
488
489 If we want to create a link to one of them, we can call use the
490 ``FileLink`` object.
491
492 In[2]:
493
494 .. code:: python
495
496 from IPython.display import FileLink
497 FileLink('00_notebook_tour.ipynb')
498
499 Out[2]:
500
501 .. parsed-literal::
502
503 <IPython.lib.display.FileLink at 0x10f7ea3d0>
504
505 Alternatively, if we want to link to all of them, we can use the
506 ``FileLinks`` object, passing ``'.'`` to indicate that we want links
507 generated for the current working directory. Note that if there were
508 other directories under the current directory, ``FileLinks`` would work
509 in a recursive manner creating links to files in all sub-directories as
510 well.
511
512 In[7]:
513
514 .. code:: python
515
516 from IPython.display import FileLinks
517 FileLinks('.')
518
519 Out[7]:
520
521 .. parsed-literal::
522
523 <IPython.lib.display.FileLinks at 0x10f7eaad0>
524
525 External sites
526 ~~~~~~~~~~~~~~
527
528 You can even embed an entire page from another site in an iframe; for
529 example this is today's Wikipedia page for mobile users:
530
531 In[9]:
532
533 .. code:: python
534
535 HTML('<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350></iframe>')
536
537 Out[9]:
538
539 .. parsed-literal::
540
541 <IPython.core.display.HTML at 0x1094900d0>
542
543 Mathematics
544 ~~~~~~~~~~~
545
546 And we also support the display of mathematical expressions typeset in
547 LaTeX, which is rendered in the browser thanks to the `MathJax
548 library <http://mathjax.org>`_.
549
550 Note that this is *different* from the above examples. Above we were
551 typing mathematical expressions in Markdown cells (along with normal
552 text) and letting the browser render them; now we are displaying the
553 output of a Python computation as a LaTeX expression wrapped by the
554 ``Math()`` object so the browser renders it. The ``Math`` object will
555 add the needed LaTeX delimiters (``$$``) if they are not provided:
556
557 In[10]:
558
559 .. code:: python
560
561 from IPython.display import Math
562 Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')
563
564 Out[10]:
565
566 .. math::
567
568 $$F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx$$
569
570 .. parsed-literal::
571
572 <IPython.core.display.Math at 0x10fba26d0>
573
574 With the ``Latex`` class, you have to include the delimiters yourself.
575 This allows you to use other LaTeX modes such as ``eqnarray``:
576
577 In[11]:
578
579 .. code:: python
580
581 from IPython.display import Latex
582 Latex(r"""\begin{eqnarray}
583 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
584 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
585 \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
586 \nabla \cdot \vec{\mathbf{B}} & = 0
587 \end{eqnarray}""")
588
589 Out[11]:
590
591 .. math::
592
593 \begin{eqnarray}
594 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
595 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
596 \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
597 \nabla \cdot \vec{\mathbf{B}} & = 0
598 \end{eqnarray}
599
600 .. parsed-literal::
601
602 <IPython.core.display.Latex at 0x10fba2c10>
603
604 Or you can enter latex directly with the ``%%latex`` cell magic:
605
606 In[12]:
607
608 .. code:: python
609
610 %%latex
611 \begin{aligned}
612 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
613 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
614 \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
615 \nabla \cdot \vec{\mathbf{B}} & = 0
616 \end{aligned}
617
618 .. parsed-literal::
619
620 <IPython.core.display.Latex at 0x10a617c90>
621
622 There is also a ``%%javascript`` cell magic for running javascript
623 directly, and ``%%svg`` for manually entering SVG content.
624
625 Loading external codes
626 ======================
627
628 - Drag and drop a ``.py`` in the dashboard
629 - Use ``%load`` with any local or remote url: `the Matplotlib
630 Gallery! <http://matplotlib.sourceforge.net/gallery.html>`_
631
632 In this notebook we've kept the output saved so you can see the result,
633 but you should run the next cell yourself (with an active internet
634 connection).
635
636 Let's make sure we have pylab again, in case we have restarted the
637 kernel due to the crash demo above
638
639 In[12]:
640
641 .. code:: python
642
643 %pylab inline
644
645 .. parsed-literal::
646
647
648 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
649 For more information, type 'help(pylab)'.
650
651
652 In[15]:
653
654 .. code:: python
655
656 %load http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/integral_demo.py
657
658 In[16]:
659
660 .. code:: python
661
662 #!/usr/bin/env python
663
664 # implement the example graphs/integral from pyx
665 from pylab import *
666 from matplotlib.patches import Polygon
667
668 def func(x):
669 return (x-3)*(x-5)*(x-7)+85
670
671 ax = subplot(111)
672
673 a, b = 2, 9 # integral area
674 x = arange(0, 10, 0.01)
675 y = func(x)
676 plot(x, y, linewidth=1)
677
678 # make the shaded region
679 ix = arange(a, b, 0.01)
680 iy = func(ix)
681 verts = [(a,0)] + zip(ix,iy) + [(b,0)]
682 poly = Polygon(verts, facecolor='0.8', edgecolor='k')
683 ax.add_patch(poly)
684
685 text(0.5 * (a + b), 30,
686 r"$\int_a^b f(x)\mathrm{d}x$", horizontalalignment='center',
687 fontsize=20)
688
689 axis([0,10, 0, 180])
690 figtext(0.9, 0.05, 'x')
691 figtext(0.1, 0.9, 'y')
692 ax.set_xticks((a,b))
693 ax.set_xticklabels(('a','b'))
694 ax.set_yticks([])
695 show()
696
697
698 .. image:: tests/ipynbref/00_notebook_tour_orig_files/00_notebook_tour_orig_fig_01.png
@@ -0,0 +1,70 b''
1 In[1]:
2
3 .. code:: python
4
5 #! /usr/bin/env python
6 '''
7 github_team_calendar.py
8 Python program to scrape friends github to build team calendar for github
9 '''
10
11
12 import json
13 import requests
14 import pandas as pd
15
16
17 def line_draw_target(target):
18 github_url = 'https://github.com/users/%s/contributions_calendar_data'
19 r = requests.get(github_url % target)
20 data = json.loads(r.text)
21 dates, contributions = zip(*data)
22 ts = pd.Series(contributions, index=dates)
23 plt.plot(ts)
24
25 In[2]:
26
27 .. code:: python
28
29 target = "mikedewar"
30 line_draw_target(target)
31
32
33 .. image:: tests/ipynbref/data_geeks_team_calendar_orig_files/data_geeks_team_calendar_orig_fig_00.png
34
35 In[3]:
36
37 .. code:: python
38
39 target = "drewconway"
40 line_draw_target(target)
41
42 .. image:: tests/ipynbref/data_geeks_team_calendar_orig_files/data_geeks_team_calendar_orig_fig_01.png
43
44 In[4]:
45
46 .. code:: python
47
48 target = "hmason"
49 line_draw_target(target)
50
51 .. image:: tests/ipynbref/data_geeks_team_calendar_orig_files/data_geeks_team_calendar_orig_fig_02.png
52
53 In[5]:
54
55 .. code:: python
56
57 target = "mbostock"
58 line_draw_target(target)
59
60 .. image:: tests/ipynbref/data_geeks_team_calendar_orig_files/data_geeks_team_calendar_orig_fig_03.png
61
62 In[6]:
63
64 .. code:: python
65
66 target = "amueller"
67 line_draw_target(target)
68
69 .. image:: tests/ipynbref/data_geeks_team_calendar_orig_files/data_geeks_team_calendar_orig_fig_04.png
70
This diff has been collapsed as it changes many lines, (4306 lines changed) Show them Hide them
@@ -0,0 +1,4306 b''
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title>[00_notebook_tour]</title>
6 <style type="text/css">
7 /**
8 * HTML5 ✰ Boilerplate
9 *
10 * style.css contains a reset, font normalization and some base styles.
11 *
12 * Credit is left where credit is due.
13 * Much inspiration was taken from these projects:
14 * - yui.yahooapis.com/2.8.1/build/base/base.css
15 * - camendesign.com/design/
16 * - praegnanz.de/weblog/htmlcssjs-kickstart
17 */
18
19
20 /**
21 * html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
22 * v1.6.1 2010-09-17 | Authors: Eric Meyer & Richard Clark
23 * html5doctor.com/html-5-reset-stylesheet/
24 */
25
26 html, body, div, span, object, iframe,
27 h1, h2, h3, h4, h5, h6, p, blockquote, pre,
28 abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
29 small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
30 fieldset, form, label, legend,
31 table, caption, tbody, tfoot, thead, tr, th, td,
32 article, aside, canvas, details, figcaption, figure,
33 footer, header, hgroup, menu, nav, section, summary,
34 time, mark, audio, video {
35 margin: 0;
36 padding: 0;
37 border: 0;
38 font-size: 100%;
39 font: inherit;
40 vertical-align: baseline;
41 }
42
43 sup { vertical-align: super; }
44 sub { vertical-align: sub; }
45
46 article, aside, details, figcaption, figure,
47 footer, header, hgroup, menu, nav, section {
48 display: block;
49 }
50
51 blockquote, q { quotes: none; }
52
53 blockquote:before, blockquote:after,
54 q:before, q:after { content: ""; content: none; }
55
56 ins { background-color: #ff9; color: #000; text-decoration: none; }
57
58 mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
59
60 del { text-decoration: line-through; }
61
62 abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
63
64 table { border-collapse: collapse; border-spacing: 0; }
65
66 hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
67
68 input, select { vertical-align: middle; }
69
70
71 /**
72 * Font normalization inspired by YUI Library's fonts.css: developer.yahoo.com/yui/
73 */
74
75 body { font:13px/1.231 sans-serif; *font-size:small; } /* Hack retained to preserve specificity */
76 select, input, textarea, button { font:99% sans-serif; }
77
78 /* Normalize monospace sizing:
79 en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */
80 pre, code, kbd, samp { font-family: monospace, sans-serif; }
81
82 em,i { font-style: italic; }
83 b,strong { font-weight: bold; }
84
85 </style>
86 <style type="text/css">
87 article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
88 audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
89 audio:not([controls]){display:none;}
90 html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
91 a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
92 a:hover,a:active{outline:0;}
93 sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
94 sup{top:-0.5em;}
95 sub{bottom:-0.25em;}
96 img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;}
97 #map_canvas img,.google-maps img{max-width:none;}
98 button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
99 button,input{*overflow:visible;line-height:normal;}
100 button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
101 button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}
102 label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer;}
103 input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;}
104 input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
105 textarea{overflow:auto;vertical-align:top;}
106 @media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important;} a,a:visited{text-decoration:underline;} a[href]:after{content:" (" attr(href) ")";} abbr[title]:after{content:" (" attr(title) ")";} .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:"";} pre,blockquote{border:1px solid #999;page-break-inside:avoid;} thead{display:table-header-group;} tr,img{page-break-inside:avoid;} img{max-width:100% !important;} @page {margin:0.5cm;}p,h2,h3{orphans:3;widows:3;} h2,h3{page-break-after:avoid;}}.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
107 .clearfix:after{clear:both;}
108 .hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
109 .input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
110 body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:20px;color:#000000;background-color:#ffffff;}
111 a{color:#0088cc;text-decoration:none;}
112 a:hover{color:#005580;text-decoration:underline;}
113 .img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
114 .img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);}
115 .img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;}
116 .row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;}
117 .row:after{clear:both;}
118 [class*="span"]{float:left;min-height:1px;margin-left:20px;}
119 .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
120 .span12{width:940px;}
121 .span11{width:860px;}
122 .span10{width:780px;}
123 .span9{width:700px;}
124 .span8{width:620px;}
125 .span7{width:540px;}
126 .span6{width:460px;}
127 .span5{width:380px;}
128 .span4{width:300px;}
129 .span3{width:220px;}
130 .span2{width:140px;}
131 .span1{width:60px;}
132 .offset12{margin-left:980px;}
133 .offset11{margin-left:900px;}
134 .offset10{margin-left:820px;}
135 .offset9{margin-left:740px;}
136 .offset8{margin-left:660px;}
137 .offset7{margin-left:580px;}
138 .offset6{margin-left:500px;}
139 .offset5{margin-left:420px;}
140 .offset4{margin-left:340px;}
141 .offset3{margin-left:260px;}
142 .offset2{margin-left:180px;}
143 .offset1{margin-left:100px;}
144 .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;}
145 .row-fluid:after{clear:both;}
146 .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;}
147 .row-fluid [class*="span"]:first-child{margin-left:0;}
148 .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%;}
149 .row-fluid .span12{width:100%;*width:99.94680851063829%;}
150 .row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%;}
151 .row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%;}
152 .row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%;}
153 .row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%;}
154 .row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%;}
155 .row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%;}
156 .row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%;}
157 .row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%;}
158 .row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%;}
159 .row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%;}
160 .row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%;}
161 .row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%;}
162 .row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%;}
163 .row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%;}
164 .row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%;}
165 .row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%;}
166 .row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%;}
167 .row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%;}
168 .row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%;}
169 .row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%;}
170 .row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%;}
171 .row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%;}
172 .row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%;}
173 .row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%;}
174 .row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%;}
175 .row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%;}
176 .row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%;}
177 .row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%;}
178 .row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%;}
179 .row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%;}
180 .row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%;}
181 .row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%;}
182 .row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%;}
183 .row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%;}
184 .row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%;}
185 [class*="span"].hide,.row-fluid [class*="span"].hide{display:none;}
186 [class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right;}
187 .container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";line-height:0;}
188 .container:after{clear:both;}
189 .container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0;}
190 .container-fluid:after{clear:both;}
191 p{margin:0 0 10px;}
192 .lead{margin-bottom:20px;font-size:19.5px;font-weight:200;line-height:30px;}
193 small{font-size:85%;}
194 strong{font-weight:bold;}
195 em{font-style:italic;}
196 cite{font-style:normal;}
197 .muted{color:#999999;}
198 a.muted:hover{color:#808080;}
199 .text-warning{color:#c09853;}
200 a.text-warning:hover{color:#a47e3c;}
201 .text-error{color:#b94a48;}
202 a.text-error:hover{color:#953b39;}
203 .text-info{color:#3a87ad;}
204 a.text-info:hover{color:#2d6987;}
205 .text-success{color:#468847;}
206 a.text-success:hover{color:#356635;}
207 h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999999;}
208 h1,h2,h3{line-height:40px;}
209 h1{font-size:35.75px;}
210 h2{font-size:29.25px;}
211 h3{font-size:22.75px;}
212 h4{font-size:16.25px;}
213 h5{font-size:13px;}
214 h6{font-size:11.049999999999999px;}
215 h1 small{font-size:22.75px;}
216 h2 small{font-size:16.25px;}
217 h3 small{font-size:13px;}
218 h4 small{font-size:13px;}
219 .page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eeeeee;}
220 ul,ol{padding:0;margin:0 0 10px 25px;}
221 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
222 li{line-height:20px;}
223 ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}
224 ul.inline,ol.inline{margin-left:0;list-style:none;}ul.inline>li,ol.inline>li{display:inline-block;padding-left:5px;padding-right:5px;}
225 dl{margin-bottom:20px;}
226 dt,dd{line-height:20px;}
227 dt{font-weight:bold;}
228 dd{margin-left:10px;}
229 .dl-horizontal{*zoom:1;}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0;}
230 .dl-horizontal:after{clear:both;}
231 .dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
232 .dl-horizontal dd{margin-left:180px;}
233 hr{margin:20px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;}
234 abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999;}
235 abbr.initialism{font-size:90%;text-transform:uppercase;}
236 blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px;}
237 blockquote small{display:block;line-height:20px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
238 blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
239 blockquote.pull-right small:before{content:'';}
240 blockquote.pull-right small:after{content:'\00A0 \2014';}
241 q:before,q:after,blockquote:before,blockquote:after{content:"";}
242 address{display:block;margin-bottom:20px;font-style:normal;line-height:20px;}
243 form{margin:0 0 20px;}
244 fieldset{padding:0;margin:0;border:0;}
245 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:19.5px;line-height:40px;color:#333333;border:0;border-bottom:1px solid #e5e5e5;}legend small{font-size:15px;color:#999999;}
246 label,input,button,select,textarea{font-size:13px;font-weight:normal;line-height:20px;}
247 input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;}
248 label{display:block;margin-bottom:5px;}
249 select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:13px;line-height:20px;color:#555555;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;vertical-align:middle;}
250 input,textarea,.uneditable-input{width:206px;}
251 textarea{height:auto;}
252 textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#ffffff;border:1px solid #cccccc;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear .2s, box-shadow linear .2s;-moz-transition:border linear .2s, box-shadow linear .2s;-o-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82, 168, 236, 0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);}
253 input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal;}
254 input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto;}
255 select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px;}
256 select{width:220px;border:1px solid #cccccc;background-color:#ffffff;}
257 select[multiple],select[size]{height:auto;}
258 select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
259 .uneditable-input,.uneditable-textarea{color:#999999;background-color:#fcfcfc;border-color:#cccccc;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;}
260 .uneditable-input{overflow:hidden;white-space:nowrap;}
261 .uneditable-textarea{width:auto;height:auto;}
262 input:-moz-placeholder,textarea:-moz-placeholder{color:#999999;}
263 input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999999;}
264 input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999999;}
265 .radio,.checkbox{min-height:20px;padding-left:20px;}
266 .radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px;}
267 .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;}
268 .radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;}
269 .radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;}
270 .input-mini{width:60px;}
271 .input-small{width:90px;}
272 .input-medium{width:150px;}
273 .input-large{width:210px;}
274 .input-xlarge{width:270px;}
275 .input-xxlarge{width:530px;}
276 input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0;}
277 .input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block;}
278 input,textarea,.uneditable-input{margin-left:0;}
279 .controls-row [class*="span"]+[class*="span"]{margin-left:20px;}
280 input.span12, textarea.span12, .uneditable-input.span12{width:926px;}
281 input.span11, textarea.span11, .uneditable-input.span11{width:846px;}
282 input.span10, textarea.span10, .uneditable-input.span10{width:766px;}
283 input.span9, textarea.span9, .uneditable-input.span9{width:686px;}
284 input.span8, textarea.span8, .uneditable-input.span8{width:606px;}
285 input.span7, textarea.span7, .uneditable-input.span7{width:526px;}
286 input.span6, textarea.span6, .uneditable-input.span6{width:446px;}
287 input.span5, textarea.span5, .uneditable-input.span5{width:366px;}
288 input.span4, textarea.span4, .uneditable-input.span4{width:286px;}
289 input.span3, textarea.span3, .uneditable-input.span3{width:206px;}
290 input.span2, textarea.span2, .uneditable-input.span2{width:126px;}
291 input.span1, textarea.span1, .uneditable-input.span1{width:46px;}
292 .controls-row{*zoom:1;}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0;}
293 .controls-row:after{clear:both;}
294 .controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left;}
295 .controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px;}
296 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eeeeee;}
297 input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent;}
298 .control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;}
299 .control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;}
300 .control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;}
301 .control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;}
302 .control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
303 .control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;}
304 .control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;}
305 .control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;}
306 .control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
307 .control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;}
308 .control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;}
309 .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;}
310 .control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad;}
311 .control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad;}
312 .control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;}
313 .control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad;}
314 input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b;}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
315 .form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1;}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0;}
316 .form-actions:after{clear:both;}
317 .help-block,.help-inline{color:#262626;}
318 .help-block{display:block;margin-bottom:10px;}
319 .help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px;}
320 .input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap;}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:13px;}
321 .input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2;}
322 .input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:13px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#eeeeee;border:1px solid #ccc;}
323 .input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
324 .input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546;}
325 .input-prepend .add-on,.input-prepend .btn{margin-right:-1px;}
326 .input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
327 .input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
328 .input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px;}
329 .input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
330 .input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
331 .input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
332 .input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
333 .input-prepend.input-append .btn-group:first-child{margin-left:0;}
334 input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
335 .form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
336 .form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;}
337 .form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;}
338 .form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;}
339 .form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;}
340 .form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle;}
341 .form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none;}
342 .form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block;}
343 .form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0;}
344 .form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle;}
345 .form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0;}
346 .control-group{margin-bottom:10px;}
347 legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate;}
348 .form-horizontal .control-group{margin-bottom:20px;*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0;}
349 .form-horizontal .control-group:after{clear:both;}
350 .form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right;}
351 .form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0;}.form-horizontal .controls:first-child{*padding-left:180px;}
352 .form-horizontal .help-block{margin-bottom:0;}
353 .form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px;}
354 .form-horizontal .form-actions{padding-left:180px;}
355 table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;}
356 .table{width:100%;margin-bottom:20px;}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;}
357 .table th{font-weight:bold;}
358 .table thead th{vertical-align:bottom;}
359 .table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;}
360 .table tbody+tbody{border-top:2px solid #dddddd;}
361 .table .table{background-color:#ffffff;}
362 .table-condensed th,.table-condensed td{padding:4px 5px;}
363 .table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;}
364 .table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;}
365 .table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;}
366 .table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;}
367 .table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
368 .table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
369 .table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;}
370 .table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;}
371 .table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;}
372 .table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;}
373 .table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9;}
374 .table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5;}
375 table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0;}
376 .table td.span1,.table th.span1{float:none;width:44px;margin-left:0;}
377 .table td.span2,.table th.span2{float:none;width:124px;margin-left:0;}
378 .table td.span3,.table th.span3{float:none;width:204px;margin-left:0;}
379 .table td.span4,.table th.span4{float:none;width:284px;margin-left:0;}
380 .table td.span5,.table th.span5{float:none;width:364px;margin-left:0;}
381 .table td.span6,.table th.span6{float:none;width:444px;margin-left:0;}
382 .table td.span7,.table th.span7{float:none;width:524px;margin-left:0;}
383 .table td.span8,.table th.span8{float:none;width:604px;margin-left:0;}
384 .table td.span9,.table th.span9{float:none;width:684px;margin-left:0;}
385 .table td.span10,.table th.span10{float:none;width:764px;margin-left:0;}
386 .table td.span11,.table th.span11{float:none;width:844px;margin-left:0;}
387 .table td.span12,.table th.span12{float:none;width:924px;margin-left:0;}
388 .table tbody tr.success td{background-color:#dff0d8;}
389 .table tbody tr.error td{background-color:#f2dede;}
390 .table tbody tr.warning td{background-color:#fcf8e3;}
391 .table tbody tr.info td{background-color:#d9edf7;}
392 .table-hover tbody tr.success:hover td{background-color:#d0e9c6;}
393 .table-hover tbody tr.error:hover td{background-color:#ebcccc;}
394 .table-hover tbody tr.warning:hover td{background-color:#faf2cc;}
395 .table-hover tbody tr.info:hover td{background-color:#c4e3f3;}
396 [class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat;margin-top:1px;}
397 .icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png");}
398 .icon-glass{background-position:0 0;}
399 .icon-music{background-position:-24px 0;}
400 .icon-search{background-position:-48px 0;}
401 .icon-envelope{background-position:-72px 0;}
402 .icon-heart{background-position:-96px 0;}
403 .icon-star{background-position:-120px 0;}
404 .icon-star-empty{background-position:-144px 0;}
405 .icon-user{background-position:-168px 0;}
406 .icon-film{background-position:-192px 0;}
407 .icon-th-large{background-position:-216px 0;}
408 .icon-th{background-position:-240px 0;}
409 .icon-th-list{background-position:-264px 0;}
410 .icon-ok{background-position:-288px 0;}
411 .icon-remove{background-position:-312px 0;}
412 .icon-zoom-in{background-position:-336px 0;}
413 .icon-zoom-out{background-position:-360px 0;}
414 .icon-off{background-position:-384px 0;}
415 .icon-signal{background-position:-408px 0;}
416 .icon-cog{background-position:-432px 0;}
417 .icon-trash{background-position:-456px 0;}
418 .icon-home{background-position:0 -24px;}
419 .icon-file{background-position:-24px -24px;}
420 .icon-time{background-position:-48px -24px;}
421 .icon-road{background-position:-72px -24px;}
422 .icon-download-alt{background-position:-96px -24px;}
423 .icon-download{background-position:-120px -24px;}
424 .icon-upload{background-position:-144px -24px;}
425 .icon-inbox{background-position:-168px -24px;}
426 .icon-play-circle{background-position:-192px -24px;}
427 .icon-repeat{background-position:-216px -24px;}
428 .icon-refresh{background-position:-240px -24px;}
429 .icon-list-alt{background-position:-264px -24px;}
430 .icon-lock{background-position:-287px -24px;}
431 .icon-flag{background-position:-312px -24px;}
432 .icon-headphones{background-position:-336px -24px;}
433 .icon-volume-off{background-position:-360px -24px;}
434 .icon-volume-down{background-position:-384px -24px;}
435 .icon-volume-up{background-position:-408px -24px;}
436 .icon-qrcode{background-position:-432px -24px;}
437 .icon-barcode{background-position:-456px -24px;}
438 .icon-tag{background-position:0 -48px;}
439 .icon-tags{background-position:-25px -48px;}
440 .icon-book{background-position:-48px -48px;}
441 .icon-bookmark{background-position:-72px -48px;}
442 .icon-print{background-position:-96px -48px;}
443 .icon-camera{background-position:-120px -48px;}
444 .icon-font{background-position:-144px -48px;}
445 .icon-bold{background-position:-167px -48px;}
446 .icon-italic{background-position:-192px -48px;}
447 .icon-text-height{background-position:-216px -48px;}
448 .icon-text-width{background-position:-240px -48px;}
449 .icon-align-left{background-position:-264px -48px;}
450 .icon-align-center{background-position:-288px -48px;}
451 .icon-align-right{background-position:-312px -48px;}
452 .icon-align-justify{background-position:-336px -48px;}
453 .icon-list{background-position:-360px -48px;}
454 .icon-indent-left{background-position:-384px -48px;}
455 .icon-indent-right{background-position:-408px -48px;}
456 .icon-facetime-video{background-position:-432px -48px;}
457 .icon-picture{background-position:-456px -48px;}
458 .icon-pencil{background-position:0 -72px;}
459 .icon-map-marker{background-position:-24px -72px;}
460 .icon-adjust{background-position:-48px -72px;}
461 .icon-tint{background-position:-72px -72px;}
462 .icon-edit{background-position:-96px -72px;}
463 .icon-share{background-position:-120px -72px;}
464 .icon-check{background-position:-144px -72px;}
465 .icon-move{background-position:-168px -72px;}
466 .icon-step-backward{background-position:-192px -72px;}
467 .icon-fast-backward{background-position:-216px -72px;}
468 .icon-backward{background-position:-240px -72px;}
469 .icon-play{background-position:-264px -72px;}
470 .icon-pause{background-position:-288px -72px;}
471 .icon-stop{background-position:-312px -72px;}
472 .icon-forward{background-position:-336px -72px;}
473 .icon-fast-forward{background-position:-360px -72px;}
474 .icon-step-forward{background-position:-384px -72px;}
475 .icon-eject{background-position:-408px -72px;}
476 .icon-chevron-left{background-position:-432px -72px;}
477 .icon-chevron-right{background-position:-456px -72px;}
478 .icon-plus-sign{background-position:0 -96px;}
479 .icon-minus-sign{background-position:-24px -96px;}
480 .icon-remove-sign{background-position:-48px -96px;}
481 .icon-ok-sign{background-position:-72px -96px;}
482 .icon-question-sign{background-position:-96px -96px;}
483 .icon-info-sign{background-position:-120px -96px;}
484 .icon-screenshot{background-position:-144px -96px;}
485 .icon-remove-circle{background-position:-168px -96px;}
486 .icon-ok-circle{background-position:-192px -96px;}
487 .icon-ban-circle{background-position:-216px -96px;}
488 .icon-arrow-left{background-position:-240px -96px;}
489 .icon-arrow-right{background-position:-264px -96px;}
490 .icon-arrow-up{background-position:-289px -96px;}
491 .icon-arrow-down{background-position:-312px -96px;}
492 .icon-share-alt{background-position:-336px -96px;}
493 .icon-resize-full{background-position:-360px -96px;}
494 .icon-resize-small{background-position:-384px -96px;}
495 .icon-plus{background-position:-408px -96px;}
496 .icon-minus{background-position:-433px -96px;}
497 .icon-asterisk{background-position:-456px -96px;}
498 .icon-exclamation-sign{background-position:0 -120px;}
499 .icon-gift{background-position:-24px -120px;}
500 .icon-leaf{background-position:-48px -120px;}
501 .icon-fire{background-position:-72px -120px;}
502 .icon-eye-open{background-position:-96px -120px;}
503 .icon-eye-close{background-position:-120px -120px;}
504 .icon-warning-sign{background-position:-144px -120px;}
505 .icon-plane{background-position:-168px -120px;}
506 .icon-calendar{background-position:-192px -120px;}
507 .icon-random{background-position:-216px -120px;width:16px;}
508 .icon-comment{background-position:-240px -120px;}
509 .icon-magnet{background-position:-264px -120px;}
510 .icon-chevron-up{background-position:-288px -120px;}
511 .icon-chevron-down{background-position:-313px -119px;}
512 .icon-retweet{background-position:-336px -120px;}
513 .icon-shopping-cart{background-position:-360px -120px;}
514 .icon-folder-close{background-position:-384px -120px;}
515 .icon-folder-open{background-position:-408px -120px;width:16px;}
516 .icon-resize-vertical{background-position:-432px -119px;}
517 .icon-resize-horizontal{background-position:-456px -118px;}
518 .icon-hdd{background-position:0 -144px;}
519 .icon-bullhorn{background-position:-24px -144px;}
520 .icon-bell{background-position:-48px -144px;}
521 .icon-certificate{background-position:-72px -144px;}
522 .icon-thumbs-up{background-position:-96px -144px;}
523 .icon-thumbs-down{background-position:-120px -144px;}
524 .icon-hand-right{background-position:-144px -144px;}
525 .icon-hand-left{background-position:-168px -144px;}
526 .icon-hand-up{background-position:-192px -144px;}
527 .icon-hand-down{background-position:-216px -144px;}
528 .icon-circle-arrow-right{background-position:-240px -144px;}
529 .icon-circle-arrow-left{background-position:-264px -144px;}
530 .icon-circle-arrow-up{background-position:-288px -144px;}
531 .icon-circle-arrow-down{background-position:-312px -144px;}
532 .icon-globe{background-position:-336px -144px;}
533 .icon-wrench{background-position:-360px -144px;}
534 .icon-tasks{background-position:-384px -144px;}
535 .icon-filter{background-position:-408px -144px;}
536 .icon-briefcase{background-position:-432px -144px;}
537 .icon-fullscreen{background-position:-456px -144px;}
538 .dropup,.dropdown{position:relative;}
539 .dropdown-toggle{*margin-bottom:-3px;}
540 .dropdown-toggle:active,.open .dropdown-toggle{outline:0;}
541 .caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000000;border-right:4px solid transparent;border-left:4px solid transparent;content:"";}
542 .dropdown .caret{margin-top:8px;margin-left:2px;}
543 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#ffffff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.dropdown-menu.pull-right{right:0;left:auto;}
544 .dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
545 .dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333333;white-space:nowrap;}
546 .dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{text-decoration:none;color:#ffffff;background-color:#0081c2;background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(to bottom, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);}
547 .dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;outline:0;background-color:#0081c2;background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(to bottom, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);}
548 .dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999999;}
549 .dropdown-menu .disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:default;}
550 .open{*z-index:1000;}.open>.dropdown-menu{display:block;}
551 .pull-right>.dropdown-menu{right:0;left:auto;}
552 .dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000000;content:"";}
553 .dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px;}
554 .dropdown-submenu{position:relative;}
555 .dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
556 .dropdown-submenu:hover>.dropdown-menu{display:block;}
557 .dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0;}
558 .dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#cccccc;margin-top:5px;margin-right:-10px;}
559 .dropdown-submenu:hover>a:after{border-left-color:#ffffff;}
560 .dropdown-submenu.pull-left{float:none;}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;}
561 .dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px;}
562 .typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
563 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
564 .well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
565 .well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
566 .fade{opacity:0;-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;}.fade.in{opacity:1;}
567 .collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height 0.35s ease;-moz-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease;}.collapse.in{height:auto;}
568 .close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover{color:#000000;text-decoration:none;cursor:pointer;opacity:0.4;filter:alpha(opacity=40);}
569 button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;}
570 .btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:13px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(to bottom, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid #bbbbbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333333;background-color:#e6e6e6;*background-color:#d9d9d9;}
571 .btn:active,.btn.active{background-color:#cccccc \9;}
572 .btn:first-child{*margin-left:0;}
573 .btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear;}
574 .btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
575 .btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);}
576 .btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
577 .btn-large{padding:11px 19px;font-size:16.25px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
578 .btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px;}
579 .btn-small{padding:2px 10px;font-size:11.049999999999999px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
580 .btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0;}
581 .btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px;}
582 .btn-mini{padding:0 6px;font-size:9.75px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
583 .btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
584 .btn-block+.btn-block{margin-top:5px;}
585 input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%;}
586 .btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255, 255, 255, 0.75);}
587 .btn{border-color:#c5c5c5;border-color:rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);}
588 .btn-primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top, #0088cc, #0044cc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));background-image:-webkit-linear-gradient(top, #0088cc, #0044cc);background-image:-o-linear-gradient(top, #0088cc, #0044cc);background-image:linear-gradient(to bottom, #0088cc, #0044cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);border-color:#0044cc #0044cc #002a80;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#0044cc;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#ffffff;background-color:#0044cc;*background-color:#003bb3;}
589 .btn-primary:active,.btn-primary.active{background-color:#003399 \9;}
590 .btn-warning{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#f89406;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#ffffff;background-color:#f89406;*background-color:#df8505;}
591 .btn-warning:active,.btn-warning.active{background-color:#c67605 \9;}
592 .btn-danger{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#da4f49;background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);background-image:linear-gradient(to bottom, #ee5f5b, #bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#bd362f;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#ffffff;background-color:#bd362f;*background-color:#a9302a;}
593 .btn-danger:active,.btn-danger.active{background-color:#942a25 \9;}
594 .btn-success{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#5bb75b;background-image:-moz-linear-gradient(top, #62c462, #51a351);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));background-image:-webkit-linear-gradient(top, #62c462, #51a351);background-image:-o-linear-gradient(top, #62c462, #51a351);background-image:linear-gradient(to bottom, #62c462, #51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#51a351;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#ffffff;background-color:#51a351;*background-color:#499249;}
595 .btn-success:active,.btn-success.active{background-color:#408140 \9;}
596 .btn-info{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#49afcd;background-image:-moz-linear-gradient(top, #5bc0de, #2f96b4);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));background-image:-webkit-linear-gradient(top, #5bc0de, #2f96b4);background-image:-o-linear-gradient(top, #5bc0de, #2f96b4);background-image:linear-gradient(to bottom, #5bc0de, #2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#2f96b4;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#ffffff;background-color:#2f96b4;*background-color:#2a85a0;}
597 .btn-info:active,.btn-info.active{background-color:#24748c \9;}
598 .btn-inverse{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#363636;background-image:-moz-linear-gradient(top, #444444, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));background-image:-webkit-linear-gradient(top, #444444, #222222);background-image:-o-linear-gradient(top, #444444, #222222);background-image:linear-gradient(to bottom, #444444, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#222222;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#ffffff;background-color:#222222;*background-color:#151515;}
599 .btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;}
600 button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px;}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0;}
601 button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px;}
602 button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px;}
603 button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px;}
604 .btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
605 .btn-link{border-color:transparent;cursor:pointer;color:#0088cc;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
606 .btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent;}
607 .btn-link[disabled]:hover{color:#333333;text-decoration:none;}
608 .btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em;}.btn-group:first-child{*margin-left:0;}
609 .btn-group+.btn-group{margin-left:5px;}
610 .btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px;}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px;}
611 .btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
612 .btn-group>.btn+.btn{margin-left:-1px;}
613 .btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:13px;}
614 .btn-group>.btn-mini{font-size:9.75px;}
615 .btn-group>.btn-small{font-size:11.049999999999999px;}
616 .btn-group>.btn-large{font-size:16.25px;}
617 .btn-group>.btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
618 .btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
619 .btn-group>.btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
620 .btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
621 .btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2;}
622 .btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;}
623 .btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px;}
624 .btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px;}
625 .btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px;}
626 .btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px;}
627 .btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);}
628 .btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6;}
629 .btn-group.open .btn-primary.dropdown-toggle{background-color:#0044cc;}
630 .btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406;}
631 .btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f;}
632 .btn-group.open .btn-success.dropdown-toggle{background-color:#51a351;}
633 .btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4;}
634 .btn-group.open .btn-inverse.dropdown-toggle{background-color:#222222;}
635 .btn .caret{margin-top:8px;margin-left:0;}
636 .btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px;}
637 .btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px;}
638 .dropup .btn-large .caret{border-bottom-width:5px;}
639 .btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;}
640 .btn-group-vertical{display:inline-block;*display:inline;*zoom:1;}
641 .btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
642 .btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px;}
643 .btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}
644 .btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}
645 .btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0;}
646 .btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;}
647 .alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
648 .alert,.alert h4{color:#c09853;}
649 .alert h4{margin:0;}
650 .alert .close{position:relative;top:-2px;right:-21px;line-height:20px;}
651 .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847;}
652 .alert-success h4{color:#468847;}
653 .alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48;}
654 .alert-danger h4,.alert-error h4{color:#b94a48;}
655 .alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad;}
656 .alert-info h4{color:#3a87ad;}
657 .alert-block{padding-top:14px;padding-bottom:14px;}
658 .alert-block>p,.alert-block>ul{margin-bottom:0;}
659 .alert-block p+p{margin-top:5px;}
660 .nav{margin-left:0;margin-bottom:20px;list-style:none;}
661 .nav>li>a{display:block;}
662 .nav>li>a:hover{text-decoration:none;background-color:#eeeeee;}
663 .nav>li>a>img{max-width:none;}
664 .nav>.pull-right{float:right;}
665 .nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999999;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-transform:uppercase;}
666 .nav li+.nav-header{margin-top:9px;}
667 .nav-list{padding-left:15px;padding-right:15px;margin-bottom:0;}
668 .nav-list>li>a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
669 .nav-list>li>a{padding:3px 15px;}
670 .nav-list>.active>a,.nav-list>.active>a:hover{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;}
671 .nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px;}
672 .nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
673 .nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0;}
674 .nav-tabs:after,.nav-pills:after{clear:both;}
675 .nav-tabs>li,.nav-pills>li{float:left;}
676 .nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
677 .nav-tabs{border-bottom:1px solid #ddd;}
678 .nav-tabs>li{margin-bottom:-1px;}
679 .nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;}
680 .nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
681 .nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
682 .nav-pills>.active>a,.nav-pills>.active>a:hover{color:#ffffff;background-color:#0088cc;}
683 .nav-stacked>li{float:none;}
684 .nav-stacked>li>a{margin-right:0;}
685 .nav-tabs.nav-stacked{border-bottom:0;}
686 .nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
687 .nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;}
688 .nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
689 .nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2;}
690 .nav-pills.nav-stacked>li>a{margin-bottom:3px;}
691 .nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;}
692 .nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;}
693 .nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
694 .nav .dropdown-toggle .caret{border-top-color:#0088cc;border-bottom-color:#0088cc;margin-top:6px;}
695 .nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580;}
696 .nav-tabs .dropdown-toggle .caret{margin-top:8px;}
697 .nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff;}
698 .nav-tabs .active .dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;}
699 .nav>.dropdown.active>a:hover{cursor:pointer;}
700 .nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;}
701 .nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;opacity:1;filter:alpha(opacity=100);}
702 .tabs-stacked .open>a:hover{border-color:#999999;}
703 .tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0;}
704 .tabbable:after{clear:both;}
705 .tab-content{overflow:auto;}
706 .tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0;}
707 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
708 .tab-content>.active,.pill-content>.active{display:block;}
709 .tabs-below>.nav-tabs{border-top:1px solid #ddd;}
710 .tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0;}
711 .tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below>.nav-tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
712 .tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;}
713 .tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none;}
714 .tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;}
715 .tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;}
716 .tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
717 .tabs-left>.nav-tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;}
718 .tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;}
719 .tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;}
720 .tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
721 .tabs-right>.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;}
722 .tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;}
723 .nav>.disabled>a{color:#999999;}
724 .nav>.disabled>a:hover{text-decoration:none;background-color:transparent;cursor:default;}
725 .navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2;}
726 .navbar-inner{min-height:40px;padding-left:20px;padding-right:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top, #ffffff, #f2f2f2);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));background-image:-webkit-linear-gradient(top, #ffffff, #f2f2f2);background-image:-o-linear-gradient(top, #ffffff, #f2f2f2);background-image:linear-gradient(to bottom, #ffffff, #f2f2f2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);*zoom:1;}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0;}
727 .navbar-inner:after{clear:both;}
728 .navbar .container{width:auto;}
729 .nav-collapse.collapse{height:auto;overflow:visible;}
730 .navbar .brand{float:left;display:block;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777777;text-shadow:0 1px 0 #ffffff;}.navbar .brand:hover{text-decoration:none;}
731 .navbar-text{margin-bottom:0;line-height:40px;color:#777777;}
732 .navbar-link{color:#777777;}.navbar-link:hover{color:#333333;}
733 .navbar .divider-vertical{height:40px;margin:0 9px;border-left:1px solid #f2f2f2;border-right:1px solid #ffffff;}
734 .navbar .btn,.navbar .btn-group{margin-top:5px;}
735 .navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0;}
736 .navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0;}
737 .navbar-form:after{clear:both;}
738 .navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px;}
739 .navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0;}
740 .navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;}
741 .navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap;}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0;}
742 .navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0;}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
743 .navbar-static-top{position:static;margin-bottom:0;}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
744 .navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;}
745 .navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px;}
746 .navbar-fixed-bottom .navbar-inner{border-width:1px 0 0;}
747 .navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
748 .navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
749 .navbar-fixed-top{top:0;}
750 .navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1);}
751 .navbar-fixed-bottom{bottom:0;}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1);}
752 .navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
753 .navbar .nav.pull-right{float:right;margin-right:0;}
754 .navbar .nav>li{float:left;}
755 .navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777777;text-decoration:none;text-shadow:0 1px 0 #ffffff;}
756 .navbar .nav .dropdown-toggle .caret{margin-top:8px;}
757 .navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#333333;text-decoration:none;}
758 .navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);-moz-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);}
759 .navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#ededed;background-image:-moz-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));background-image:-webkit-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-o-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:linear-gradient(to bottom, #f2f2f2, #e5e5e5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e5e5e5;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#ffffff;background-color:#e5e5e5;*background-color:#d9d9d9;}
760 .navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#cccccc \9;}
761 .navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);-moz-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);}
762 .btn-navbar .icon-bar+.icon-bar{margin-top:3px;}
763 .navbar .nav>li>.dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
764 .navbar .nav>li>.dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;position:absolute;top:-6px;left:10px;}
765 .navbar-fixed-bottom .nav>li>.dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0, 0, 0, 0.2);border-bottom:0;bottom:-7px;top:auto;}
766 .navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #ffffff;border-bottom:0;bottom:-6px;top:auto;}
767 .navbar .nav li.dropdown>a:hover .caret{border-top-color:#555555;border-bottom-color:#555555;}
768 .navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:#e5e5e5;color:#555555;}
769 .navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777777;border-bottom-color:#777777;}
770 .navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;}
771 .navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{left:auto;right:0;}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{left:auto;right:12px;}
772 .navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px;}
773 .navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;}
774 .navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top, #222222, #111111);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));background-image:-webkit-linear-gradient(top, #222222, #111111);background-image:-o-linear-gradient(top, #222222, #111111);background-image:linear-gradient(to bottom, #222222, #111111);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);border-color:#252525;}
775 .navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999999;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#ffffff;}
776 .navbar-inverse .brand{color:#999999;}
777 .navbar-inverse .navbar-text{color:#999999;}
778 .navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:transparent;color:#ffffff;}
779 .navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#ffffff;background-color:#111111;}
780 .navbar-inverse .navbar-link{color:#999999;}.navbar-inverse .navbar-link:hover{color:#ffffff;}
781 .navbar-inverse .divider-vertical{border-left-color:#111111;border-right-color:#222222;}
782 .navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#111111;color:#ffffff;}
783 .navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;}
784 .navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999999;border-bottom-color:#999999;}
785 .navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;}
786 .navbar-inverse .navbar-search .search-query{color:#ffffff;background-color:#515151;border-color:#111111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#cccccc;}
787 .navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#cccccc;}
788 .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#cccccc;}
789 .navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;}
790 .navbar-inverse .btn-navbar{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e0e0e;background-image:-moz-linear-gradient(top, #151515, #040404);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));background-image:-webkit-linear-gradient(top, #151515, #040404);background-image:-o-linear-gradient(top, #151515, #040404);background-image:linear-gradient(to bottom, #151515, #040404);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);border-color:#040404 #040404 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#040404;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#ffffff;background-color:#040404;*background-color:#000000;}
791 .navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000000 \9;}
792 .breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.breadcrumb>li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #ffffff;}.breadcrumb>li>.divider{padding:0 5px;color:#ccc;}
793 .breadcrumb>.active{color:#999999;}
794 .pagination{margin:20px 0;}
795 .pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);}
796 .pagination ul>li{display:inline;}
797 .pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#ffffff;border:1px solid #dddddd;border-left-width:0;}
798 .pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5;}
799 .pagination ul>.active>a,.pagination ul>.active>span{color:#999999;cursor:default;}
800 .pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999999;background-color:transparent;cursor:default;}
801 .pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
802 .pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
803 .pagination-centered{text-align:center;}
804 .pagination-right{text-align:right;}
805 .pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:16.25px;}
806 .pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
807 .pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
808 .pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px;}
809 .pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px;}
810 .pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.049999999999999px;}
811 .pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:9.75px;}
812 .pager{margin:20px 0;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";line-height:0;}
813 .pager:after{clear:both;}
814 .pager li{display:inline;}
815 .pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
816 .pager li>a:hover{text-decoration:none;background-color:#f5f5f5;}
817 .pager .next>a,.pager .next>span{float:right;}
818 .pager .previous>a,.pager .previous>span{float:left;}
819 .pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999999;background-color:#fff;cursor:default;}
820 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
821 .modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);}
822 .modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:none;}.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;}
823 .modal.fade.in{top:10%;}
824 .modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;}
825 .modal-header h3{margin:0;line-height:30px;}
826 .modal-body{position:relative;overflow-y:auto;max-height:400px;padding:15px;}
827 .modal-form{margin-bottom:0;}
828 .modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0;}
829 .modal-footer:after{clear:both;}
830 .modal-footer .btn+.btn{margin-left:5px;margin-bottom:0;}
831 .modal-footer .btn-group .btn+.btn{margin-left:-1px;}
832 .modal-footer .btn-block+.btn-block{margin-left:0;}
833 .tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);}
834 .tooltip.top{margin-top:-3px;}
835 .tooltip.right{margin-left:3px;}
836 .tooltip.bottom{margin-top:3px;}
837 .tooltip.left{margin-left:-3px;}
838 .tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
839 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;}
840 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;}
841 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;}
842 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;}
843 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;}
844 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;text-align:left;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);white-space:normal;}.popover.top{margin-top:-10px;}
845 .popover.right{margin-left:10px;}
846 .popover.bottom{margin-top:10px;}
847 .popover.left{margin-left:-10px;}
848 .popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;}
849 .popover-content{padding:9px 14px;}
850 .popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;}
851 .popover .arrow{border-width:11px;}
852 .popover .arrow:after{border-width:10px;content:"";}
853 .popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0, 0, 0, 0.25);bottom:-11px;}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff;}
854 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0, 0, 0, 0.25);}.popover.right .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff;}
855 .popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0, 0, 0, 0.25);top:-11px;}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff;}
856 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0, 0, 0, 0.25);}.popover.left .arrow:after{right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px;}
857 .thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0;}
858 .thumbnails:after{clear:both;}
859 .row-fluid .thumbnails{margin-left:0;}
860 .thumbnails>li{float:left;margin-bottom:20px;margin-left:20px;}
861 .thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;}
862 a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);}
863 .thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;}
864 .thumbnail .caption{padding:9px;color:#555555;}
865 .media,.media-body{overflow:hidden;*overflow:visible;zoom:1;}
866 .media,.media .media{margin-top:15px;}
867 .media:first-child{margin-top:0;}
868 .media-object{display:block;}
869 .media-heading{margin:0 0 5px;}
870 .media .pull-left{margin-right:10px;}
871 .media .pull-right{margin-left:10px;}
872 .media-list{margin-left:0;list-style:none;}
873 .label,.badge{display:inline-block;padding:2px 4px;font-size:10.998px;font-weight:bold;line-height:14px;color:#ffffff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;}
874 .label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
875 .badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;}
876 .label:empty,.badge:empty{display:none;}
877 a.label:hover,a.badge:hover{color:#ffffff;text-decoration:none;cursor:pointer;}
878 .label-important,.badge-important{background-color:#b94a48;}
879 .label-important[href],.badge-important[href]{background-color:#953b39;}
880 .label-warning,.badge-warning{background-color:#f89406;}
881 .label-warning[href],.badge-warning[href]{background-color:#c67605;}
882 .label-success,.badge-success{background-color:#468847;}
883 .label-success[href],.badge-success[href]{background-color:#356635;}
884 .label-info,.badge-info{background-color:#3a87ad;}
885 .label-info[href],.badge-info[href]{background-color:#2d6987;}
886 .label-inverse,.badge-inverse{background-color:#333333;}
887 .label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;}
888 .btn .label,.btn .badge{position:relative;top:-1px;}
889 .btn-mini .label,.btn-mini .badge{top:0;}
890 @-webkit-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-o-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(to bottom, #f5f5f5, #f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
891 .progress .bar{width:0%;height:100%;color:#ffffff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));background-image:-webkit-linear-gradient(top, #149bdf, #0480be);background-image:-o-linear-gradient(top, #149bdf, #0480be);background-image:linear-gradient(to bottom, #149bdf, #0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width 0.6s ease;-moz-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;}
892 .progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);}
893 .progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;}
894 .progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;}
895 .progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(to bottom, #ee5f5b, #c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);}
896 .progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
897 .progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(to bottom, #62c462, #57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);}
898 .progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
899 .progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(to bottom, #5bc0de, #339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);}
900 .progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
901 .progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);}
902 .progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
903 .accordion{margin-bottom:20px;}
904 .accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
905 .accordion-heading{border-bottom:0;}
906 .accordion-heading .accordion-toggle{display:block;padding:8px 15px;}
907 .accordion-toggle{cursor:pointer;}
908 .accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
909 .carousel{position:relative;margin-bottom:20px;line-height:1;}
910 .carousel-inner{overflow:hidden;width:100%;position:relative;}
911 .carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-moz-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;}
912 .carousel-inner>.item>img{display:block;line-height:1;}
913 .carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block;}
914 .carousel-inner>.active{left:0;}
915 .carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%;}
916 .carousel-inner>.next{left:100%;}
917 .carousel-inner>.prev{left:-100%;}
918 .carousel-inner>.next.left,.carousel-inner>.prev.right{left:0;}
919 .carousel-inner>.active.left{left:-100%;}
920 .carousel-inner>.active.right{left:100%;}
921 .carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);}.carousel-control.right{left:auto;right:15px;}
922 .carousel-control:hover{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);}
923 .carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#333333;background:rgba(0, 0, 0, 0.75);}
924 .carousel-caption h4,.carousel-caption p{color:#ffffff;line-height:20px;}
925 .carousel-caption h4{margin:0 0 5px;}
926 .carousel-caption p{margin-bottom:0;}
927 .hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eeeeee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px;}
928 .hero-unit li{line-height:30px;}
929 .pull-right{float:right;}
930 .pull-left{float:left;}
931 .hide{display:none;}
932 .show{display:block;}
933 .invisible{visibility:hidden;}
934 .affix{position:fixed;}
935 .corner-all{border-radius:4px;}
936 .hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;}
937 .hbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
938 .vbox{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;}
939 .vbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
940 .reverse{-webkit-box-direction:reverse;-moz-box-direction:reverse;box-direction:reverse;}
941 .box-flex0{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
942 .box-flex1,.box-flex{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;}
943 .box-flex2{-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;}
944 .box-group1{-webkit-box-flex-group:1;-moz-box-flex-group:1;box-flex-group:1;}
945 .box-group2{-webkit-box-flex-group:2;-moz-box-flex-group:2;box-flex-group:2;}
946 .start{-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;}
947 .end{-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;}
948 .center{-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;}
949 .corner-all{border-radius:4px;}
950 body{background-color:#ffffff;}
951 body.notebook_app{overflow:hidden;}
952 blockquote{border-left:4px solid #DDD;padding:0 15px;color:#777;}
953 span#save_widget{padding:5px;margin:0px 0px 0px 300px;display:inline-block;}
954 span#notebook_name{height:1em;line-height:1em;padding:3px;border:none;font-size:146.5%;}
955 .ui-menubar-item .ui-button .ui-button-text{padding:0.4em 1.0em;font-size:100%;}
956 .ui-menu{-moz-box-shadow:0px 6px 10px -1px #adadad;-webkit-box-shadow:0px 6px 10px -1px #adadad;box-shadow:0px 6px 10px -1px #adadad;}
957 .ui-menu .ui-menu-item a{border:1px solid transparent;padding:2px 1.6em;}
958 .ui-menu .ui-menu-item a.ui-state-focus{margin:0;}
959 .ui-menu hr{margin:0.3em 0;}
960 #menubar_container{position:relative;}
961 #notification_area{position:absolute;right:0px;top:0px;height:25px;padding:3px 0px;padding-right:3px;z-index:10;}
962 .notification_widget{float:right;right:0px;top:1px;height:25px;padding:3px 6px;z-index:10;}
963 .toolbar{padding:3px 15px;border-bottom:1px #ababab solid;}.toolbar button{margin-top:2px;margin-bottom:2px;}
964 .toolbar select,.toolbar label{height:19px;vertical-align:middle;margin-right:2px;margin-bottom:0;display:inline;font-size:92%;margin-left:0.3em;margin-right:0.3em;padding:0px;}
965 .toolbar select{width:auto;}
966 #ipython-main-app{width:100%;position:relative;font-size:110%;}
967 span#quick_help_area{position:static;padding:5px 0px;margin:0px 0px 0px 0px;}
968 .help_string{float:right;width:170px;padding:0px 5px;text-align:left;font-size:85%;}
969 .help_string_label{float:right;font-size:85%;}
970 div#notebook_panel{margin:0px 0px 0px 0px;padding:0px;}
971 div#notebook{overflow-y:scroll;overflow-x:auto;width:100%;padding:5px 5px 15px 5px;margin:0px;}
972 div#pager_splitter{height:8px;}
973 #pager_container{position:relative;}
974 div#pager{padding:15px;overflow:auto;display:none;}
975 div.ui-widget-content{border:1px solid #ababab;outline:none;}
976 .cell{border:1px solid transparent;}.cell.selected{border-radius:4px;border:thin #ababab solid;}
977 div.cell{width:100%;padding:5px 5px 5px 0px;margin:2px 0px 2px 0px;outline:none;}
978 div.prompt{width:11ex;padding:0.4em;margin:0px;font-family:monospace;text-align:right;line-height:1.231;}
979 div.input{page-break-inside:avoid;}
980 div.input_area{border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;}
981 div.input_prompt{color:navy;border-top:1px solid transparent;}
982 div.output_wrapper{margin-top:5px;margin-left:5px;width:100%;position:relative;}
983 div.output_scroll{height:24em;width:100%;overflow:auto;border-radius:4px;box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);}
984 div.output_collapsed{margin-right:5px;}
985 div.out_prompt_overlay{height:100%;padding:0px;position:absolute;border-radius:4px;}
986 div.out_prompt_overlay:hover{box-shadow:inset 0 0 1px #000;background:rgba(240, 240, 240, 0.5);}
987 div.output_prompt{color:darkred;margin:0 5px 0 -5px;}
988 div.output_area{padding:0px;page-break-inside:avoid;}
989 div.output_area pre{font-family:monospace;margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;color:black;}
990 div.output_subarea{padding:0.44em 0.4em 0.4em 1px;}
991 div.output_text{text-align:left;color:#000000;font-family:monospace;line-height:1.231;}
992 div.output_stream{padding-top:0.0em;padding-bottom:0.0em;}
993 div.output_stderr{background:#fdd;}
994 div.output_latex{text-align:left;}
995 div.text_cell{padding:5px 5px 5px 5px;}
996 div.text_cell_input{color:#000000;border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;}
997 div.text_cell_render{outline:none;resize:none;width:inherit;border-style:none;padding:5px;color:#000000;}
998 .CodeMirror{line-height:1.231;}
999 .CodeMirror-scroll{height:auto;overflow-y:hidden;overflow-x:auto;}
1000 .ansiblack{color:#000000;}
1001 .ansired{color:darkred;}
1002 .ansigreen{color:darkgreen;}
1003 .ansiyellow{color:brown;}
1004 .ansiblue{color:darkblue;}
1005 .ansipurple{color:darkviolet;}
1006 .ansicyan{color:steelblue;}
1007 .ansigrey{color:grey;}
1008 .ansibold{font-weight:bold;}
1009 .completions{position:absolute;z-index:10;overflow:hidden;border:1px solid #ababab;}
1010 .completions select{background:white;outline:none;border:none;padding:0px;margin:0px;overflow:auto;font-family:monospace;}
1011 option.context{background-color:#DEF7FF;}
1012 option.introspection{background-color:#EBF4EB;}
1013 .completions p b{font-weight:bold;}
1014 .completions p{background:#DDF;border-bottom:black solid 1px;padding:1px;font-family:monospace;}
1015 pre.dialog{background-color:#f7f7f7;border:1px solid #ddd;border-radius:4px;padding:0.4em;padding-left:2em;}
1016 p.dialog{padding:0.2em;}
1017 .shortcut_key{display:inline-block;width:15ex;text-align:right;font-family:monospace;}
1018 pre,code,kbd,samp{white-space:pre-wrap;}
1019 #fonttest{font-family:monospace;}
1020 .js-error{color:darkred;}
1021 a{text-decoration:underline;}
1022 p{margin-bottom:0;}
1023 @media print{body{overflow:visible !important;} div#notebook{overflow:visible !important;} .ui-widget-content{border:0px;} #save_widget{margin:0px !important;} #header,#pager,#pager_splitter,#menubar,#toolbar{display:none !important;} .cell{border:none !important;} .toolbar{display:none;}}.rendered_html{color:black;}.rendered_html em{font-style:italic;}
1024 .rendered_html strong{font-weight:bold;}
1025 .rendered_html u{text-decoration:underline;}
1026 .rendered_html :link{text-decoration:underline;}
1027 .rendered_html :visited{text-decoration:underline;}
1028 .rendered_html h1{font-size:197%;margin:.65em 0;font-weight:bold;}
1029 .rendered_html h2{font-size:153.9%;margin:.75em 0;font-weight:bold;}
1030 .rendered_html h3{font-size:123.1%;margin:.85em 0;font-weight:bold;}
1031 .rendered_html h4{font-size:100%;margin:0.95em 0;font-weight:bold;}
1032 .rendered_html h5{font-size:85%;margin:1.5em 0;font-weight:bold;}
1033 .rendered_html h6{font-size:77%;margin:1.65em 0;font-weight:bold;}
1034 .rendered_html ul{list-style:disc;margin:1em 2em;}
1035 .rendered_html ul ul{list-style:square;margin:0em 2em;}
1036 .rendered_html ul ul ul{list-style:circle;margin:0em 2em;}
1037 .rendered_html ol{list-style:decimal;margin:1em 2em;}
1038 .rendered_html ol ol{list-style:upper-alpha;margin:0em 2em;}
1039 .rendered_html ol ol ol{list-style:lower-alpha;margin:0em 2em;}
1040 .rendered_html ol ol ol ol{list-style:lower-roman;margin:0em 2em;}
1041 .rendered_html ol ol ol ol ol{list-style:decimal;margin:0em 2em;}
1042 .rendered_html hr{color:black;background-color:black;}
1043 .rendered_html pre{margin:1em 2em;}
1044 .rendered_html blockquote{margin:1em 2em;}
1045 .rendered_html table,.rendered_html tr,.rendered_html th,.rendered_html td{border:1px solid black;border-collapse:collapse;margin:1em 2em;}
1046 .rendered_html td,.rendered_html th{text-align:left;vertical-align:middle;padding:4px;}
1047 .rendered_html th{font-weight:bold;}
1048 .rendered_html p{text-align:justify;}
1049 .rendered_html p+p{margin-top:1em;}
1050 .corner-all{border-radius:4px;}
1051 @-moz-keyframes fadeOut{from{opacity:1;} to{opacity:0;}}@-webkit-keyframes fadeOut{from{opacity:1;} to{opacity:0;}}@-moz-keyframes fadeIn{from{opacity:0;} to{opacity:1;}}@-webkit-keyframes fadeIn{from{opacity:0;} to{opacity:1;}}.bigtooltip{overflow:auto;height:200px;-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms;}
1052 .smalltooltip{-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms;text-overflow:ellipsis;overflow:hidden;height:80px;}
1053 .tooltipbuttons{position:absolute;padding-right:15px;top:0px;right:0px;}
1054 .tooltiptext{padding-right:30px;}
1055 .ipython_tooltip{max-width:700px;-webkit-animation:fadeOut 400ms;-moz-animation:fadeOut 400ms;animation:fadeOut 400ms;-webkit-animation:fadeIn 400ms;-moz-animation:fadeIn 400ms;animation:fadeIn 400ms;vertical-align:middle;background-color:#f7f7f7;overflow:visible;border:#ababab 1px solid;outline:none;padding:3px;margin:0px;padding-left:7px;font-family:monospace;min-height:50px;-moz-box-shadow:0px 6px 10px -1px #adadad;-webkit-box-shadow:0px 6px 10px -1px #adadad;box-shadow:0px 6px 10px -1px #adadad;border-radius:4px;position:absolute;}.ipython_tooltip a{float:right;}
1056 .pretooltiparrow{left:0px;margin:0px;top:-16px;width:40px;height:16px;overflow:hidden;position:absolute;}
1057 .pretooltiparrow:before{background-color:#f7f7f7;border:1px #ababab solid;z-index:11;content:"";position:absolute;left:15px;top:10px;width:25px;height:25px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);}
1058
1059 </style>
1060 <style type="text/css">
1061 /* Overrides of notebook CSS for static HTML export
1062
1063 */
1064 body {
1065 overflow: visible;
1066 padding: 8px;
1067 }
1068 .input_area {
1069 padding: 0.4em;
1070 }
1071
1072 </style>
1073 <style type="text/css">
1074 .highlight .hll { background-color: #ffffcc }
1075 .highlight { background: #f8f8f8; }
1076 .highlight .c { color: #408080; font-style: italic } /* Comment */
1077 .highlight .err { border: 1px solid #FF0000 } /* Error */
1078 .highlight .k { color: #008000; font-weight: bold } /* Keyword */
1079 .highlight .o { color: #666666 } /* Operator */
1080 .highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
1081 .highlight .cp { color: #BC7A00 } /* Comment.Preproc */
1082 .highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
1083 .highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
1084 .highlight .gd { color: #A00000 } /* Generic.Deleted */
1085 .highlight .ge { font-style: italic } /* Generic.Emph */
1086 .highlight .gr { color: #FF0000 } /* Generic.Error */
1087 .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
1088 .highlight .gi { color: #00A000 } /* Generic.Inserted */
1089 .highlight .go { color: #808080 } /* Generic.Output */
1090 .highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
1091 .highlight .gs { font-weight: bold } /* Generic.Strong */
1092 .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
1093 .highlight .gt { color: #0040D0 } /* Generic.Traceback */
1094 .highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
1095 .highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
1096 .highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
1097 .highlight .kp { color: #008000 } /* Keyword.Pseudo */
1098 .highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
1099 .highlight .kt { color: #B00040 } /* Keyword.Type */
1100 .highlight .m { color: #666666 } /* Literal.Number */
1101 .highlight .s { color: #BA2121 } /* Literal.String */
1102 .highlight .na { color: #7D9029 } /* Name.Attribute */
1103 .highlight .nb { color: #008000 } /* Name.Builtin */
1104 .highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
1105 .highlight .no { color: #880000 } /* Name.Constant */
1106 .highlight .nd { color: #AA22FF } /* Name.Decorator */
1107 .highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
1108 .highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
1109 .highlight .nf { color: #0000FF } /* Name.Function */
1110 .highlight .nl { color: #A0A000 } /* Name.Label */
1111 .highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
1112 .highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
1113 .highlight .nv { color: #19177C } /* Name.Variable */
1114 .highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
1115 .highlight .w { color: #bbbbbb } /* Text.Whitespace */
1116 .highlight .mf { color: #666666 } /* Literal.Number.Float */
1117 .highlight .mh { color: #666666 } /* Literal.Number.Hex */
1118 .highlight .mi { color: #666666 } /* Literal.Number.Integer */
1119 .highlight .mo { color: #666666 } /* Literal.Number.Oct */
1120 .highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
1121 .highlight .sc { color: #BA2121 } /* Literal.String.Char */
1122 .highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
1123 .highlight .s2 { color: #BA2121 } /* Literal.String.Double */
1124 .highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
1125 .highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
1126 .highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
1127 .highlight .sx { color: #008000 } /* Literal.String.Other */
1128 .highlight .sr { color: #BB6688 } /* Literal.String.Regex */
1129 .highlight .s1 { color: #BA2121 } /* Literal.String.Single */
1130 .highlight .ss { color: #19177C } /* Literal.String.Symbol */
1131 .highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
1132 .highlight .vc { color: #19177C } /* Name.Variable.Class */
1133 .highlight .vg { color: #19177C } /* Name.Variable.Global */
1134 .highlight .vi { color: #19177C } /* Name.Variable.Instance */
1135 .highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
1136 </style>
1137
1138 <script src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS_HTML" type="text/javascript">
1139
1140 </script>
1141 <script type="text/javascript">
1142 init_mathjax = function() {
1143 if (window.MathJax) {
1144 // MathJax loaded
1145 MathJax.Hub.Config({
1146 tex2jax: {
1147 inlineMath: [ ['$','$'], ["\\(","\\)"] ],
1148 displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
1149 },
1150 displayAlign: 'left', // Change this to 'center' to center equations.
1151 "HTML-CSS": {
1152 styles: {'.MathJax_Display': {"margin": 0}}
1153 }
1154 });
1155 MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
1156 }
1157 }
1158 init_mathjax();
1159 </script>
1160 </head>
1161 <body>
1162 <div class="text_cell_render border-box-sizing rendered_html">
1163 <h1>A brief tour of the IPython notebook</h1>
1164 <p>This document will give you a brief tour of the capabilities of the IPython notebook.<br />
1165 You can view its contents by scrolling around, or execute each cell by typing <code>Shift-Enter</code>.
1166 After you conclude this brief high-level tour, you should read the accompanying notebook
1167 titled <code>01_notebook_introduction</code>, which takes a more step-by-step approach to the features of the
1168 system.<br />
1169 </p>
1170 <p>The rest of the notebooks in this directory illustrate various other aspects and
1171 capabilities of the IPython notebook; some of them may require additional libraries to be executed.</p>
1172 <p><strong>NOTE:</strong> This notebook <em>must</em> be run from its own directory, so you must <code>cd</code>
1173 to this directory and then start the notebook, but do <em>not</em> use the <code>--notebook-dir</code>
1174 option to run it from another location.</p>
1175 <p>The first thing you need to know is that you are still controlling the same old IPython you're used to,
1176 so things like shell aliases and magic commands still work:</p>
1177 </div>
1178 <div class="cell border-box-sizing code_cell vbox">
1179 <div class="input hbox">
1180 <div class="prompt input_prompt">In&nbsp;[1]:</div>
1181 <div class="input_area box-flex1">
1182 <div class="highlight"><pre><span class="n">pwd</span>
1183 </pre></div>
1184
1185 </div>
1186 </div>
1187 <div class="output_wrapper">
1188 <div class="output vbox">
1189 <div class="prompt output_prompt">
1190 <div class="output vbox">Out[1]:</div>
1191 </div>
1192 <div class="hbox output_area">
1193 <div class="prompt"></div>
1194 <div class="box-flex1 output_subarea output_pyout">
1195
1196 <pre>u&apos;/Users/minrk/dev/ip/mine/docs/examples/notebooks&apos;</pre>
1197 </div>
1198 </div>
1199 </div>
1200 </div>
1201 </div>
1202 <div class="cell border-box-sizing code_cell vbox">
1203 <div class="input hbox">
1204 <div class="prompt input_prompt">In&nbsp;[2]:</div>
1205 <div class="input_area box-flex1">
1206 <div class="highlight"><pre><span class="n">ls</span>
1207 </pre></div>
1208
1209 </div>
1210 </div>
1211 <div class="output_wrapper">
1212 <div class="output vbox">
1213 <div class="prompt output_prompt">
1214 <div class="output vbox"></div>
1215 </div>
1216 <div class="hbox output_area">
1217 <div class="prompt"></div>
1218 <div class="box-flex1 output_subarea output_stream output_stdout">
1219 <pre>00_notebook_tour.ipynb callbacks.ipynb python-logo.svg
1220 01_notebook_introduction.ipynb cython_extension.ipynb rmagic_extension.ipynb
1221 Animations_and_Progress.ipynb display_protocol.ipynb sympy.ipynb
1222 Capturing Output.ipynb formatting.ipynb sympy_quantum_computing.ipynb
1223 Script Magics.ipynb octavemagic_extension.ipynb trapezoid_rule.ipynb
1224 animation.m4v progbar.ipynb
1225 </pre>
1226 </div>
1227 </div>
1228 </div>
1229 </div>
1230 </div>
1231 <div class="cell border-box-sizing code_cell vbox">
1232 <div class="input hbox">
1233 <div class="prompt input_prompt">In&nbsp;[3]:</div>
1234 <div class="input_area box-flex1">
1235 <div class="highlight"><pre><span class="n">message</span> <span class="o">=</span> <span class="s">&#39;The IPython notebook is great!&#39;</span>
1236 <span class="c"># note: the echo command does not run on Windows, it&#39;s a unix command.</span>
1237 <span class="o">!</span><span class="nb">echo</span> <span class="nv">$message</span>
1238 </pre></div>
1239
1240 </div>
1241 </div>
1242 <div class="output_wrapper">
1243 <div class="output vbox">
1244 <div class="prompt output_prompt">
1245 <div class="output vbox"></div>
1246 </div>
1247 <div class="hbox output_area">
1248 <div class="prompt"></div>
1249 <div class="box-flex1 output_subarea output_stream output_stdout">
1250 <pre>The IPython notebook is great!
1251 </pre>
1252 </div>
1253 </div>
1254 </div>
1255 </div>
1256 </div>
1257 <div class="text_cell_render border-box-sizing rendered_html">
1258 <h2>
1259 Plots with matplotlib
1260 </h2>
1261 </div>
1262
1263 <div class="text_cell_render border-box-sizing rendered_html">
1264 <p>IPython adds an 'inline' matplotlib backend,
1265 which embeds any matplotlib figures into the notebook.</p>
1266 </div>
1267 <div class="cell border-box-sizing code_cell vbox">
1268 <div class="input hbox">
1269 <div class="prompt input_prompt">In&nbsp;[4]:</div>
1270 <div class="input_area box-flex1">
1271 <div class="highlight"><pre><span class="o">%</span><span class="k">pylab</span> <span class="n">inline</span>
1272 </pre></div>
1273
1274 </div>
1275 </div>
1276 <div class="output_wrapper">
1277 <div class="output vbox">
1278 <div class="prompt output_prompt">
1279 <div class="output vbox"></div>
1280 </div>
1281 <div class="hbox output_area">
1282 <div class="prompt"></div>
1283 <div class="box-flex1 output_subarea output_stream output_stdout">
1284 <pre>
1285 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
1286 For more information, type &apos;help(pylab)&apos;.
1287 </pre>
1288 </div>
1289 </div>
1290 </div>
1291 </div>
1292 </div>
1293 <div class="cell border-box-sizing code_cell vbox">
1294 <div class="input hbox">
1295 <div class="prompt input_prompt">In&nbsp;[5]:</div>
1296 <div class="input_area box-flex1">
1297 <div class="highlight"><pre><span class="n">x</span> <span class="o">=</span> <span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">3</span><span class="o">*</span><span class="n">pi</span><span class="p">,</span> <span class="mi">500</span><span class="p">)</span>
1298 <span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="o">**</span><span class="mi">2</span><span class="p">))</span>
1299 <span class="n">title</span><span class="p">(</span><span class="s">&#39;A simple chirp&#39;</span><span class="p">);</span>
1300 </pre></div>
1301
1302 </div>
1303 </div>
1304 <div class="output_wrapper">
1305 <div class="output vbox">
1306 <div class="prompt output_prompt">
1307 <div class="output vbox"></div>
1308 </div>
1309 <div class="hbox output_area">
1310 <div class="prompt"></div>
1311 <div class="box-flex1 output_subarea output_display_data">
1312
1313 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
1314 AAALEgAACxIB0t1+/AAAIABJREFUeJztfXt0VdWd/+fmwSvhlUDeAcSECREFFWtLi8YKWlBTrS8c
1315 q1StZVppO21XZ3XNrJnqmqmF6XSpa9EquqYVOlZp+6tCUfHZKK2ltIpohcqjonnwCOQBeSc35/fH
1316 7s49OTmP/Tzn3GR/1sqCJGc/7s09n/05n+93f3fCsiwLBgYGBgZjAhlRT8DAwMDAIDwY0jcwMDAY
1317 QzCkb2BgYDCGYEjfwMDAYAzBkL6BgYHBGIIhfQMDA4MxBEP6BmmPJ554AldeeaWWvr/whS/g3//9
1318 35X2ee+99+K2227z/P2CBQvw+uuvKx3TwIDCkL5B5KipqUFeXh76+vqE2t9666144YUXFM+KIJFI
1319 IJFIKO/TD3/5y19wySWXKB3TwIDCkL5BpDhy5Ah2796NgoICbNu2LerpuEL1/kWZ/pLJpMKZGIxF
1320 GNI3iBSbN2/GsmXLcNttt2HTpk2+1z7++OM4++yzMWXKFMydOxc///nPh36+dOnSoesyMjLw8MMP
1321 o7KyElOmTMF//Md/4PDhw/jEJz6BadOmYdWqVejv7wcA1NXVoaysDN///vcxc+ZMnHXWWUP9umH7
1322 9u1YtGgRpk+fjk9+8pN49913Pa997733sHz5cuTn56OoqAjf//73ARCl39fXh9WrV2PKlClYsGAB
1323 3nzzzaF2c+bMwauvvgqAWEE33HADbrvtNkydOhWPP/740M9WrVqFKVOm4MILL8Q777wT8E4bGBAY
1324 0jeIFJs3b8bNN9+Mm266CS+88AJOnDjhel1nZye+/vWvY8eOHTh9+jT+8Ic/YNGiRZ79vvjii9iz
1325 Zw927dqF9evX4+6778aTTz6Jjz76CO+++y6efPLJoWuPHz+OU6dOoampCZs2bcKXvvQlHDx4cESf
1326 e/bswV133YXHHnsMLS0tWLNmDWpra11tqTNnzmDZsmVYuXIljh49ikOHDuHyyy8HQJT+tm3bcMst
1327 t6C9vR21tbVYu3btUFun/bNt2zbceOONaG9vx6233jr0s5tuugmtra34x3/8R1x77bUYGBjweacN
1328 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
1667 "></img>
1668 </div>
1669 </div>
1670 </div>
1671 </div>
1672 </div>
1673 <div class="text_cell_render border-box-sizing rendered_html">
1674 <p>You can paste blocks of input with prompt markers, such as those from
1675 <a href="http://docs.python.org/tutorial/interpreter.html#interactive-mode">the official Python tutorial</a></p>
1676 </div>
1677 <div class="cell border-box-sizing code_cell vbox">
1678 <div class="input hbox">
1679 <div class="prompt input_prompt">In&nbsp;[6]:</div>
1680 <div class="input_area box-flex1">
1681 <div class="highlight"><pre><span class="o">&gt;&gt;&gt;</span> <span class="n">the_world_is_flat</span> <span class="o">=</span> <span class="mi">1</span>
1682 <span class="o">&gt;&gt;&gt;</span> <span class="k">if</span> <span class="n">the_world_is_flat</span><span class="p">:</span>
1683 <span class="o">...</span> <span class="k">print</span> <span class="s">&quot;Be careful not to fall off!&quot;</span>
1684 </pre></div>
1685
1686 </div>
1687 </div>
1688 <div class="output_wrapper">
1689 <div class="output vbox">
1690 <div class="prompt output_prompt">
1691 <div class="output vbox"></div>
1692 </div>
1693 <div class="hbox output_area">
1694 <div class="prompt"></div>
1695 <div class="box-flex1 output_subarea output_stream output_stdout">
1696 <pre>Be careful not to fall off!
1697 </pre>
1698 </div>
1699 </div>
1700 </div>
1701 </div>
1702 </div>
1703 <div class="text_cell_render border-box-sizing rendered_html">
1704 <p>Errors are shown in informative ways:</p>
1705 </div>
1706 <div class="cell border-box-sizing code_cell vbox">
1707 <div class="input hbox">
1708 <div class="prompt input_prompt">In&nbsp;[7]:</div>
1709 <div class="input_area box-flex1">
1710 <div class="highlight"><pre><span class="o">%</span><span class="k">run</span> <span class="n">non_existent_file</span>
1711 </pre></div>
1712
1713 </div>
1714 </div>
1715 <div class="output_wrapper">
1716 <div class="output vbox">
1717 <div class="prompt output_prompt">
1718 <div class="output vbox"></div>
1719 </div>
1720 <div class="hbox output_area">
1721 <div class="prompt"></div>
1722 <div class="box-flex1 output_subarea output_stream output_stderr">
1723 <pre>ERROR: File &#96;u&apos;non_existent_file.py&apos;&#96; not found.</pre>
1724 </div>
1725 </div>
1726 </div>
1727 </div>
1728 </div>
1729 <div class="cell border-box-sizing code_cell vbox">
1730 <div class="input hbox">
1731 <div class="prompt input_prompt">In&nbsp;[8]:</div>
1732 <div class="input_area box-flex1">
1733 <div class="highlight"><pre><span class="n">x</span> <span class="o">=</span> <span class="mi">1</span>
1734 <span class="n">y</span> <span class="o">=</span> <span class="mi">4</span>
1735 <span class="n">z</span> <span class="o">=</span> <span class="n">y</span><span class="o">/</span><span class="p">(</span><span class="mi">1</span><span class="o">-</span><span class="n">x</span><span class="p">)</span>
1736 </pre></div>
1737
1738 </div>
1739 </div>
1740 <div class="output_wrapper">
1741 <div class="output vbox">
1742 <div class="prompt output_prompt">
1743 <div class="output vbox"></div>
1744 </div>
1745 <div class="hbox output_area">
1746 <div class="prompt"></div>
1747 <div class="box-flex1 output_subarea output_pyerr">
1748 <pre>
1749 <span class="ansired">---------------------------------------------------------------------------</span>
1750 <span class="ansired">ZeroDivisionError</span> Traceback (most recent call last)
1751 <span class="ansigreen">&lt;ipython-input-8-dc39888fd1d2&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
1752 <span class="ansigreen"> 1</span> x <span class="ansiyellow">=</span> <span class="ansicyan">1</span><span class="ansiyellow"></span>
1753 <span class="ansigreen"> 2</span> y <span class="ansiyellow">=</span> <span class="ansicyan">4</span><span class="ansiyellow"></span>
1754 <span class="ansigreen">----&gt; 3</span><span class="ansiyellow"> </span>z <span class="ansiyellow">=</span> y<span class="ansiyellow">/</span><span class="ansiyellow">(</span><span class="ansicyan">1</span><span class="ansiyellow">-</span>x<span class="ansiyellow">)</span><span class="ansiyellow"></span>
1755
1756 <span class="ansired">ZeroDivisionError</span>: integer division or modulo by zero</pre>
1757 </div>
1758 </div>
1759 </div>
1760 </div>
1761 </div>
1762 <div class="text_cell_render border-box-sizing rendered_html">
1763 <p>When IPython needs to display additional information (such as providing details on an object via <code>x?</code>
1764 it will automatically invoke a pager at the bottom of the screen:</p>
1765 </div>
1766 <div class="cell border-box-sizing code_cell vbox">
1767 <div class="input hbox">
1768 <div class="prompt input_prompt">In&nbsp;[18]:</div>
1769 <div class="input_area box-flex1">
1770 <div class="highlight"><pre><span class="n">magic</span>
1771 </pre></div>
1772
1773 </div>
1774 </div>
1775 </div>
1776 <div class="text_cell_render border-box-sizing rendered_html">
1777 <h2>Non-blocking output of kernel</h2>
1778 <p>If you execute the next cell, you will see the output arriving as it is generated, not all at the end.</p>
1779 </div>
1780 <div class="cell border-box-sizing code_cell vbox">
1781 <div class="input hbox">
1782 <div class="prompt input_prompt">In&nbsp;[19]:</div>
1783 <div class="input_area box-flex1">
1784 <div class="highlight"><pre><span class="kn">import</span> <span class="nn">time</span><span class="o">,</span> <span class="nn">sys</span>
1785 <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">8</span><span class="p">):</span>
1786 <span class="k">print</span> <span class="n">i</span><span class="p">,</span>
1787 <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mf">0.5</span><span class="p">)</span>
1788 </pre></div>
1789
1790 </div>
1791 </div>
1792 <div class="output_wrapper">
1793 <div class="output vbox">
1794 <div class="prompt output_prompt">
1795 <div class="output vbox"></div>
1796 </div>
1797 <div class="hbox output_area">
1798 <div class="prompt"></div>
1799 <div class="box-flex1 output_subarea output_stream output_stdout">
1800 <pre>0 </pre>
1801 </div>
1802 </div><div class="hbox output_area">
1803 <div class="prompt"></div>
1804 <div class="box-flex1 output_subarea output_stream output_stdout">
1805 <pre>1 </pre>
1806 </div>
1807 </div><div class="hbox output_area">
1808 <div class="prompt"></div>
1809 <div class="box-flex1 output_subarea output_stream output_stdout">
1810 <pre>2 </pre>
1811 </div>
1812 </div><div class="hbox output_area">
1813 <div class="prompt"></div>
1814 <div class="box-flex1 output_subarea output_stream output_stdout">
1815 <pre>3 </pre>
1816 </div>
1817 </div><div class="hbox output_area">
1818 <div class="prompt"></div>
1819 <div class="box-flex1 output_subarea output_stream output_stdout">
1820 <pre>4 </pre>
1821 </div>
1822 </div><div class="hbox output_area">
1823 <div class="prompt"></div>
1824 <div class="box-flex1 output_subarea output_stream output_stdout">
1825 <pre>5 </pre>
1826 </div>
1827 </div><div class="hbox output_area">
1828 <div class="prompt"></div>
1829 <div class="box-flex1 output_subarea output_stream output_stdout">
1830 <pre>6 </pre>
1831 </div>
1832 </div><div class="hbox output_area">
1833 <div class="prompt"></div>
1834 <div class="box-flex1 output_subarea output_stream output_stdout">
1835 <pre>7
1836 </pre>
1837 </div>
1838 </div>
1839 </div>
1840 </div>
1841 </div>
1842 <div class="text_cell_render border-box-sizing rendered_html">
1843 <h2>Clean crash and restart</h2>
1844 <p>We call the low-level system libc.time routine with the wrong argument via
1845 ctypes to segfault the Python interpreter:</p>
1846 </div>
1847 <div class="cell border-box-sizing code_cell vbox">
1848 <div class="input hbox">
1849 <div class="prompt input_prompt">In&nbsp;[*]:</div>
1850 <div class="input_area box-flex1">
1851 <div class="highlight"><pre><span class="kn">import</span> <span class="nn">sys</span>
1852 <span class="kn">from</span> <span class="nn">ctypes</span> <span class="kn">import</span> <span class="n">CDLL</span>
1853 <span class="c"># This will crash a Linux or Mac system; equivalent calls can be made on Windows</span>
1854 <span class="n">dll</span> <span class="o">=</span> <span class="s">&#39;dylib&#39;</span> <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">platform</span> <span class="o">==</span> <span class="s">&#39;darwin&#39;</span> <span class="k">else</span> <span class="s">&#39;.so.6&#39;</span>
1855 <span class="n">libc</span> <span class="o">=</span> <span class="n">CDLL</span><span class="p">(</span><span class="s">&quot;libc.</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">dll</span><span class="p">)</span>
1856 <span class="n">libc</span><span class="o">.</span><span class="n">time</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="c"># BOOM!!</span>
1857 </pre></div>
1858
1859 </div>
1860 </div>
1861 </div>
1862 <div class="text_cell_render border-box-sizing rendered_html">
1863 <h2>Markdown cells can contain formatted text and code</h2>
1864 <p>You can <em>italicize</em>, <strong>boldface</strong></p>
1865 <ul>
1866 <li>build</li>
1867 <li>lists</li>
1868 </ul>
1869 <p>and embed code meant for illustration instead of execution in Python:</p>
1870 <pre><code>def f(x):
1871 """a docstring"""
1872 return x**2
1873 </code></pre>
1874 <p>or other languages:</p>
1875 <pre><code>if (i=0; i&lt;n; i++) {
1876 printf("hello %d\n", i);
1877 x += 4;
1878 }
1879 </code></pre>
1880 </div>
1881 <div class="text_cell_render border-box-sizing rendered_html">
1882 <p>Courtesy of MathJax, you can include mathematical expressions both inline:
1883 $e^{i\pi} + 1 = 0$ and displayed:</p>
1884 <p>$$e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i$$</p>
1885 </div>
1886 <div class="text_cell_render border-box-sizing rendered_html">
1887 <h2>Rich displays: include anyting a browser can show</h2>
1888 <p>Note that we have an actual protocol for this, see the <code>display_protocol</code> notebook for further details.</p>
1889 <h3>Images</h3>
1890 </div>
1891 <div class="cell border-box-sizing code_cell vbox">
1892 <div class="input hbox">
1893 <div class="prompt input_prompt">In&nbsp;[1]:</div>
1894 <div class="input_area box-flex1">
1895 <div class="highlight"><pre><span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">Image</span>
1896 <span class="n">Image</span><span class="p">(</span><span class="n">filename</span><span class="o">=</span><span class="s">&#39;../../source/_static/logo.png&#39;</span><span class="p">)</span>
1897 </pre></div>
1898
1899 </div>
1900 </div>
1901 <div class="output_wrapper">
1902 <div class="output vbox">
1903 <div class="prompt output_prompt">
1904 <div class="output vbox">Out[1]:</div>
1905 </div>
1906 <div class="hbox output_area">
1907 <div class="prompt"></div>
1908 <div class="box-flex1 output_subarea output_pyout">
1909
1910 <img src="data:image/png;base64,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
2072 "></img>
2073 </div>
2074 </div>
2075 </div>
2076 </div>
2077 </div>
2078 <div class="text_cell_render border-box-sizing rendered_html">
2079 <p>An image can also be displayed from raw data or a url</p>
2080 </div>
2081 <div class="cell border-box-sizing code_cell vbox">
2082 <div class="input hbox">
2083 <div class="prompt input_prompt">In&nbsp;[2]:</div>
2084 <div class="input_area box-flex1">
2085 <div class="highlight"><pre><span class="n">Image</span><span class="p">(</span><span class="n">url</span><span class="o">=</span><span class="s">&#39;http://python.org/images/python-logo.gif&#39;</span><span class="p">)</span>
2086 </pre></div>
2087
2088 </div>
2089 </div>
2090 <div class="output_wrapper">
2091 <div class="output vbox">
2092 <div class="prompt output_prompt">
2093 <div class="output vbox">Out[2]:</div>
2094 </div>
2095 <div class="hbox output_area">
2096 <div class="prompt"></div>
2097 <div class="box-flex1 output_subarea output_pyout">
2098 <div class="output_html rendered_html">
2099 <img src="http://python.org/images/python-logo.gif" />
2100 </div>
2101 </div>
2102 </div>
2103 </div>
2104 </div>
2105 </div>
2106 <div class="text_cell_render border-box-sizing rendered_html">
2107 <p>SVG images are also supported out of the box (since modern browsers do a good job of rendering them):</p>
2108 </div>
2109 <div class="cell border-box-sizing code_cell vbox">
2110 <div class="input hbox">
2111 <div class="prompt input_prompt">In&nbsp;[3]:</div>
2112 <div class="input_area box-flex1">
2113 <div class="highlight"><pre><span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">SVG</span>
2114 <span class="n">SVG</span><span class="p">(</span><span class="n">filename</span><span class="o">=</span><span class="s">&#39;python-logo.svg&#39;</span><span class="p">)</span>
2115 </pre></div>
2116
2117 </div>
2118 </div>
2119 <div class="output_wrapper">
2120 <div class="output vbox">
2121 <div class="prompt output_prompt">
2122 <div class="output vbox">Out[3]:</div>
2123 </div>
2124 <div class="hbox output_area">
2125 <div class="prompt"></div>
2126 <div class="box-flex1 output_subarea output_pyout">
2127 <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">
2128 <metadata id="metadata2193">
2129 <rdf:RDF>
2130 <cc:Work rdf:about="">
2131 <dc:format>image/svg+xml</dc:format>
2132 <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
2133 </cc:Work>
2134 </rdf:RDF>
2135 </metadata>
2136 <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"/>
2137 <defs id="defs4">
2138 <linearGradient id="linearGradient2795">
2139 <stop id="stop2797" offset="0" style="stop-color:#b8b8b8;stop-opacity:0.49803922"/>
2140 <stop id="stop2799" offset="1" style="stop-color:#7f7f7f;stop-opacity:0"/>
2141 </linearGradient>
2142 <linearGradient id="linearGradient2787">
2143 <stop id="stop2789" offset="0" style="stop-color:#7f7f7f;stop-opacity:0.5"/>
2144 <stop id="stop2791" offset="1" style="stop-color:#7f7f7f;stop-opacity:0"/>
2145 </linearGradient>
2146 <linearGradient id="linearGradient3676">
2147 <stop id="stop3678" offset="0" style="stop-color:#b2b2b2;stop-opacity:0.5"/>
2148 <stop id="stop3680" offset="1" style="stop-color:#b3b3b3;stop-opacity:0"/>
2149 </linearGradient>
2150 <linearGradient id="linearGradient3236">
2151 <stop id="stop3244" offset="0" style="stop-color:#f4f4f4;stop-opacity:1"/>
2152 <stop id="stop3240" offset="1" style="stop-color:#ffffff;stop-opacity:1"/>
2153 </linearGradient>
2154 <linearGradient id="linearGradient4671">
2155 <stop id="stop4673" offset="0" style="stop-color:#ffd43b;stop-opacity:1"/>
2156 <stop id="stop4675" offset="1" style="stop-color:#ffe873;stop-opacity:1"/>
2157 </linearGradient>
2158 <linearGradient id="linearGradient4689">
2159 <stop id="stop4691" offset="0" style="stop-color:#5a9fd4;stop-opacity:1"/>
2160 <stop id="stop4693" offset="1" style="stop-color:#306998;stop-opacity:1"/>
2161 </linearGradient>
2162 <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"/>
2163 <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"/>
2164 <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"/>
2165 <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"/>
2166 <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"/>
2167 <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"/>
2168 <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"/>
2169 <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"/>
2170 <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"/>
2171 <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"/>
2172 <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"/>
2173 <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"/>
2174 </defs>
2175 <g id="g2303">
2176 <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"/>
2177 <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"/>
2178 <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"/>
2179 <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"/>
2180 <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"/>
2181 <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"/>
2182 <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"/>
2183 <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"/>
2184 <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"/>
2185 <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)"/>
2186 </g>
2187 </svg>
2188 </div>
2189 </div>
2190 </div>
2191 </div>
2192 </div>
2193 <div class="text_cell_render border-box-sizing rendered_html">
2194 <h4>Embedded vs Non-embedded Images</h4>
2195 </div>
2196 <div class="text_cell_render border-box-sizing rendered_html">
2197 <p>As of IPython 0.13, images are embedded by default for compatibility with QtConsole, and the ability to still be displayed offline.</p>
2198 <p>Let's look at the differences:</p>
2199 </div>
2200 <div class="cell border-box-sizing code_cell vbox">
2201 <div class="input hbox">
2202 <div class="prompt input_prompt">In&nbsp;[4]:</div>
2203 <div class="input_area box-flex1">
2204 <div class="highlight"><pre><span class="c"># by default Image data are embedded</span>
2205 <span class="n">Embed</span> <span class="o">=</span> <span class="n">Image</span><span class="p">(</span> <span class="s">&#39;http://scienceview.berkeley.edu/view/images/newview.jpg&#39;</span><span class="p">)</span>
2206
2207 <span class="c"># if kwarg `url` is given, the embedding is assumed to be false</span>
2208 <span class="n">SoftLinked</span> <span class="o">=</span> <span class="n">Image</span><span class="p">(</span><span class="n">url</span><span class="o">=</span><span class="s">&#39;http://scienceview.berkeley.edu/view/images/newview.jpg&#39;</span><span class="p">)</span>
2209
2210 <span class="c"># In each case, embed can be specified explicitly with the `embed` kwarg</span>
2211 <span class="c"># ForceEmbed = Image(url=&#39;http://scienceview.berkeley.edu/view/images/newview.jpg&#39;, embed=True)</span>
2212 </pre></div>
2213
2214 </div>
2215 </div>
2216 </div>
2217 <div class="text_cell_render border-box-sizing rendered_html">
2218 <p>Today's image from a webcam at Berkeley, (at the time I created this notebook). This should also work in the Qtconsole.
2219 Drawback is that the saved notebook will be larger, but the image will still be present offline.</p>
2220 </div>
2221 <div class="cell border-box-sizing code_cell vbox">
2222 <div class="input hbox">
2223 <div class="prompt input_prompt">In&nbsp;[5]:</div>
2224 <div class="input_area box-flex1">
2225 <div class="highlight"><pre><span class="n">Embed</span>
2226 </pre></div>
2227
2228 </div>
2229 </div>
2230 <div class="output_wrapper">
2231 <div class="output vbox">
2232 <div class="prompt output_prompt">
2233 <div class="output vbox">Out[5]:</div>
2234 </div>
2235 <div class="hbox output_area">
2236 <div class="prompt"></div>
2237 <div class="box-flex1 output_subarea output_pyout">
2238
2239 <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAtAC0AAD//gAdQ29weXJpZ2h0IDIwMTIgVS5DLiBSZWdlbnRz/+Ef/kV4
2240 aWYAAElJKgAIAAAACgAOAQIAIAAAAIYAAAAPAQIABgAAAKYAAAAQAQIAFAAAAKwAAAASAQMAAQAA
2241 AAEAAAAaAQUAAQAAAMwAAAAbAQUAAQAAANQAAAAoAQMAAQAAAAIAAAAyAQIAFAAAANwAAAATAgMA
2242 AQAAAAIAAABphwQAAQAAAPAAAADuDAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIABD
2243 YW5vbgBDYW5vbiBQb3dlclNob3QgRzEwAAAAAAAAAAAAAAAAALQAAAABAAAAtAAAAAEAAAAyMDEy
2244 OjA3OjE2IDExOjEzOjI1ACAAmoIFAAEAAAB2AgAAnYIFAAEAAAB+AgAAJ4gDAAEAAABQAAAAAJAH
2245 AAQAAAAwMjIxA5ACABQAAACGAgAABJACABQAAACaAgAAAZEHAAQAAAABAgMAApEFAAEAAACuAgAA
2246 AZIKAAEAAAC2AgAAApIFAAEAAAC+AgAABJIKAAEAAADGAgAABZIFAAEAAADOAgAAB5IDAAEAAAAF
2247 AAAACZIDAAEAAAAQAAAACpIFAAEAAADWAgAAfJIHALoIAADeAgAAhpIHAAgBAACYCwAAAKAHAAQA
2248 AAAwMTAwAaADAAEAAAABAAAAAqADAAEAAAAgCgAAA6ADAAEAAACYBwAABaAEAAEAAACgDAAADqIF
2249 AAEAAADWDAAAD6IFAAEAAADeDAAAEKIDAAEAAAACAAAAF6IDAAEAAAACAAAAAKMHAAEAAAADAAAA
2250 AaQDAAEAAAAAAAAAAqQDAAEAAAAAAAAAA6QDAAEAAAAAAAAABKQFAAEAAADmDAAABqQDAAEAAAAA
2251 AAAAAAAAAAEAAABAAQAAKAAAAAoAAAAyMDEyOjA3OjE2IDExOjEzOjI1ADIwMTI6MDc6MTYgMTE6
2252 MTM6MjUABQAAAAEAAAAKAQAAIAAAAIAAAAAgAAAAAAAAAAMAAABrAAAAIAAAADgmAADoAwAAGQAB
2253 AAMAMAAAABwEAAACAAMABAAAAHwEAAADAAMABAAAAIQEAAAEAAMAIgAAAIwEAAAAAAMABgAAANAE
2254 AAAGAAIAFwAAANwEAAAHAAIAFgAAAPwEAAAIAAQAAQAAAIBjFAAJAAIAIAAAABQFAAANAAQAogAA
2255 ADQFAAAQAAQAAQAAAAAASQImAAMAMAAAALwHAAATAAMABAAAABwIAAAYAAEAAAEAACQIAAAZAAMA
2256 AQAAAAEAAAAcAAMAAQAAAAAAAAAdAAMAEAAAACQJAAAeAAQAAQAAAAABAgEfAAMARQAAAEQJAAAi
2257 AAMA0AAAAM4JAAAjAAQAAgAAAG4LAAAnAAMABQAAAHYLAAAoAAEAEAAAAIALAADQAAQAAQAAAAAA
2258 AAAtAAQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAACAAAABQAAAAAAAAAEAP//AQAGAAEAAAAA
2259 AAAAAAAPAAMAAQABQAEA/3///yR31BfoA2sAwAAAAAAAAAAAAAAAAAAAAAAAQBFAEQAAAAD//wAA
2260 /3//fwAAAAD//zIAAgA4JisB4AAAAAAAAAAAAEQA8/+gAB0BgAAKAQAAAAAAAAAABQAAAAAAAAAA
2261 AAAAAAAAAAMAmRkAAIAACwEAAAAAAAD6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASU1HOlBv
2262 d2VyU2hvdCBHMTAgSlBFRwAAAAAAAAAAAABGaXJtd2FyZSBWZXJzaW9uIDEuMDIAAABTY2llbmNl
2263 VmlldwAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABzAQAAmwEAAAAAAAAAAAAAAAAAAIABAAAjAwAA
2264 2P///wAAAAAAAAAAAAAAAAAAAABBAgAAMQMAAKX///8AAAAAAAAAAPb///8nAAAAAAAAACcAAAD+
2265 ////AAAAAAAAAABzAAAAAAAAAFcDAAAwAwAARAMAAIABAADoAwAApf///wAAAAAAAAAAMAMAAEQD
2266 AAAAAAAAAAAAAAEAAAACAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2267 AKwAAAAABAAAAAQAAAMAAABSAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwEAAAAAAAAPAAAA
2268 VQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8EAAANBAAAMQQAAD0FAAAAAAAADwAAAFUBAABJ
2269 AAAA5QMAAIkGAACfBgAA5QMAAAAAAAAAAAAAAAAAAAEAAACBAQAAEgQAAFcDAACTAgAApf///wIA
2270 AABAAAAAwAEAAD8AAAAAAAAACwQAAAEAAAAAAAAAfwQAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAA
2271 AFT+//8QBAAAfgQAAFIEAAAOBAAAEQQAAA4EAAANBAAADwQAAA0EAAALBAAA//8AAAAAAADABQAA
2272 FAEAAFQBAABBAAAAbwQAANcAAAAJAQAAMgAAAAAAAAAAAAAAAwAAAAMAAAACAAAAAAAAAAAAAAAA
2273 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2274 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAKAAAAU0d28WAABAAJAAkAIAqY
2275 B2QAZAASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgDu/wAAEgDu/wAAEgDu/wAA
2276 EgDu/+7/7v8AAAAAAAASABIAEgCAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2277 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2278 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2279 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2280 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2281 AAAAAAAAACAAAQAAAAIAAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAigABAAAABAAIAAAAAAAAAAAA
2282 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2283 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2284 AAAAAAAAoAEAAAAAEAAIAAEAAQCAAuABAAAAAAAAAAAAAAgAgAEAAAAAAAAAAAAAAAAAAAAAAAAA
2285 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2286 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2287 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2288 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2289 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2290 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2291 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAoAAAAAAAAAAABJNz0ciOBUJVCJsJVgaq7+
2292 SUkqAN4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2293 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2294 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2295 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2296 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAEAAgAEAAAAUjk4
2297 AAIABwAEAAAAMDEwMAEQAwABAAAAIAoAAAIQAwABAAAAmAcAAAAAAAAAjScAJAEAAMCpHQDbAAAA
2298 QBEAAEARAAAGAAMBAwABAAAABgAAABoBBQABAAAAPA0AABsBBQABAAAARA0AACgBAwABAAAAAgAA
2299 AAECBAABAAAA9BMAAAICBAABAAAA1QoAAAAAAAC0AAAAAQAAALQAAAABAAAAAAAAAAAAAAAAAAAA
2300 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2301 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2302 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2303 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2304 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2305 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2306 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2307 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2308 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2309 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2310 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2311 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2312 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2313 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2314 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2315 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2316 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2317 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2318 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2319 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2320 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2321 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2322 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2323 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2324 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2325 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2326 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2327 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2328 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2329 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9j/2wCEAAkGBggGBQkIBwgK
2330 CQkLDRYPDQwMDRwTFRAWIR0jIiEcIB8kKTQsJCcxJx4fLT0tMTY3Ojo6Iio/RD44QjM3OTYBCQkJ
2331 DAoMFAwMFA8KCgoPGhoKChoaTxoaGhoaT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09P
2332 T09PT//AABEIAHgAoAMBIQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsB
2333 AAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEG
2334 E1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW
2335 V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLD
2336 xMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6EQACAQIEBAMEBwUEBAABAncAAQID
2337 EQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RF
2338 RkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqy
2339 s7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/
2340 AO4UU8CmA4CnAUALilFIYoFPAoAeBS0AFBFADSKQigBDTTQAUUCENNagCutSLTAeBTsUDDFKBSAc
2341 BT1FADiKKAFxSE0AJTSaAEpKACkoEJimkUAV1qRaYDxTxQMWlxSAUCnjigAJpc0DAmmk0CEJppNA
2342 BRQAhNFABTT0oEVlqVRTAeBTwKQxcUtACg0uaADNJmkMQtSFqBCZpM0AGaM0wDdSFqAE3UhagRCq
2343 4qVaAJBTqBhmlzSATNLuoAaWozQMTNJmgAzSE0CGlqaXoATzKQyUwGmXFNM1AiUGnCgCRBnrUgUY
2344 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
3431 3prgmYlQfpOQMHkmuDVMI//Z
3432 "></img>
3433 </div>
3434 </div>
3435 </div>
3436 </div>
3437 </div>
3438 <div class="text_cell_render border-box-sizing rendered_html">
3439 <p>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.
3440 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.</p>
3441 </div>
3442 <div class="cell border-box-sizing code_cell vbox">
3443 <div class="input hbox">
3444 <div class="prompt input_prompt">In&nbsp;[6]:</div>
3445 <div class="input_area box-flex1">
3446 <div class="highlight"><pre><span class="n">SoftLinked</span>
3447 </pre></div>
3448
3449 </div>
3450 </div>
3451 <div class="output_wrapper">
3452 <div class="output vbox">
3453 <div class="prompt output_prompt">
3454 <div class="output vbox">Out[6]:</div>
3455 </div>
3456 <div class="hbox output_area">
3457 <div class="prompt"></div>
3458 <div class="box-flex1 output_subarea output_pyout">
3459 <div class="output_html rendered_html">
3460 <img src="http://scienceview.berkeley.edu/view/images/newview.jpg" />
3461 </div>
3462 </div>
3463 </div>
3464 </div>
3465 </div>
3466 </div>
3467 <div class="text_cell_render border-box-sizing rendered_html">
3468 <p>Of course, if you re-run the all notebook, the two images will be the same again.</p>
3469 </div>
3470 <div class="text_cell_render border-box-sizing rendered_html">
3471 <h3>Video</h3>
3472 </div>
3473 <div class="text_cell_render border-box-sizing rendered_html">
3474 <p>And more exotic objects can also be displayed, as long as their representation supports
3475 the IPython display protocol.</p>
3476 <p>For example, videos hosted externally on YouTube are easy to load (and writing a similar wrapper for other
3477 hosted content is trivial):</p>
3478 </div>
3479 <div class="cell border-box-sizing code_cell vbox">
3480 <div class="input hbox">
3481 <div class="prompt input_prompt">In&nbsp;[7]:</div>
3482 <div class="input_area box-flex1">
3483 <div class="highlight"><pre><span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">YouTubeVideo</span>
3484 <span class="c"># a talk about IPython at Sage Days at U. Washington, Seattle.</span>
3485 <span class="c"># Video credit: William Stein.</span>
3486 <span class="n">YouTubeVideo</span><span class="p">(</span><span class="s">&#39;1j_HxD4iLn8&#39;</span><span class="p">)</span>
3487 </pre></div>
3488
3489 </div>
3490 </div>
3491 <div class="output_wrapper">
3492 <div class="output vbox">
3493 <div class="prompt output_prompt">
3494 <div class="output vbox">Out[7]:</div>
3495 </div>
3496 <div class="hbox output_area">
3497 <div class="prompt"></div>
3498 <div class="box-flex1 output_subarea output_pyout">
3499 <div class="output_html rendered_html">
3500
3501 <iframe
3502 width="400"
3503 height="300"
3504 src="http://www.youtube.com/embed/1j_HxD4iLn8"
3505 frameborder="0"
3506 allowfullscreen
3507 ></iframe>
3508
3509 </div>
3510 </div>
3511 </div>
3512 </div>
3513 </div>
3514 </div>
3515 <div class="text_cell_render border-box-sizing rendered_html">
3516 <p>Using the nascent video capabilities of modern browsers, you may also be able to display local
3517 videos. At the moment this doesn't work very well in all browsers, so it may or may not work for you;
3518 we will continue testing this and looking for ways to make it more robust.<br />
3519 </p>
3520 <p>The following cell loads a local file called <code>animation.m4v</code>, encodes the raw video as base64 for http
3521 transport, and uses the HTML5 video tag to load it. On Chrome 15 it works correctly, displaying a control
3522 bar at the bottom with a play/pause button and a location slider.</p>
3523 </div>
3524 <div class="cell border-box-sizing code_cell vbox">
3525 <div class="input hbox">
3526 <div class="prompt input_prompt">In&nbsp;[8]:</div>
3527 <div class="input_area box-flex1">
3528 <div class="highlight"><pre><span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">HTML</span>
3529 <span class="n">video</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s">&quot;animation.m4v&quot;</span><span class="p">,</span> <span class="s">&quot;rb&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
3530 <span class="n">video_encoded</span> <span class="o">=</span> <span class="n">video</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">&quot;base64&quot;</span><span class="p">)</span>
3531 <span class="n">video_tag</span> <span class="o">=</span> <span class="s">&#39;&lt;video controls alt=&quot;test&quot; src=&quot;data:video/x-m4v;base64,{0}&quot;&gt;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">video_encoded</span><span class="p">)</span>
3532 <span class="n">HTML</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">video_tag</span><span class="p">)</span>
3533 </pre></div>
3534
3535 </div>
3536 </div>
3537 <div class="output_wrapper">
3538 <div class="output vbox">
3539 <div class="prompt output_prompt">
3540 <div class="output vbox">Out[8]:</div>
3541 </div>
3542 <div class="hbox output_area">
3543 <div class="prompt"></div>
3544 <div class="box-flex1 output_subarea output_pyout">
3545 <div class="output_html rendered_html">
3546 <video controls alt="test" src="data:video/x-m4v;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAqiW1kYXQAAAKMBgX//4jcRem9
3547 5tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTE4IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENv
3548 cHlsZWZ0IDIwMDMtMjAxMSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9w
3549 dGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1o
3550 ZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2
3551 IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0
3552 X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBu
3553 cj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9p
3554 bnRyYT0wIGJmcmFtZXM9MyBiX3B5cmFtaWQ9MiBiX2FkYXB0PTEgYl9iaWFzPTAgZGlyZWN0PTEg
3555 d2VpZ2h0Yj0xIG9wZW5fZ29wPTAgd2VpZ2h0cD0yIGtleWludD0yNTAga2V5aW50X21pbj0yNSBz
3556 Y2VuZWN1dD00MCBpbnRyYV9yZWZyZXNoPTAgcmNfbG9va2FoZWFkPTQwIHJjPWNyZiBtYnRyZWU9
3557 MSBjcmY9MjMuMCBxY29tcD0wLjYwIHFwbWluPTAgcXBtYXg9NjkgcXBzdGVwPTQgaXBfcmF0aW89
3558 MS40MCBhcT0xOjEuMDAAgAAACqVliIQAV/0TAAI/3gU2tIW7KawwaCmQGTGHKmuYAAADACBcshU+
3559 yICkgAA14AHowiEeT6ei7v7h3Hu0i2fpUBLGBIkbCMP3Vfz+9BVGCDXnw9Uv5o3iN030tb7eq6rs
3560 EEhHs2azbdTiE9Csz5Zm6SiUWRdmB43hbD5i6syATuODUJd7LM3d9cbFpc7zFlu5y3vUmNGd6urp
3561 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
3755 ">
3756 </div>
3757 </div>
3758 </div>
3759 </div>
3760 </div>
3761 </div>
3762 <div class="text_cell_render border-box-sizing rendered_html">
3763 <h2>Local Files</h2>
3764 <p>The above examples embed images and video from the notebook filesystem in the output
3765 areas of code cells. It is also possible to request these files directly in markdown cells
3766 if they reside in the notebook directory via relative urls prefixed with <code>files/</code>:</p>
3767 <pre><code>files/[subdirectory/]&lt;filename&gt;
3768 </code></pre>
3769 <p>For example, in the example notebook folder, we have the Python logo, addressed as:</p>
3770 <pre><code>&lt;img src="files/python-logo.svg" /&gt;
3771 </code></pre>
3772 <p><img src="python-logo.svg" /></p>
3773 <p>and a video with the HTML5 video tag:</p>
3774 <pre><code>&lt;video controls src="files/animation.m4v" /&gt;
3775 </code></pre>
3776 <video controls src="animation.m4v" />
3777
3778 These do not embed the data into the notebook file,
3779 and require that the files exist when you are viewing the notebook.
3780
3781 ### Security of local files
3782
3783 Note that this means that the IPython notebook server also acts as a generic file server
3784 for files inside the same tree as your notebooks. Access is not granted outside the
3785 notebook folder so you have strict control over what files are visible, but for this
3786 reason it is highly recommended that you do not run the notebook server with a notebook
3787 directory at a high level in your filesystem (e.g. your home directory).
3788
3789 When you run the notebook in a password-protected manner, local file access is restricted
3790 to authenticated users unless read-only views are active.
3791 </div>
3792 <div class="text_cell_render border-box-sizing rendered_html">
3793 <h2>Linking to files and directories for viewing in the browser</h2>
3794 <p>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.</p>
3795 <p>As we saw above, there are a bunch of <code>.ipynb</code> files in our current directory.</p>
3796 </div>
3797 <div class="cell border-box-sizing code_cell vbox">
3798 <div class="input hbox">
3799 <div class="prompt input_prompt">In&nbsp;[1]:</div>
3800 <div class="input_area box-flex1">
3801 <div class="highlight"><pre><span class="n">ls</span>
3802 </pre></div>
3803
3804 </div>
3805 </div>
3806 <div class="output_wrapper">
3807 <div class="output vbox">
3808 <div class="prompt output_prompt">
3809 <div class="output vbox"></div>
3810 </div>
3811 <div class="hbox output_area">
3812 <div class="prompt"></div>
3813 <div class="box-flex1 output_subarea output_stream output_stdout">
3814 <pre>00_notebook_tour.ipynb formatting.ipynb
3815 01_notebook_introduction.ipynb octavemagic_extension.ipynb
3816 Animations_and_Progress.ipynb publish_data.ipynb
3817 Capturing Output.ipynb python-logo.svg
3818 Script Magics.ipynb rmagic_extension.ipynb
3819 animation.m4v sympy.ipynb
3820 cython_extension.ipynb sympy_quantum_computing.ipynb
3821 display_protocol.ipynb trapezoid_rule.ipynb
3822 </pre>
3823 </div>
3824 </div>
3825 </div>
3826 </div>
3827 </div>
3828 <div class="text_cell_render border-box-sizing rendered_html">
3829 <p>If we want to create a link to one of them, we can call use the <code>FileLink</code> object.</p>
3830 </div>
3831 <div class="cell border-box-sizing code_cell vbox">
3832 <div class="input hbox">
3833 <div class="prompt input_prompt">In&nbsp;[2]:</div>
3834 <div class="input_area box-flex1">
3835 <div class="highlight"><pre><span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">FileLink</span>
3836 <span class="n">FileLink</span><span class="p">(</span><span class="s">&#39;00_notebook_tour.ipynb&#39;</span><span class="p">)</span>
3837 </pre></div>
3838
3839 </div>
3840 </div>
3841 <div class="output_wrapper">
3842 <div class="output vbox">
3843 <div class="prompt output_prompt">
3844 <div class="output vbox">Out[2]:</div>
3845 </div>
3846 <div class="hbox output_area">
3847 <div class="prompt"></div>
3848 <div class="box-flex1 output_subarea output_pyout">
3849 <div class="output_html rendered_html">
3850 <a href='files/00_notebook_tour.ipynb' target='_blank'>00_notebook_tour.ipynb</a><br>
3851 </div>
3852 </div>
3853 </div>
3854 </div>
3855 </div>
3856 </div>
3857 <div class="text_cell_render border-box-sizing rendered_html">
3858 <p>Alternatively, if we want to link to all of them, we can use the <code>FileLinks</code> object, passing <code>'.'</code> to indicate that we want links generated for the current working directory. Note that if there were other directories under the current directory, <code>FileLinks</code> would work in a recursive manner creating links to files in all sub-directories as well.</p>
3859 </div>
3860 <div class="cell border-box-sizing code_cell vbox">
3861 <div class="input hbox">
3862 <div class="prompt input_prompt">In&nbsp;[7]:</div>
3863 <div class="input_area box-flex1">
3864 <div class="highlight"><pre><span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">FileLinks</span>
3865 <span class="n">FileLinks</span><span class="p">(</span><span class="s">&#39;.&#39;</span><span class="p">)</span>
3866 </pre></div>
3867
3868 </div>
3869 </div>
3870 <div class="output_wrapper">
3871 <div class="output vbox">
3872 <div class="prompt output_prompt">
3873 <div class="output vbox">Out[7]:</div>
3874 </div>
3875 <div class="hbox output_area">
3876 <div class="prompt"></div>
3877 <div class="box-flex1 output_subarea output_pyout">
3878 <div class="output_html rendered_html">
3879 <a href='files/./00_notebook_tour.ipynb' target='_blank'>00_notebook_tour.ipynb</a><br>
3880 <a href='files/./01_notebook_introduction.ipynb' target='_blank'>01_notebook_introduction.ipynb</a><br>
3881 <a href='files/./animation.m4v' target='_blank'>animation.m4v</a><br>
3882 <a href='files/./Animations_and_Progress.ipynb' target='_blank'>Animations_and_Progress.ipynb</a><br>
3883 <a href='files/./Capturing Output.ipynb' target='_blank'>Capturing Output.ipynb</a><br>
3884 <a href='files/./cython_extension.ipynb' target='_blank'>cython_extension.ipynb</a><br>
3885 <a href='files/./display_protocol.ipynb' target='_blank'>display_protocol.ipynb</a><br>
3886 <a href='files/./formatting.ipynb' target='_blank'>formatting.ipynb</a><br>
3887 <a href='files/./octavemagic_extension.ipynb' target='_blank'>octavemagic_extension.ipynb</a><br>
3888 <a href='files/./publish_data.ipynb' target='_blank'>publish_data.ipynb</a><br>
3889 <a href='files/./python-logo.svg' target='_blank'>python-logo.svg</a><br>
3890 <a href='files/./rmagic_extension.ipynb' target='_blank'>rmagic_extension.ipynb</a><br>
3891 <a href='files/./Script Magics.ipynb' target='_blank'>Script Magics.ipynb</a><br>
3892 <a href='files/./sympy.ipynb' target='_blank'>sympy.ipynb</a><br>
3893 <a href='files/./sympy_quantum_computing.ipynb' target='_blank'>sympy_quantum_computing.ipynb</a><br>
3894 <a href='files/./trapezoid_rule.ipynb' target='_blank'>trapezoid_rule.ipynb</a><br>
3895 </div>
3896 </div>
3897 </div>
3898 </div>
3899 </div>
3900 </div>
3901 <div class="text_cell_render border-box-sizing rendered_html">
3902 <h3>External sites</h3>
3903 <p>You can even embed an entire page from another site in an iframe; for example this is today's Wikipedia
3904 page for mobile users:</p>
3905 </div>
3906 <div class="cell border-box-sizing code_cell vbox">
3907 <div class="input hbox">
3908 <div class="prompt input_prompt">In&nbsp;[9]:</div>
3909 <div class="input_area box-flex1">
3910 <div class="highlight"><pre><span class="n">HTML</span><span class="p">(</span><span class="s">&#39;&lt;iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350&gt;&lt;/iframe&gt;&#39;</span><span class="p">)</span>
3911 </pre></div>
3912
3913 </div>
3914 </div>
3915 <div class="output_wrapper">
3916 <div class="output vbox">
3917 <div class="prompt output_prompt">
3918 <div class="output vbox">Out[9]:</div>
3919 </div>
3920 <div class="hbox output_area">
3921 <div class="prompt"></div>
3922 <div class="box-flex1 output_subarea output_pyout">
3923 <div class="output_html rendered_html">
3924 <iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350></iframe>
3925 </div>
3926 </div>
3927 </div>
3928 </div>
3929 </div>
3930 </div>
3931 <div class="text_cell_render border-box-sizing rendered_html">
3932 <h3>Mathematics</h3>
3933 <p>And we also support the display of mathematical expressions typeset in LaTeX, which is rendered
3934 in the browser thanks to the <a href="http://mathjax.org">MathJax library</a>.<br />
3935 </p>
3936 <p>Note that this is <em>different</em> from the above examples. Above we were typing mathematical expressions
3937 in Markdown cells (along with normal text) and letting the browser render them; now we are displaying
3938 the output of a Python computation as a LaTeX expression wrapped by the <code>Math()</code> object so the browser
3939 renders it. The <code>Math</code> object will add the needed LaTeX delimiters (<code>$$</code>) if they are not provided:</p>
3940 </div>
3941 <div class="cell border-box-sizing code_cell vbox">
3942 <div class="input hbox">
3943 <div class="prompt input_prompt">In&nbsp;[10]:</div>
3944 <div class="input_area box-flex1">
3945 <div class="highlight"><pre><span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">Math</span>
3946 <span class="n">Math</span><span class="p">(</span><span class="s">r&#39;F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx&#39;</span><span class="p">)</span>
3947 </pre></div>
3948
3949 </div>
3950 </div>
3951 <div class="output_wrapper">
3952 <div class="output vbox">
3953 <div class="prompt output_prompt">
3954 <div class="output vbox">Out[10]:</div>
3955 </div>
3956 <div class="hbox output_area">
3957 <div class="prompt"></div>
3958 <div class="box-flex1 output_subarea output_pyout">
3959
3960 $$F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx$$
3961 </div>
3962 </div>
3963 </div>
3964 </div>
3965 </div>
3966 <div class="text_cell_render border-box-sizing rendered_html">
3967 <p>With the <code>Latex</code> class, you have to include the delimiters yourself. This allows you to use other LaTeX modes such as <code>eqnarray</code>:</p>
3968 </div>
3969 <div class="cell border-box-sizing code_cell vbox">
3970 <div class="input hbox">
3971 <div class="prompt input_prompt">In&nbsp;[11]:</div>
3972 <div class="input_area box-flex1">
3973 <div class="highlight"><pre><span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">Latex</span>
3974 <span class="n">Latex</span><span class="p">(</span><span class="s">r&quot;&quot;&quot;\begin{eqnarray}</span>
3975 <span class="s">\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} &amp; = \frac{4\pi}{c}\vec{\mathbf{j}} \\</span>
3976 <span class="s">\nabla \cdot \vec{\mathbf{E}} &amp; = 4 \pi \rho \\</span>
3977 <span class="s">\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} &amp; = \vec{\mathbf{0}} \\</span>
3978 <span class="s">\nabla \cdot \vec{\mathbf{B}} &amp; = 0 </span>
3979 <span class="s">\end{eqnarray}&quot;&quot;&quot;</span><span class="p">)</span>
3980 </pre></div>
3981
3982 </div>
3983 </div>
3984 <div class="output_wrapper">
3985 <div class="output vbox">
3986 <div class="prompt output_prompt">
3987 <div class="output vbox">Out[11]:</div>
3988 </div>
3989 <div class="hbox output_area">
3990 <div class="prompt"></div>
3991 <div class="box-flex1 output_subarea output_pyout">
3992
3993 \begin{eqnarray}
3994 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
3995 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
3996 \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
3997 \nabla \cdot \vec{\mathbf{B}} & = 0
3998 \end{eqnarray}
3999 </div>
4000 </div>
4001 </div>
4002 </div>
4003 </div>
4004 <div class="text_cell_render border-box-sizing rendered_html">
4005 <p>Or you can enter latex directly with the <code>%%latex</code> cell magic:</p>
4006 </div>
4007 <div class="cell border-box-sizing code_cell vbox">
4008 <div class="input hbox">
4009 <div class="prompt input_prompt">In&nbsp;[12]:</div>
4010 <div class="input_area box-flex1">
4011 <div class="highlight"><pre><span class="o">%%</span><span class="k">latex</span>
4012 \<span class="n">begin</span><span class="p">{</span><span class="n">aligned</span><span class="p">}</span>
4013 \<span class="n">nabla</span> \<span class="n">times</span> \<span class="n">vec</span><span class="p">{</span>\<span class="n">mathbf</span><span class="p">{</span><span class="n">B</span><span class="p">}}</span> <span class="o">-</span>\<span class="p">,</span> \<span class="n">frac1c</span>\<span class="p">,</span> \<span class="n">frac</span><span class="p">{</span>\<span class="n">partial</span>\<span class="n">vec</span><span class="p">{</span>\<span class="n">mathbf</span><span class="p">{</span><span class="n">E</span><span class="p">}}}{</span>\<span class="n">partial</span> <span class="n">t</span><span class="p">}</span> <span class="o">&amp;</span> <span class="o">=</span> \<span class="n">frac</span><span class="p">{</span><span class="mi">4</span>\<span class="n">pi</span><span class="p">}{</span><span class="n">c</span><span class="p">}</span>\<span class="n">vec</span><span class="p">{</span>\<span class="n">mathbf</span><span class="p">{</span><span class="n">j</span><span class="p">}}</span> \\
4014 \<span class="n">nabla</span> \<span class="n">cdot</span> \<span class="n">vec</span><span class="p">{</span>\<span class="n">mathbf</span><span class="p">{</span><span class="n">E</span><span class="p">}}</span> <span class="o">&amp;</span> <span class="o">=</span> <span class="mi">4</span> \<span class="n">pi</span> \<span class="n">rho</span> \\
4015 \<span class="n">nabla</span> \<span class="n">times</span> \<span class="n">vec</span><span class="p">{</span>\<span class="n">mathbf</span><span class="p">{</span><span class="n">E</span><span class="p">}}</span>\<span class="p">,</span> <span class="o">+</span>\<span class="p">,</span> \<span class="n">frac1c</span>\<span class="p">,</span> \<span class="n">frac</span><span class="p">{</span>\<span class="n">partial</span>\<span class="n">vec</span><span class="p">{</span>\<span class="n">mathbf</span><span class="p">{</span><span class="n">B</span><span class="p">}}}{</span>\<span class="n">partial</span> <span class="n">t</span><span class="p">}</span> <span class="o">&amp;</span> <span class="o">=</span> \<span class="n">vec</span><span class="p">{</span>\<span class="n">mathbf</span><span class="p">{</span><span class="mi">0</span><span class="p">}}</span> \\
4016 \<span class="n">nabla</span> \<span class="n">cdot</span> \<span class="n">vec</span><span class="p">{</span>\<span class="n">mathbf</span><span class="p">{</span><span class="n">B</span><span class="p">}}</span> <span class="o">&amp;</span> <span class="o">=</span> <span class="mi">0</span>
4017 \<span class="n">end</span><span class="p">{</span><span class="n">aligned</span><span class="p">}</span>
4018 </pre></div>
4019
4020 </div>
4021 </div>
4022 <div class="output_wrapper">
4023 <div class="output vbox">
4024 <div class="prompt output_prompt">
4025 <div class="output vbox"></div>
4026 </div>
4027 <div class="hbox output_area">
4028 <div class="prompt"></div>
4029 <div class="box-flex1 output_subarea output_display_data">
4030
4031 \begin{aligned}
4032 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
4033 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
4034 \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
4035 \nabla \cdot \vec{\mathbf{B}} & = 0
4036 \end{aligned}
4037 </div>
4038 </div>
4039 </div>
4040 </div>
4041 </div>
4042 <div class="text_cell_render border-box-sizing rendered_html">
4043 <p>There is also a <code>%%javascript</code> cell magic for running javascript directly,
4044 and <code>%%svg</code> for manually entering SVG content.</p>
4045 </div>
4046 <div class="text_cell_render border-box-sizing rendered_html">
4047 <h1>Loading external codes</h1>
4048 <ul>
4049 <li>Drag and drop a <code>.py</code> in the dashboard</li>
4050 <li>Use <code>%load</code> with any local or remote url: <a href="http://matplotlib.sourceforge.net/gallery.html">the Matplotlib Gallery!</a></li>
4051 </ul>
4052 <p>In this notebook we've kept the output saved so you can see the result, but you should run the next
4053 cell yourself (with an active internet connection).</p>
4054 </div>
4055 <div class="text_cell_render border-box-sizing rendered_html">
4056 <p>Let's make sure we have pylab again, in case we have restarted the kernel due to the crash demo above</p>
4057 </div>
4058 <div class="cell border-box-sizing code_cell vbox">
4059 <div class="input hbox">
4060 <div class="prompt input_prompt">In&nbsp;[12]:</div>
4061 <div class="input_area box-flex1">
4062 <div class="highlight"><pre><span class="o">%</span><span class="k">pylab</span> <span class="n">inline</span>
4063 </pre></div>
4064
4065 </div>
4066 </div>
4067 <div class="output_wrapper">
4068 <div class="output vbox">
4069 <div class="prompt output_prompt">
4070 <div class="output vbox"></div>
4071 </div>
4072 <div class="hbox output_area">
4073 <div class="prompt"></div>
4074 <div class="box-flex1 output_subarea output_stream output_stdout">
4075 <pre>
4076 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
4077 For more information, type &apos;help(pylab)&apos;.
4078 </pre>
4079 </div>
4080 </div>
4081 </div>
4082 </div>
4083 </div>
4084 <div class="cell border-box-sizing code_cell vbox">
4085 <div class="input hbox">
4086 <div class="prompt input_prompt">In&nbsp;[15]:</div>
4087 <div class="input_area box-flex1">
4088 <div class="highlight"><pre><span class="o">%</span><span class="k">load</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">matplotlib</span><span class="o">.</span><span class="n">sourceforge</span><span class="o">.</span><span class="n">net</span><span class="o">/</span><span class="n">mpl_examples</span><span class="o">/</span><span class="n">pylab_examples</span><span class="o">/</span><span class="n">integral_demo</span><span class="o">.</span><span class="n">py</span>
4089 </pre></div>
4090
4091 </div>
4092 </div>
4093 </div>
4094 <div class="cell border-box-sizing code_cell vbox">
4095 <div class="input hbox">
4096 <div class="prompt input_prompt">In&nbsp;[16]:</div>
4097 <div class="input_area box-flex1">
4098 <div class="highlight"><pre><span class="c">#!/usr/bin/env python</span>
4099
4100 <span class="c"># implement the example graphs/integral from pyx</span>
4101 <span class="kn">from</span> <span class="nn">pylab</span> <span class="kn">import</span> <span class="o">*</span>
4102 <span class="kn">from</span> <span class="nn">matplotlib.patches</span> <span class="kn">import</span> <span class="n">Polygon</span>
4103
4104 <span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
4105 <span class="k">return</span> <span class="p">(</span><span class="n">x</span><span class="o">-</span><span class="mi">3</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">x</span><span class="o">-</span><span class="mi">5</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">x</span><span class="o">-</span><span class="mi">7</span><span class="p">)</span><span class="o">+</span><span class="mi">85</span>
4106
4107 <span class="n">ax</span> <span class="o">=</span> <span class="n">subplot</span><span class="p">(</span><span class="mi">111</span><span class="p">)</span>
4108
4109 <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">9</span> <span class="c"># integral area</span>
4110 <span class="n">x</span> <span class="o">=</span> <span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mf">0.01</span><span class="p">)</span>
4111 <span class="n">y</span> <span class="o">=</span> <span class="n">func</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
4112 <span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
4113
4114 <span class="c"># make the shaded region</span>
4115 <span class="n">ix</span> <span class="o">=</span> <span class="n">arange</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="mf">0.01</span><span class="p">)</span>
4116 <span class="n">iy</span> <span class="o">=</span> <span class="n">func</span><span class="p">(</span><span class="n">ix</span><span class="p">)</span>
4117 <span class="n">verts</span> <span class="o">=</span> <span class="p">[(</span><span class="n">a</span><span class="p">,</span><span class="mi">0</span><span class="p">)]</span> <span class="o">+</span> <span class="nb">zip</span><span class="p">(</span><span class="n">ix</span><span class="p">,</span><span class="n">iy</span><span class="p">)</span> <span class="o">+</span> <span class="p">[(</span><span class="n">b</span><span class="p">,</span><span class="mi">0</span><span class="p">)]</span>
4118 <span class="n">poly</span> <span class="o">=</span> <span class="n">Polygon</span><span class="p">(</span><span class="n">verts</span><span class="p">,</span> <span class="n">facecolor</span><span class="o">=</span><span class="s">&#39;0.8&#39;</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="s">&#39;k&#39;</span><span class="p">)</span>
4119 <span class="n">ax</span><span class="o">.</span><span class="n">add_patch</span><span class="p">(</span><span class="n">poly</span><span class="p">)</span>
4120
4121 <span class="n">text</span><span class="p">(</span><span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">),</span> <span class="mi">30</span><span class="p">,</span>
4122 <span class="s">r&quot;$\int_a^b f(x)\mathrm{d}x$&quot;</span><span class="p">,</span> <span class="n">horizontalalignment</span><span class="o">=</span><span class="s">&#39;center&#39;</span><span class="p">,</span>
4123 <span class="n">fontsize</span><span class="o">=</span><span class="mi">20</span><span class="p">)</span>
4124
4125 <span class="n">axis</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">180</span><span class="p">])</span>
4126 <span class="n">figtext</span><span class="p">(</span><span class="mf">0.9</span><span class="p">,</span> <span class="mf">0.05</span><span class="p">,</span> <span class="s">&#39;x&#39;</span><span class="p">)</span>
4127 <span class="n">figtext</span><span class="p">(</span><span class="mf">0.1</span><span class="p">,</span> <span class="mf">0.9</span><span class="p">,</span> <span class="s">&#39;y&#39;</span><span class="p">)</span>
4128 <span class="n">ax</span><span class="o">.</span><span class="n">set_xticks</span><span class="p">((</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">))</span>
4129 <span class="n">ax</span><span class="o">.</span><span class="n">set_xticklabels</span><span class="p">((</span><span class="s">&#39;a&#39;</span><span class="p">,</span><span class="s">&#39;b&#39;</span><span class="p">))</span>
4130 <span class="n">ax</span><span class="o">.</span><span class="n">set_yticks</span><span class="p">([])</span>
4131 <span class="n">show</span><span class="p">()</span>
4132 </pre></div>
4133
4134 </div>
4135 </div>
4136 <div class="output_wrapper">
4137 <div class="output vbox">
4138 <div class="prompt output_prompt">
4139 <div class="output vbox"></div>
4140 </div>
4141 <div class="hbox output_area">
4142 <div class="prompt"></div>
4143 <div class="box-flex1 output_subarea output_display_data">
4144
4145 <img src="data:image/png;base64,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
4299 "></img>
4300 </div>
4301 </div>
4302 </div>
4303 </div>
4304 </div>
4305 </body>
4306 </html> No newline at end of file
This diff has been collapsed as it changes many lines, (662 lines changed) Show them Hide them
@@ -0,0 +1,662 b''
1 A brief tour of the IPython notebook
2 ====================================
3
4 This document will give you a brief tour of the capabilities of the
5 IPython notebook.
6 You can view its contents by scrolling around, or execute each cell by
7 typing ``Shift-Enter``. After you conclude this brief high-level tour,
8 you should read the accompanying notebook titled
9 ``01_notebook_introduction``, which takes a more step-by-step approach
10 to the features of the system.
11
12 The rest of the notebooks in this directory illustrate various other
13 aspects and capabilities of the IPython notebook; some of them may
14 require additional libraries to be executed.
15
16 **NOTE:** This notebook *must* be run from its own directory, so you
17 must ``cd`` to this directory and then start the notebook, but do *not*
18 use the ``--notebook-dir`` option to run it from another location.
19
20 The first thing you need to know is that you are still controlling the
21 same old IPython you're used to, so things like shell aliases and magic
22 commands still work:
23
24 In[1]:
25
26 .. code:: python
27
28 pwd
29
30 Out[1]:
31 .. parsed-literal::
32
33 u'/Users/minrk/dev/ip/mine/docs/examples/notebooks'
34
35
36 In[2]:
37
38 .. code:: python
39
40 ls
41
42
43 .. parsed-literal::
44
45 00_notebook_tour.ipynb callbacks.ipynb python-logo.svg
46 01_notebook_introduction.ipynb cython_extension.ipynb rmagic_extension.ipynb
47 Animations_and_Progress.ipynb display_protocol.ipynb sympy.ipynb
48 Capturing Output.ipynb formatting.ipynb sympy_quantum_computing.ipynb
49 Script Magics.ipynb octavemagic_extension.ipynb trapezoid_rule.ipynb
50 animation.m4v progbar.ipynb
51
52 In[3]:
53
54 .. code:: python
55
56 message = 'The IPython notebook is great!'
57 # note: the echo command does not run on Windows, it's a unix command.
58 !echo $message
59
60
61 .. parsed-literal::
62
63 The IPython notebook is great!
64
65 Plots with matplotlib
66 ---------------------
67
68
69 IPython adds an 'inline' matplotlib backend, which embeds any matplotlib
70 figures into the notebook.
71
72 In[4]:
73
74 .. code:: python
75
76 %pylab inline
77
78
79 .. parsed-literal::
80
81
82 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
83 For more information, type 'help(pylab)'.
84
85 In[5]:
86
87 .. code:: python
88
89 x = linspace(0, 3*pi, 500)
90 plot(x, sin(x**2))
91 title('A simple chirp');
92
93 .. image:: _fig_07.png
94
95 You can paste blocks of input with prompt markers, such as those from
96 `the official Python
97 tutorial <http://docs.python.org/tutorial/interpreter.html#interactive-mode>`_
98
99 In[6]:
100
101 .. code:: python
102
103 >>> the_world_is_flat = 1
104 >>> if the_world_is_flat:
105 ... print "Be careful not to fall off!"
106
107
108 .. parsed-literal::
109
110 Be careful not to fall off!
111
112 Errors are shown in informative ways:
113
114 In[7]:
115
116 .. code:: python
117
118 %run non_existent_file
119
120
121 .. parsed-literal::
122
123 ERROR: File `u'non_existent_file.py'` not found.
124 In[8]:
125
126 .. code:: python
127
128 x = 1
129 y = 4
130 z = y/(1-x)
131
132 ::
133
134 ---------------------------------------------------------------------------
135 ZeroDivisionError Traceback (most recent call last)
136 <ipython-input-8-dc39888fd1d2> in <module>()
137 1 x = 1
138 2 y = 4
139 ----> 3 z = y/(1-x)
140
141 ZeroDivisionError: integer division or modulo by zero
142 When IPython needs to display additional information (such as providing
143 details on an object via ``x?`` it will automatically invoke a pager at
144 the bottom of the screen:
145
146 In[18]:
147
148 .. code:: python
149
150 magic
151
152 Non-blocking output of kernel
153 -----------------------------
154
155 If you execute the next cell, you will see the output arriving as it is
156 generated, not all at the end.
157
158 In[19]:
159
160 .. code:: python
161
162 import time, sys
163 for i in range(8):
164 print i,
165 time.sleep(0.5)
166
167
168 .. parsed-literal::
169
170 0
171
172 .. parsed-literal::
173
174 1
175
176 .. parsed-literal::
177
178 2
179
180 .. parsed-literal::
181
182 3
183
184 .. parsed-literal::
185
186 4
187
188 .. parsed-literal::
189
190 5
191
192 .. parsed-literal::
193
194 6
195
196 .. parsed-literal::
197
198 7
199
200 Clean crash and restart
201 -----------------------
202
203 We call the low-level system libc.time routine with the wrong argument
204 via ctypes to segfault the Python interpreter:
205
206 In[*]:
207
208 .. code:: python
209
210 import sys
211 from ctypes import CDLL
212 # This will crash a Linux or Mac system; equivalent calls can be made on Windows
213 dll = 'dylib' if sys.platform == 'darwin' else '.so.6'
214 libc = CDLL("libc.%s" % dll)
215 libc.time(-1) # BOOM!!
216
217 Markdown cells can contain formatted text and code
218 --------------------------------------------------
219
220 You can *italicize*, **boldface**
221
222 - build
223 - lists
224
225 and embed code meant for illustration instead of execution in Python:
226
227 ::
228
229 def f(x):
230 """a docstring"""
231 return x**2
232
233 or other languages:
234
235 ::
236
237 if (i=0; i<n; i++) {
238 printf("hello %d\n", i);
239 x += 4;
240 }
241
242
243 Courtesy of MathJax, you can include mathematical expressions both
244 inline: :math:`e^{i\pi} + 1 = 0` and displayed:
245
246 .. math:: e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i
247
248
249
250 Rich displays: include anyting a browser can show
251 -------------------------------------------------
252
253 Note that we have an actual protocol for this, see the
254 ``display_protocol`` notebook for further details.
255
256 Images
257 ~~~~~~
258
259
260 In[1]:
261
262 .. code:: python
263
264 from IPython.display import Image
265 Image(filename='../../source/_static/logo.png')
266
267 Out[1]:
268 .. image:: _fig_22.png
269
270
271 An image can also be displayed from raw data or a url
272
273 In[2]:
274
275 .. code:: python
276
277 Image(url='http://python.org/images/python-logo.gif')
278
279 Out[2]:
280
281 SVG images are also supported out of the box (since modern browsers do a
282 good job of rendering them):
283
284 In[3]:
285
286 .. code:: python
287
288 from IPython.display import SVG
289 SVG(filename='python-logo.svg')
290
291 Out[3]:
292 .. image:: _fig_26.svg
293
294
295 Embedded vs Non-embedded Images
296 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
297
298
299 As of IPython 0.13, images are embedded by default for compatibility
300 with QtConsole, and the ability to still be displayed offline.
301
302 Let's look at the differences:
303
304 In[4]:
305
306 .. code:: python
307
308 # by default Image data are embedded
309 Embed = Image( 'http://scienceview.berkeley.edu/view/images/newview.jpg')
310
311 # if kwarg `url` is given, the embedding is assumed to be false
312 SoftLinked = Image(url='http://scienceview.berkeley.edu/view/images/newview.jpg')
313
314 # In each case, embed can be specified explicitly with the `embed` kwarg
315 # ForceEmbed = Image(url='http://scienceview.berkeley.edu/view/images/newview.jpg', embed=True)
316
317 Today's image from a webcam at Berkeley, (at the time I created this
318 notebook). This should also work in the Qtconsole. Drawback is that the
319 saved notebook will be larger, but the image will still be present
320 offline.
321
322 In[5]:
323
324 .. code:: python
325
326 Embed
327
328 Out[5]:
329 ..jpg image::
330
331
332 Today's image from same webcam at Berkeley, (refreshed every minutes, if
333 you reload the notebook), visible only with an active internet
334 connexion, that should be different from the previous one. This will not
335 work on Qtconsole. Notebook saved with this kind of image will be
336 lighter and always reflect the current version of the source, but the
337 image won't display offline.
338
339 In[6]:
340
341 .. code:: python
342
343 SoftLinked
344
345 Out[6]:
346
347 Of course, if you re-run the all notebook, the two images will be the
348 same again.
349
350 Video
351 ~~~~~
352
353
354 And more exotic objects can also be displayed, as long as their
355 representation supports the IPython display protocol.
356
357 For example, videos hosted externally on YouTube are easy to load (and
358 writing a similar wrapper for other hosted content is trivial):
359
360 In[7]:
361
362 .. code:: python
363
364 from IPython.display import YouTubeVideo
365 # a talk about IPython at Sage Days at U. Washington, Seattle.
366 # Video credit: William Stein.
367 YouTubeVideo('1j_HxD4iLn8')
368
369 Out[7]:
370
371 Using the nascent video capabilities of modern browsers, you may also be
372 able to display local videos. At the moment this doesn't work very well
373 in all browsers, so it may or may not work for you; we will continue
374 testing this and looking for ways to make it more robust.
375
376 The following cell loads a local file called ``animation.m4v``, encodes
377 the raw video as base64 for http transport, and uses the HTML5 video tag
378 to load it. On Chrome 15 it works correctly, displaying a control bar at
379 the bottom with a play/pause button and a location slider.
380
381 In[8]:
382
383 .. code:: python
384
385 from IPython.display import HTML
386 video = open("animation.m4v", "rb").read()
387 video_encoded = video.encode("base64")
388 video_tag = '<video controls alt="test" src="data:video/x-m4v;base64,{0}">'.format(video_encoded)
389 HTML(data=video_tag)
390
391 Out[8]:
392
393 Local Files
394 -----------
395
396 The above examples embed images and video from the notebook filesystem
397 in the output areas of code cells. It is also possible to request these
398 files directly in markdown cells if they reside in the notebook
399 directory via relative urls prefixed with ``files/``:
400
401 ::
402
403 files/[subdirectory/]<filename>
404
405 For example, in the example notebook folder, we have the Python logo,
406 addressed as:
407
408 ::
409
410 <img src="files/python-logo.svg" />
411
412 and a video with the HTML5 video tag:
413
414 ::
415
416 <video controls src="files/animation.m4v" />
417
418 These do not embed the data into the notebook file, and require that the
419 files exist when you are viewing the notebook.
420
421 Security of local files
422 ~~~~~~~~~~~~~~~~~~~~~~~
423
424 Note that this means that the IPython notebook server also acts as a
425 generic file server for files inside the same tree as your notebooks.
426 Access is not granted outside the notebook folder so you have strict
427 control over what files are visible, but for this reason it is highly
428 recommended that you do not run the notebook server with a notebook
429 directory at a high level in your filesystem (e.g. your home directory).
430
431 When you run the notebook in a password-protected manner, local file
432 access is restricted to authenticated users unless read-only views are
433 active.
434
435 Linking to files and directories for viewing in the browser
436 -----------------------------------------------------------
437
438 It is also possible to link directly to files or directories so they can
439 be opened in the browser. This is especially convenient if you're
440 interacting with a tool within IPython that generates HTML pages, and
441 you'd like to easily be able to open those in a new browser window.
442 Alternatively, if your IPython notebook server is on a remote system,
443 creating links provides an easy way to download any files that get
444 generated.
445
446 As we saw above, there are a bunch of ``.ipynb`` files in our current
447 directory.
448
449 In[1]:
450
451 .. code:: python
452
453 ls
454
455
456 .. parsed-literal::
457
458 00_notebook_tour.ipynb formatting.ipynb
459 01_notebook_introduction.ipynb octavemagic_extension.ipynb
460 Animations_and_Progress.ipynb publish_data.ipynb
461 Capturing Output.ipynb python-logo.svg
462 Script Magics.ipynb rmagic_extension.ipynb
463 animation.m4v sympy.ipynb
464 cython_extension.ipynb sympy_quantum_computing.ipynb
465 display_protocol.ipynb trapezoid_rule.ipynb
466
467 If we want to create a link to one of them, we can call use the
468 ``FileLink`` object.
469
470 In[2]:
471
472 .. code:: python
473
474 from IPython.display import FileLink
475 FileLink('00_notebook_tour.ipynb')
476
477 Out[2]:
478
479 Alternatively, if we want to link to all of them, we can use the
480 ``FileLinks`` object, passing ``'.'`` to indicate that we want links
481 generated for the current working directory. Note that if there were
482 other directories under the current directory, ``FileLinks`` would work
483 in a recursive manner creating links to files in all sub-directories as
484 well.
485
486 In[7]:
487
488 .. code:: python
489
490 from IPython.display import FileLinks
491 FileLinks('.')
492
493 Out[7]:
494
495 External sites
496 ~~~~~~~~~~~~~~
497
498 You can even embed an entire page from another site in an iframe; for
499 example this is today's Wikipedia page for mobile users:
500
501 In[9]:
502
503 .. code:: python
504
505 HTML('<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350></iframe>')
506
507 Out[9]:
508
509 Mathematics
510 ~~~~~~~~~~~
511
512 And we also support the display of mathematical expressions typeset in
513 LaTeX, which is rendered in the browser thanks to the `MathJax
514 library <http://mathjax.org>`_.
515
516 Note that this is *different* from the above examples. Above we were
517 typing mathematical expressions in Markdown cells (along with normal
518 text) and letting the browser render them; now we are displaying the
519 output of a Python computation as a LaTeX expression wrapped by the
520 ``Math()`` object so the browser renders it. The ``Math`` object will
521 add the needed LaTeX delimiters (``$$``) if they are not provided:
522
523 In[10]:
524
525 .. code:: python
526
527 from IPython.display import Math
528 Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')
529
530 Out[10]:
531 .. math::
532
533 $$F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx$$
534
535
536 With the ``Latex`` class, you have to include the delimiters yourself.
537 This allows you to use other LaTeX modes such as ``eqnarray``:
538
539 In[11]:
540
541 .. code:: python
542
543 from IPython.display import Latex
544 Latex(r"""\begin{eqnarray}
545 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
546 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
547 \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
548 \nabla \cdot \vec{\mathbf{B}} & = 0
549 \end{eqnarray}""")
550
551 Out[11]:
552 .. math::
553
554 \begin{eqnarray}
555 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
556 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
557 \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
558 \nabla \cdot \vec{\mathbf{B}} & = 0
559 \end{eqnarray}
560
561
562 Or you can enter latex directly with the ``%%latex`` cell magic:
563
564 In[12]:
565
566 .. code:: python
567
568 %%latex
569 \begin{aligned}
570 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
571 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
572 \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
573 \nabla \cdot \vec{\mathbf{B}} & = 0
574 \end{aligned}
575
576 .. math::
577
578 \begin{aligned}
579 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
580 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
581 \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
582 \nabla \cdot \vec{\mathbf{B}} & = 0
583 \end{aligned}
584
585 There is also a ``%%javascript`` cell magic for running javascript
586 directly, and ``%%svg`` for manually entering SVG content.
587
588 Loading external codes
589 ======================
590
591 - Drag and drop a ``.py`` in the dashboard
592 - Use ``%load`` with any local or remote url: `the Matplotlib
593 Gallery! <http://matplotlib.sourceforge.net/gallery.html>`_
594
595 In this notebook we've kept the output saved so you can see the result,
596 but you should run the next cell yourself (with an active internet
597 connection).
598
599 Let's make sure we have pylab again, in case we have restarted the
600 kernel due to the crash demo above
601
602 In[12]:
603
604 .. code:: python
605
606 %pylab inline
607
608
609 .. parsed-literal::
610
611
612 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
613 For more information, type 'help(pylab)'.
614
615 In[15]:
616
617 .. code:: python
618
619 %load http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/integral_demo.py
620
621 In[16]:
622
623 .. code:: python
624
625 #!/usr/bin/env python
626
627 # implement the example graphs/integral from pyx
628 from pylab import *
629 from matplotlib.patches import Polygon
630
631 def func(x):
632 return (x-3)*(x-5)*(x-7)+85
633
634 ax = subplot(111)
635
636 a, b = 2, 9 # integral area
637 x = arange(0, 10, 0.01)
638 y = func(x)
639 plot(x, y, linewidth=1)
640
641 # make the shaded region
642 ix = arange(a, b, 0.01)
643 iy = func(ix)
644 verts = [(a,0)] + zip(ix,iy) + [(b,0)]
645 poly = Polygon(verts, facecolor='0.8', edgecolor='k')
646 ax.add_patch(poly)
647
648 text(0.5 * (a + b), 30,
649 r"$\int_a^b f(x)\mathrm{d}x$", horizontalalignment='center',
650 fontsize=20)
651
652 axis([0,10, 0, 180])
653 figtext(0.9, 0.05, 'x')
654 figtext(0.1, 0.9, 'y')
655 ax.set_xticks((a,b))
656 ax.set_xticklabels(('a','b'))
657 ax.set_yticks([])
658 show()
659
660
661 .. image:: _fig_60.png
662
This diff has been collapsed as it changes many lines, (853 lines changed) Show them Hide them
@@ -0,0 +1,853 b''
1
2
3 %% This file was auto-generated by IPython.
4 %% Conversion from the original notebook file:
5 %% tests/ipynbref/Gun_Data.orig.ipynb
6 %%
7 \documentclass[11pt,english]{article}
8
9 %% This is the automatic preamble used by IPython. Note that it does *not*
10 %% include a documentclass declaration, that is added at runtime to the overall
11 %% document.
12
13 \usepackage{amsmath}
14 \usepackage{amssymb}
15 \usepackage{graphicx}
16 \usepackage{ucs}
17 \usepackage[utf8x]{inputenc}
18
19 % needed for markdown enumerations to work
20 \usepackage{enumerate}
21
22 % Slightly bigger margins than the latex defaults
23 \usepackage{geometry}
24 \geometry{verbose,tmargin=3cm,bmargin=3cm,lmargin=2.5cm,rmargin=2.5cm}
25
26 % Define a few colors for use in code, links and cell shading
27 \usepackage{color}
28 \definecolor{orange}{cmyk}{0,0.4,0.8,0.2}
29 \definecolor{darkorange}{rgb}{.71,0.21,0.01}
30 \definecolor{darkgreen}{rgb}{.12,.54,.11}
31 \definecolor{myteal}{rgb}{.26, .44, .56}
32 \definecolor{gray}{gray}{0.45}
33 \definecolor{lightgray}{gray}{.95}
34 \definecolor{mediumgray}{gray}{.8}
35 \definecolor{inputbackground}{rgb}{.95, .95, .85}
36 \definecolor{outputbackground}{rgb}{.95, .95, .95}
37 \definecolor{traceback}{rgb}{1, .95, .95}
38
39 % Framed environments for code cells (inputs, outputs, errors, ...). The
40 % various uses of \unskip (or not) at the end were fine-tuned by hand, so don't
41 % randomly change them unless you're sure of the effect it will have.
42 \usepackage{framed}
43
44 % remove extraneous vertical space in boxes
45 \setlength\fboxsep{0pt}
46
47 % codecell is the whole input+output set of blocks that a Code cell can
48 % generate.
49
50 % TODO: unfortunately, it seems that using a framed codecell environment breaks
51 % the ability of the frames inside of it to be broken across pages. This
52 % causes at least the problem of having lots of empty space at the bottom of
53 % pages as new frames are moved to the next page, and if a single frame is too
54 % long to fit on a page, will completely stop latex from compiling the
55 % document. So unless we figure out a solution to this, we'll have to instead
56 % leave the codecell env. as empty. I'm keeping the original codecell
57 % definition here (a thin vertical bar) for reference, in case we find a
58 % solution to the page break issue.
59
60 %% \newenvironment{codecell}{%
61 %% \def\FrameCommand{\color{mediumgray} \vrule width 1pt \hspace{5pt}}%
62 %% \MakeFramed{\vspace{-0.5em}}}
63 %% {\unskip\endMakeFramed}
64
65 % For now, make this a no-op...
66 \newenvironment{codecell}{}
67
68 \newenvironment{codeinput}{%
69 \def\FrameCommand{\colorbox{inputbackground}}%
70 \MakeFramed{\advance\hsize-\width \FrameRestore}}
71 {\unskip\endMakeFramed}
72
73 \newenvironment{codeoutput}{%
74 \def\FrameCommand{\colorbox{outputbackground}}%
75 \vspace{-1.4em}
76 \MakeFramed{\advance\hsize-\width \FrameRestore}}
77 {\unskip\medskip\endMakeFramed}
78
79 \newenvironment{traceback}{%
80 \def\FrameCommand{\colorbox{traceback}}%
81 \MakeFramed{\advance\hsize-\width \FrameRestore}}
82 {\endMakeFramed}
83
84 % Use and configure listings package for nicely formatted code
85 \usepackage{listingsutf8}
86 \lstset{
87 language=python,
88 inputencoding=utf8x,
89 extendedchars=\true,
90 aboveskip=\smallskipamount,
91 belowskip=\smallskipamount,
92 xleftmargin=2mm,
93 breaklines=true,
94 basicstyle=\small \ttfamily,
95 showstringspaces=false,
96 keywordstyle=\color{blue}\bfseries,
97 commentstyle=\color{myteal},
98 stringstyle=\color{darkgreen},
99 identifierstyle=\color{darkorange},
100 columns=fullflexible, % tighter character kerning, like verb
101 }
102
103 % The hyperref package gives us a pdf with properly built
104 % internal navigation ('pdf bookmarks' for the table of contents,
105 % internal cross-reference links, web links for URLs, etc.)
106 \usepackage{hyperref}
107 \hypersetup{
108 breaklinks=true, % so long urls are correctly broken across lines
109 colorlinks=true,
110 urlcolor=blue,
111 linkcolor=darkorange,
112 citecolor=darkgreen,
113 }
114
115 % hardcode size of all verbatim environments to be a bit smaller
116 \makeatletter
117 \g@addto@macro\@verbatim\small\topsep=0.5em\partopsep=0pt
118 \makeatother
119
120 % Prevent overflowing lines due to urls and other hard-to-break entities.
121 \sloppy
122
123 \begin{document}
124 \section{A brief tour of the IPython notebook}
125
126 This document will give you a brief tour of the capabilities of the
127 IPython notebook.\\You can view its contents by scrolling around, or
128 execute each cell by typing \texttt{Shift-Enter}. After you conclude
129 this brief high-level tour, you should read the accompanying notebook
130 titled \texttt{01\_notebook\_introduction}, which takes a more
131 step-by-step approach to the features of the system.
132
133 The rest of the notebooks in this directory illustrate various other
134 aspects and capabilities of the IPython notebook; some of them may
135 require additional libraries to be executed.
136
137 \textbf{NOTE:} This notebook \emph{must} be run from its own directory,
138 so you must \texttt{cd} to this directory and then start the notebook,
139 but do \emph{not} use the \texttt{-{}-notebook-dir} option to run it
140 from another location.
141
142 The first thing you need to know is that you are still controlling the
143 same old IPython you're used to, so things like shell aliases and magic
144 commands still work:
145
146 \begin{codecell}
147 \begin{codeinput}
148 \begin{lstlisting}
149 pwd
150 \end{lstlisting}
151 \end{codeinput}
152 \begin{codeoutput}
153
154 u'/Users/minrk/dev/ip/mine/docs/examples/notebooks'
155
156 \end{codeoutput}
157 \end{codecell}
158 \begin{codecell}
159 \begin{codeinput}
160 \begin{lstlisting}
161 ls
162 \end{lstlisting}
163 \end{codeinput}
164 \begin{codeoutput}
165
166 \begin{verbatim}
167 00_notebook_tour.ipynb callbacks.ipynb python-logo.svg
168 01_notebook_introduction.ipynb cython_extension.ipynb rmagic_extension.ipynb
169 Animations_and_Progress.ipynb display_protocol.ipynb sympy.ipynb
170 Capturing Output.ipynb formatting.ipynb sympy_quantum_computing.ipynb
171 Script Magics.ipynb octavemagic_extension.ipynb trapezoid_rule.ipynb
172 animation.m4v progbar.ipynb
173
174 \end{verbatim}
175
176 \end{codeoutput}
177 \end{codecell}
178 \begin{codecell}
179 \begin{codeinput}
180 \begin{lstlisting}
181 message = 'The IPython notebook is great!'
182 # note: the echo command does not run on Windows, it's a unix command.
183 !echo $message
184 \end{lstlisting}
185 \end{codeinput}
186 \begin{codeoutput}
187
188 \begin{verbatim}
189 The IPython notebook is great!
190
191 \end{verbatim}
192
193 \end{codeoutput}
194 \end{codecell}
195
196 \section{Plots with matplotlib}
197 IPython adds an `inline' matplotlib backend, which embeds any matplotlib
198 figures into the notebook.
199
200 \begin{codecell}
201 \begin{codeinput}
202 \begin{lstlisting}
203 %pylab inline
204 \end{lstlisting}
205 \end{codeinput}
206 \begin{codeoutput}
207
208 \begin{verbatim}
209
210 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
211 For more information, type 'help(pylab)'.
212
213 \end{verbatim}
214
215 \end{codeoutput}
216 \end{codecell}
217 \begin{codecell}
218 \begin{codeinput}
219 \begin{lstlisting}
220 x = linspace(0, 3*pi, 500)
221 plot(x, sin(x**2))
222 title('A simple chirp');
223 \end{lstlisting}
224 \end{codeinput}
225 \begin{codeoutput}
226 \begin{center}
227 \includegraphics[width=0.7\textwidth]{_fig_07.png}
228 \par
229 \end{center}
230 \end{codeoutput}
231 \end{codecell}
232 You can paste blocks of input with prompt markers, such as those from
233 \href{http://docs.python.org/tutorial/interpreter.html\#interactive-mode}{the
234 official Python tutorial}
235
236 \begin{codecell}
237 \begin{codeinput}
238 \begin{lstlisting}
239 >>> the_world_is_flat = 1
240 >>> if the_world_is_flat:
241 ... print "Be careful not to fall off!"
242 \end{lstlisting}
243 \end{codeinput}
244 \begin{codeoutput}
245
246 \begin{verbatim}
247 Be careful not to fall off!
248
249 \end{verbatim}
250
251 \end{codeoutput}
252 \end{codecell}
253 Errors are shown in informative ways:
254
255 \begin{codecell}
256 \begin{codeinput}
257 \begin{lstlisting}
258 %run non_existent_file
259 \end{lstlisting}
260 \end{codeinput}
261 \begin{codeoutput}
262
263 \begin{verbatim}
264 ERROR: File `u'non_existent_file.py'` not found.
265 \end{verbatim}
266
267 \end{codeoutput}
268 \end{codecell}
269 \begin{codecell}
270 \begin{codeinput}
271 \begin{lstlisting}
272 x = 1
273 y = 4
274 z = y/(1-x)
275 \end{lstlisting}
276 \end{codeinput}
277 \begin{codeoutput}
278
279 ---------------------------------------------------------------------------
280 ZeroDivisionError Traceback (most recent call last)
281 <ipython-input-8-dc39888fd1d2> in <module>()
282 1 x = 1
283 2 y = 4
284 ----> 3 z = y/(1-x)
285
286 ZeroDivisionError: integer division or modulo by zero
287
288 \end{codeoutput}
289 \end{codecell}
290 When IPython needs to display additional information (such as providing
291 details on an object via \texttt{x?} it will automatically invoke a
292 pager at the bottom of the screen:
293
294 \begin{codecell}
295 \begin{codeinput}
296 \begin{lstlisting}
297 magic
298 \end{lstlisting}
299 \end{codeinput}
300
301 \end{codecell}
302 \subsection{Non-blocking output of kernel}
303
304 If you execute the next cell, you will see the output arriving as it is
305 generated, not all at the end.
306
307 \begin{codecell}
308 \begin{codeinput}
309 \begin{lstlisting}
310 import time, sys
311 for i in range(8):
312 print i,
313 time.sleep(0.5)
314 \end{lstlisting}
315 \end{codeinput}
316 \begin{codeoutput}
317
318 \begin{verbatim}
319 0
320 \end{verbatim}
321
322 \begin{verbatim}
323 1
324 \end{verbatim}
325
326 \begin{verbatim}
327 2
328 \end{verbatim}
329
330 \begin{verbatim}
331 3
332 \end{verbatim}
333
334 \begin{verbatim}
335 4
336 \end{verbatim}
337
338 \begin{verbatim}
339 5
340 \end{verbatim}
341
342 \begin{verbatim}
343 6
344 \end{verbatim}
345
346 \begin{verbatim}
347 7
348
349 \end{verbatim}
350
351 \end{codeoutput}
352 \end{codecell}
353 \subsection{Clean crash and restart}
354
355 We call the low-level system libc.time routine with the wrong argument
356 via ctypes to segfault the Python interpreter:
357
358 \begin{codecell}
359 \begin{codeinput}
360 \begin{lstlisting}
361 import sys
362 from ctypes import CDLL
363 # This will crash a Linux or Mac system; equivalent calls can be made on Windows
364 dll = 'dylib' if sys.platform == 'darwin' else '.so.6'
365 libc = CDLL("libc.%s" % dll)
366 libc.time(-1) # BOOM!!
367 \end{lstlisting}
368 \end{codeinput}
369
370 \end{codecell}
371 \subsection{Markdown cells can contain formatted text and code}
372
373 You can \emph{italicize}, \textbf{boldface}
374
375 \begin{itemize}
376 \item
377 build
378 \item
379 lists
380 \end{itemize}
381 and embed code meant for illustration instead of execution in Python:
382
383 \begin{verbatim}
384 def f(x):
385 """a docstring"""
386 return x**2
387 \end{verbatim}
388 or other languages:
389
390 \begin{verbatim}
391 if (i=0; i<n; i++) {
392 printf("hello %d\n", i);
393 x += 4;
394 }
395 \end{verbatim}
396
397
398 Courtesy of MathJax, you can include mathematical expressions both
399 inline: $e^{i\pi} + 1 = 0$ and displayed:
400
401 \[e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i\]
402
403 \subsection{Rich displays: include anyting a browser can show}
404
405 Note that we have an actual protocol for this, see the
406 \texttt{display\_protocol} notebook for further details.
407
408 \subsubsection{Images}
409
410
411 \begin{codecell}
412 \begin{codeinput}
413 \begin{lstlisting}
414 from IPython.display import Image
415 Image(filename='../../source/_static/logo.png')
416 \end{lstlisting}
417 \end{codeinput}
418 \begin{codeoutput}
419
420 <IPython.core.display.Image at 0x10faeafd0>
421
422 \end{codeoutput}
423 \end{codecell}
424 An image can also be displayed from raw data or a url
425
426 \begin{codecell}
427 \begin{codeinput}
428 \begin{lstlisting}
429 Image(url='http://python.org/images/python-logo.gif')
430 \end{lstlisting}
431 \end{codeinput}
432 \begin{codeoutput}
433
434 <IPython.core.display.Image at 0x1060e7410>
435
436 \end{codeoutput}
437 \end{codecell}
438 SVG images are also supported out of the box (since modern browsers do a
439 good job of rendering them):
440
441 \begin{codecell}
442 \begin{codeinput}
443 \begin{lstlisting}
444 from IPython.display import SVG
445 SVG(filename='python-logo.svg')
446 \end{lstlisting}
447 \end{codeinput}
448 \begin{codeoutput}
449
450 <IPython.core.display.SVG at 0x10fb998d0>
451
452 \end{codeoutput}
453 \end{codecell}
454 \paragraph{Embedded vs Non-embedded Images}
455
456
457 As of IPython 0.13, images are embedded by default for compatibility
458 with QtConsole, and the ability to still be displayed offline.
459
460 Let's look at the differences:
461
462 \begin{codecell}
463 \begin{codeinput}
464 \begin{lstlisting}
465 # by default Image data are embedded
466 Embed = Image( 'http://scienceview.berkeley.edu/view/images/newview.jpg')
467
468 # if kwarg `url` is given, the embedding is assumed to be false
469 SoftLinked = Image(url='http://scienceview.berkeley.edu/view/images/newview.jpg')
470
471 # In each case, embed can be specified explicitly with the `embed` kwarg
472 # ForceEmbed = Image(url='http://scienceview.berkeley.edu/view/images/newview.jpg', embed=True)
473 \end{lstlisting}
474 \end{codeinput}
475
476 \end{codecell}
477 Today's image from a webcam at Berkeley, (at the time I created this
478 notebook). This should also work in the Qtconsole. Drawback is that the
479 saved notebook will be larger, but the image will still be present
480 offline.
481
482 \begin{codecell}
483 \begin{codeinput}
484 \begin{lstlisting}
485 Embed
486 \end{lstlisting}
487 \end{codeinput}
488 \begin{codeoutput}
489
490 <IPython.core.display.Image at 0x10fb99b50>
491
492 \end{codeoutput}
493 \end{codecell}
494 Today's image from same webcam at Berkeley, (refreshed every minutes, if
495 you reload the notebook), visible only with an active internet
496 connexion, that should be different from the previous one. This will not
497 work on Qtconsole. Notebook saved with this kind of image will be
498 lighter and always reflect the current version of the source, but the
499 image won't display offline.
500
501 \begin{codecell}
502 \begin{codeinput}
503 \begin{lstlisting}
504 SoftLinked
505 \end{lstlisting}
506 \end{codeinput}
507 \begin{codeoutput}
508
509 <IPython.core.display.Image at 0x10fb99b10>
510
511 \end{codeoutput}
512 \end{codecell}
513 Of course, if you re-run the all notebook, the two images will be the
514 same again.
515
516 \subsubsection{Video}
517
518
519 And more exotic objects can also be displayed, as long as their
520 representation supports the IPython display protocol.
521
522 For example, videos hosted externally on YouTube are easy to load (and
523 writing a similar wrapper for other hosted content is trivial):
524
525 \begin{codecell}
526 \begin{codeinput}
527 \begin{lstlisting}
528 from IPython.display import YouTubeVideo
529 # a talk about IPython at Sage Days at U. Washington, Seattle.
530 # Video credit: William Stein.
531 YouTubeVideo('1j_HxD4iLn8')
532 \end{lstlisting}
533 \end{codeinput}
534 \begin{codeoutput}
535
536 <IPython.lib.display.YouTubeVideo at 0x10fba2190>
537
538 \end{codeoutput}
539 \end{codecell}
540 Using the nascent video capabilities of modern browsers, you may also be
541 able to display local videos. At the moment this doesn't work very well
542 in all browsers, so it may or may not work for you; we will continue
543 testing this and looking for ways to make it more robust.
544
545 The following cell loads a local file called \texttt{animation.m4v},
546 encodes the raw video as base64 for http transport, and uses the HTML5
547 video tag to load it. On Chrome 15 it works correctly, displaying a
548 control bar at the bottom with a play/pause button and a location
549 slider.
550
551 \begin{codecell}
552 \begin{codeinput}
553 \begin{lstlisting}
554 from IPython.display import HTML
555 video = open("animation.m4v", "rb").read()
556 video_encoded = video.encode("base64")
557 video_tag = '<video controls alt="test" src="data:video/x-m4v;base64,{0}">'.format(video_encoded)
558 HTML(data=video_tag)
559 \end{lstlisting}
560 \end{codeinput}
561 \begin{codeoutput}
562
563 <IPython.core.display.HTML at 0x10fba28d0>
564
565 \end{codeoutput}
566 \end{codecell}
567 \subsection{Local Files}
568
569 The above examples embed images and video from the notebook filesystem
570 in the output areas of code cells. It is also possible to request these
571 files directly in markdown cells if they reside in the notebook
572 directory via relative urls prefixed with \texttt{files/}:
573
574 \begin{verbatim}
575 files/[subdirectory/]<filename>
576 \end{verbatim}
577 For example, in the example notebook folder, we have the Python logo,
578 addressed as:
579
580 \begin{verbatim}
581 <img src="files/python-logo.svg" />
582 \end{verbatim}
583 and a video with the HTML5 video tag:
584
585 \begin{verbatim}
586 <video controls src="files/animation.m4v" />
587 \end{verbatim}
588 These do not embed the data into the notebook file, and require that the
589 files exist when you are viewing the notebook.
590
591 \subsubsection{Security of local files}
592
593 Note that this means that the IPython notebook server also acts as a
594 generic file server for files inside the same tree as your notebooks.
595 Access is not granted outside the notebook folder so you have strict
596 control over what files are visible, but for this reason it is highly
597 recommended that you do not run the notebook server with a notebook
598 directory at a high level in your filesystem (e.g.~your home directory).
599
600 When you run the notebook in a password-protected manner, local file
601 access is restricted to authenticated users unless read-only views are
602 active.
603
604 \subsection{Linking to files and directories for viewing in the browser}
605
606 It is also possible to link directly to files or directories so they can
607 be opened in the browser. This is especially convenient if you're
608 interacting with a tool within IPython that generates HTML pages, and
609 you'd like to easily be able to open those in a new browser window.
610 Alternatively, if your IPython notebook server is on a remote system,
611 creating links provides an easy way to download any files that get
612 generated.
613
614 As we saw above, there are a bunch of \texttt{.ipynb} files in our
615 current directory.
616
617 \begin{codecell}
618 \begin{codeinput}
619 \begin{lstlisting}
620 ls
621 \end{lstlisting}
622 \end{codeinput}
623 \begin{codeoutput}
624
625 \begin{verbatim}
626 00_notebook_tour.ipynb formatting.ipynb
627 01_notebook_introduction.ipynb octavemagic_extension.ipynb
628 Animations_and_Progress.ipynb publish_data.ipynb
629 Capturing Output.ipynb python-logo.svg
630 Script Magics.ipynb rmagic_extension.ipynb
631 animation.m4v sympy.ipynb
632 cython_extension.ipynb sympy_quantum_computing.ipynb
633 display_protocol.ipynb trapezoid_rule.ipynb
634
635 \end{verbatim}
636
637 \end{codeoutput}
638 \end{codecell}
639 If we want to create a link to one of them, we can call use the
640 \texttt{FileLink} object.
641
642 \begin{codecell}
643 \begin{codeinput}
644 \begin{lstlisting}
645 from IPython.display import FileLink
646 FileLink('00_notebook_tour.ipynb')
647 \end{lstlisting}
648 \end{codeinput}
649 \begin{codeoutput}
650
651 <IPython.lib.display.FileLink at 0x10f7ea3d0>
652
653 \end{codeoutput}
654 \end{codecell}
655 Alternatively, if we want to link to all of them, we can use the
656 \texttt{FileLinks} object, passing \texttt{'.'} to indicate that we want
657 links generated for the current working directory. Note that if there
658 were other directories under the current directory, \texttt{FileLinks}
659 would work in a recursive manner creating links to files in all
660 sub-directories as well.
661
662 \begin{codecell}
663 \begin{codeinput}
664 \begin{lstlisting}
665 from IPython.display import FileLinks
666 FileLinks('.')
667 \end{lstlisting}
668 \end{codeinput}
669 \begin{codeoutput}
670
671 <IPython.lib.display.FileLinks at 0x10f7eaad0>
672
673 \end{codeoutput}
674 \end{codecell}
675 \subsubsection{External sites}
676
677 You can even embed an entire page from another site in an iframe; for
678 example this is today's Wikipedia page for mobile users:
679
680 \begin{codecell}
681 \begin{codeinput}
682 \begin{lstlisting}
683 HTML('<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350></iframe>')
684 \end{lstlisting}
685 \end{codeinput}
686 \begin{codeoutput}
687
688 <IPython.core.display.HTML at 0x1094900d0>
689
690 \end{codeoutput}
691 \end{codecell}
692 \subsubsection{Mathematics}
693
694 And we also support the display of mathematical expressions typeset in
695 LaTeX, which is rendered in the browser thanks to the
696 \href{http://mathjax.org}{MathJax library}.
697
698 Note that this is \emph{different} from the above examples. Above we
699 were typing mathematical expressions in Markdown cells (along with
700 normal text) and letting the browser render them; now we are displaying
701 the output of a Python computation as a LaTeX expression wrapped by the
702 \texttt{Math()} object so the browser renders it. The \texttt{Math}
703 object will add the needed LaTeX delimiters (\texttt{\$\$}) if they are
704 not provided:
705
706 \begin{codecell}
707 \begin{codeinput}
708 \begin{lstlisting}
709 from IPython.display import Math
710 Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')
711 \end{lstlisting}
712 \end{codeinput}
713 \begin{codeoutput}
714
715 <IPython.core.display.Math at 0x10fba26d0>
716
717 \end{codeoutput}
718 \end{codecell}
719 With the \texttt{Latex} class, you have to include the delimiters
720 yourself. This allows you to use other LaTeX modes such as
721 \texttt{eqnarray}:
722
723 \begin{codecell}
724 \begin{codeinput}
725 \begin{lstlisting}
726 from IPython.display import Latex
727 Latex(r"""\begin{eqnarray}
728 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
729 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
730 \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
731 \nabla \cdot \vec{\mathbf{B}} & = 0
732 \end{eqnarray}""")
733 \end{lstlisting}
734 \end{codeinput}
735 \begin{codeoutput}
736
737 <IPython.core.display.Latex at 0x10fba2c10>
738
739 \end{codeoutput}
740 \end{codecell}
741 Or you can enter latex directly with the \texttt{\%\%latex} cell magic:
742
743 \begin{codecell}
744 \begin{codeinput}
745 \begin{lstlisting}
746 %%latex
747 \begin{aligned}
748 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
749 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
750 \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
751 \nabla \cdot \vec{\mathbf{B}} & = 0
752 \end{aligned}
753 \end{lstlisting}
754 \end{codeinput}
755 \begin{codeoutput}
756
757 \end{codeoutput}
758 \end{codecell}
759 There is also a \texttt{\%\%javascript} cell magic for running
760 javascript directly, and \texttt{\%\%svg} for manually entering SVG
761 content.
762
763 \section{Loading external codes}
764
765 \begin{itemize}
766 \item
767 Drag and drop a \texttt{.py} in the dashboard
768 \item
769 Use \texttt{\%load} with any local or remote url:
770 \href{http://matplotlib.sourceforge.net/gallery.html}{the Matplotlib
771 Gallery!}
772 \end{itemize}
773 In this notebook we've kept the output saved so you can see the result,
774 but you should run the next cell yourself (with an active internet
775 connection).
776
777 Let's make sure we have pylab again, in case we have restarted the
778 kernel due to the crash demo above
779
780 \begin{codecell}
781 \begin{codeinput}
782 \begin{lstlisting}
783 %pylab inline
784 \end{lstlisting}
785 \end{codeinput}
786 \begin{codeoutput}
787
788 \begin{verbatim}
789
790 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
791 For more information, type 'help(pylab)'.
792
793 \end{verbatim}
794
795 \end{codeoutput}
796 \end{codecell}
797 \begin{codecell}
798 \begin{codeinput}
799 \begin{lstlisting}
800 %load http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/integral_demo.py
801 \end{lstlisting}
802 \end{codeinput}
803
804 \end{codecell}
805 \begin{codecell}
806 \begin{codeinput}
807 \begin{lstlisting}
808 #!/usr/bin/env python
809
810 # implement the example graphs/integral from pyx
811 from pylab import *
812 from matplotlib.patches import Polygon
813
814 def func(x):
815 return (x-3)*(x-5)*(x-7)+85
816
817 ax = subplot(111)
818
819 a, b = 2, 9 # integral area
820 x = arange(0, 10, 0.01)
821 y = func(x)
822 plot(x, y, linewidth=1)
823
824 # make the shaded region
825 ix = arange(a, b, 0.01)
826 iy = func(ix)
827 verts = [(a,0)] + zip(ix,iy) + [(b,0)]
828 poly = Polygon(verts, facecolor='0.8', edgecolor='k')
829 ax.add_patch(poly)
830
831 text(0.5 * (a + b), 30,
832 r"$\int_a^b f(x)\mathrm{d}x$", horizontalalignment='center',
833 fontsize=20)
834
835 axis([0,10, 0, 180])
836 figtext(0.9, 0.05, 'x')
837 figtext(0.1, 0.9, 'y')
838 ax.set_xticks((a,b))
839 ax.set_xticklabels(('a','b'))
840 ax.set_yticks([])
841 show()
842
843 \end{lstlisting}
844 \end{codeinput}
845 \begin{codeoutput}
846 \begin{center}
847 \includegraphics[width=0.7\textwidth]{_fig_60.png}
848 \par
849 \end{center}
850 \end{codeoutput}
851 \end{codecell}
852
853 \end{document}
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
@@ -1,7 +1,6 b''
1 1 c = get_config()
2 2
3 3
4 c.ConverterTemplate.extract_figures=False
5 4 c.ConverterTemplate.template_file='fullhtml'
6 5 c.ConverterTemplate.tex_environement=False
7 6
@@ -1,3 +1,4 b''
1 <!DOCTYPE html>
1 2 <html>
2 3 <head>
3 4 <style type="text/css">
@@ -29457,4 +29458,4 b' Wall time: 0.34 s.'
29457 29458 <p>Finally, as we said earlier, IPython also has a high-level and easy to use set of libraries for parallel computing, that let you control (interactively if desired) not just one IPython but an entire cluster of 'IPython engines'. Unfortunately a detailed discussion of these tools is beyond the scope of this text, but should you need to parallelize your analysis codes, a quick read of the tutorials and examples provided at the IPython site may prove fruitful.</p>
29458 29459 </div>
29459 29460 </body>
29460 </html> No newline at end of file
29461 </html>
1 NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
General Comments 0
You need to be logged in to leave comments. Login now