Files
cds-monte-carlo-methods/exercise_sheet_02.html
Kees van Kempen 24b3f3202b 03: Draft I think?
This is creative but maybe not what is asked HAHAHAH.
2022-09-28 17:26:49 +02:00

1153 lines
273 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>exercise_sheet_02</title>
<style type="text/css">
/*!
* Bootstrap v3.3.4 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px \9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.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;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px)and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.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,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}</style>
<style type="text/css">
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #9C6500 } /* Comment.Preproc */
.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #E40000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #008400 } /* Generic.Inserted */
.highlight .go { color: #717171 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #687822 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #767600 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<!-- Loading mathjax macro -->
<!-- Load mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS_CHTML-full,Safe"> </script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
init_mathjax = function() {
if (window.MathJax) {
// MathJax loaded
MathJax.Hub.Config({
TeX: {
equationNumbers: {
autoNumber: "AMS",
useLabelIds: true
}
},
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true,
processEnvironments: true
},
displayAlign: 'center',
CommonHTML: {
linebreaks: {
automatic: true
}
}
});
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
}
}
init_mathjax();
</script>
<!-- End of mathjax configuration -->
<style>
td.center, th.center {
text-align: center;
}
body {
overflow: visible;
font-size: 14px;
padding-top: 1em;
}
div#notebook {
overflow: visible;
border-top: none;
}
div#notebook-container {
width: 100%;
}
@media print {
div.cell {
display: block;
page-break-inside: avoid;
}
div.output_wrapper {
display: block;
page-break-inside: avoid;
}
div.output {
display: block;
page-break-inside: avoid;
}
}
div.prompt {
min-width: 21ex;
}
div.nbgrader_cell {
width: 100%;
}
div.nbgrader_cell .panel-heading {
padding: 0.4em 0.6em;
height: 37px;
}
div.nbgrader_cell .panel-heading a {
color: #BBBBBB;
}
div.nbgrader_cell .panel-footer {
padding: 0.4em 0.6em;
}
div.nbgrader_cell .panel-body {
padding: 0.4em;
}
.comment {
width: 100%;
margin-top: 0.5em;
}
div.nbgrader_cell .input_area {
background: white;
border: none;
}
.score {
color: black;
}
li.late-penalty {
color: #d2413a;
}
span.nbgrader-label {
line-height: 25px;
}
.save-icon {
margin-left: 1em;
top: 4px;
}
</style>
</head>
<body>
<a name="top"></a>
<div class="container">
<div class="panel panel-default">
<div class="panel-heading">
<h4>exercise_sheet_02 (Score: 99.0 / 100.0)</h4>
<div id="toc">
<ol>
<li><a href="#cell-311fd25e116f5066">Written response</a> (Score: 5.0 / 5.0)</li>
<li><a href="#cell-2022e00546cf1bb0">Test cell</a> (Score: 5.0 / 5.0)</li>
<li><a href="#cell-199713328dcd510d">Written response</a> (Score: 5.0 / 5.0)</li>
<li><a href="#cell-726b321246679d28">Test cell</a> (Score: 5.0 / 5.0)</li>
<li><a href="#cell-140af6b31464fbef">Test cell</a> (Score: 15.0 / 15.0)</li>
<li><a href="#comment-cell-b7186322b09717f8">Comment</a></li>
<li><a href="#cell-5d16b014bef9d86f">Test cell</a> (Score: 9.0 / 10.0)</li>
<li><a href="#cell-b25551eca32c4807">Written response</a> (Score: 15.0 / 15.0)</li>
<li><a href="#cell-e08d054985cfa762">Coding free-response</a> (Score: 10.0 / 10.0)</li>
<li><a href="#comment-cell-e08d054985cfa762">Comment</a></li>
<li><a href="#cell-4f20e3b730ba0d23">Written response</a> (Score: 15.0 / 15.0)</li>
<li><a href="#cell-9bf8873cce1d179c">Coding free-response</a> (Score: 15.0 / 15.0)</li>
</ol>
</div>
</div>
<div class="panel-body">
<div id="notebook" class="border-box-sizing">
<div class="container" id="notebook-container">
<body>
<div tabindex="-1" id="notebook" class="border-box-sizing">
<div class="container" id="notebook-container">
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Exercise-sheet">Exercise sheet<a class="anchor-link" href="#Exercise-sheet">&#182;</a></h1><p>Some general remarks about the exercises:</p>
<ul>
<li>For your convenience functions from the lecture are included below. Feel free to reuse them without copying to the exercise solution box.</li>
<li>For each part of the exercise a solution box has been added, but you may insert additional boxes. Do not hesitate to add Markdown boxes for textual or LaTeX answers (via <code>Cell &gt; Cell Type &gt; Markdown</code>). But make sure to replace any part that says <code>YOUR CODE HERE</code> or <code>YOUR ANSWER HERE</code> and remove the <code>raise NotImplementedError()</code>.</li>
<li>Please make your code readable by humans (and not just by the Python interpreter): choose informative function and variable names and use consistent formatting. Feel free to check the <a href="https://www.python.org/dev/peps/pep-0008/">PEP 8 Style Guide for Python</a> for the widely adopted coding conventions or <a href="https://realpython.com/python-pep8/">this guide for explanation</a>.</li>
<li>Make sure that the full notebook runs without errors before submitting your work. This you can do by selecting <code>Kernel &gt; Restart &amp; Run All</code> in the jupyter menu.</li>
<li>For some exercises test cases have been provided in a separate cell in the form of <code>assert</code> statements. When run, a successful test will give no output, whereas a failed test will display an error message.</li>
<li>Each sheet has 100 points worth of exercises. Note that only the grades of sheets number 2, 4, 6, 8 count towards the course examination. Submitting sheets 1, 3, 5, 7 &amp; 9 is voluntary and their grades are just for feedback.</li>
</ul>
<p>Please fill in your name here:</p>
</div>
</div></div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[1]:</div><div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">NAME</span> <span class="o">=</span> <span class="s2">&quot;Kees van Kempen&quot;</span>
<span class="n">NAMES_OF_COLLABORATORS</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<hr>
</div>
</div></div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>Exercise sheet 2</strong></p>
<p>Code from the lecture:</p>
</div>
</div></div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[2]:</div><div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">matplotlib.pylab</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="kn">from</span> <span class="nn">scipy.integrate</span> <span class="kn">import</span> <span class="n">quad</span>
<span class="n">rng</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">default_rng</span><span class="p">()</span>
<span class="o">%</span><span class="k">matplotlib</span> inline
<span class="k">def</span> <span class="nf">inversion_sample</span><span class="p">(</span><span class="n">f_inverse</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;Obtain an inversion sample based on the inverse-CDF f_inverse.&#39;&#39;&#39;</span>
<span class="k">return</span> <span class="n">f_inverse</span><span class="p">(</span><span class="n">rng</span><span class="o">.</span><span class="n">random</span><span class="p">())</span>
<span class="k">def</span> <span class="nf">compare_plot</span><span class="p">(</span><span class="n">samples</span><span class="p">,</span><span class="n">pdf</span><span class="p">,</span><span class="n">xmin</span><span class="p">,</span><span class="n">xmax</span><span class="p">,</span><span class="n">bins</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;Draw a plot comparing the histogram of the samples to the expectation coming from the pdf.&#39;&#39;&#39;</span>
<span class="n">xval</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="n">xmin</span><span class="p">,</span><span class="n">xmax</span><span class="p">,</span><span class="n">bins</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
<span class="n">binsize</span> <span class="o">=</span> <span class="p">(</span><span class="n">xmax</span><span class="o">-</span><span class="n">xmin</span><span class="p">)</span><span class="o">/</span><span class="n">bins</span>
<span class="c1"># Calculate the expected numbers by numerical integration of the pdf over the bins</span>
<span class="n">expected</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">quad</span><span class="p">(</span><span class="n">pdf</span><span class="p">,</span><span class="n">xval</span><span class="p">[</span><span class="n">i</span><span class="p">],</span><span class="n">xval</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span> <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="n">bins</span><span class="p">)])</span><span class="o">/</span><span class="n">binsize</span>
<span class="n">measured</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">histogram</span><span class="p">(</span><span class="n">samples</span><span class="p">,</span><span class="n">bins</span><span class="p">,(</span><span class="n">xmin</span><span class="p">,</span><span class="n">xmax</span><span class="p">))[</span><span class="mi">0</span><span class="p">]</span><span class="o">/</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span><span class="o">*</span><span class="n">binsize</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xval</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">expected</span><span class="p">,</span><span class="n">expected</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]),</span><span class="s2">&quot;-k&quot;</span><span class="p">,</span><span class="n">drawstyle</span><span class="o">=</span><span class="s2">&quot;steps-post&quot;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">bar</span><span class="p">((</span><span class="n">xval</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">xval</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span><span class="o">/</span><span class="mi">2</span><span class="p">,</span><span class="n">measured</span><span class="p">,</span><span class="n">width</span><span class="o">=</span><span class="n">binsize</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">(</span><span class="n">xmin</span><span class="p">,</span><span class="n">xmax</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">([</span><span class="s2">&quot;expected&quot;</span><span class="p">,</span><span class="s2">&quot;histogram&quot;</span><span class="p">])</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
<span class="k">def</span> <span class="nf">gaussian</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span><span class="n">x</span><span class="o">*</span><span class="n">x</span><span class="o">/</span><span class="mi">2</span><span class="p">)</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Sampling-random-variables-via-the-inversion-method">Sampling random variables via the inversion method<a class="anchor-link" href="#Sampling-random-variables-via-the-inversion-method">&#182;</a></h2><p><strong>(35 Points)</strong></p>
<p>Recall from the lecture that for any real random variable $X$ we can construct an explicit random variable via the inversion method that is identically distributed. This random variable is given by $F_X^{-1}(U)$ where $F_X$ is the CDF of $X$ and $U$ is a uniform random variable on $(0,1)$ and</p>
$$
F_X^{-1}(p) := \inf\{ x\in\mathbb{R} : F_X(x) \geq p\}.
$$<p>This gives a very general way of sampling $X$ in a computer program, as you will find out in this exercise.</p>
<p><strong>(a)</strong> Let $X$ be an <strong>exponential random variable</strong> with <strong>rate</strong> $\lambda$, i.e. a continuous random variable with probability density function $f_X(x) = \lambda e^{-\lambda x}$ for $x &gt; 0$. Write a function <code>f_inverse_exponential</code> that computes $F_X^{-1}(p)$. Illustrate the corresponding sampler with the help of the function <code>compare_plot</code> above. <strong>(10 pts)</strong></p>
</div>
</div></div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="panel panel-primary nbgrader_cell">
<a name="comment-cell-311fd25e116f5066"></a><a name="cell-311fd25e116f5066"></a><div class="panel-heading"><span class="nbgrader-label">Student's answer</span><span class="pull-right">
Score: 5.0 / 5.0 <a href="#top">(Top)</a>
</span></div>
<div class="panel-body">
<div class="text_cell_render border-box-sizing rendered_html">
<p>Reasoning from the PDF, we can find the CDF and invert that as follows.</p>
$$
f_X(x) = \lambda{}e^{-\lambda{}x}
$$$$
\implies F_X(x)
= \int_{-\infty}^x f_X(t)dt
= \int_0^x \lambda{}e^{-\lambda{}t}dt
= \left[ -e^{\lambda{}t} \right]_{t = 0}^x
= 1 - e^{\lambda{}x}
= \mathbb{P}(X \leq x) = p
$$<p>for $x \in [0, \infty)$, otherwise zero.</p>
<p>Now we seek $x$ as a function of $p$.</p>
$$
1 - e^{\lambda{}x} = p
\iff -\lambda{}x = \ln{(1-p)}
\iff x = \frac{\ln{(1-p)}}{-\lambda} = F^{-1}_X(p)
$$<p>which works, as $1 - p \geq 0$ as $p \in [0, 1]$, allowing $\ln{0} = -\infty$.</p>
</div>
</div>
</div></div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[3]:</div><div class="panel panel-primary nbgrader_cell">
<a name="comment-cell-06ef7d054d38f5c6"></a><div class="panel-heading"><span class="nbgrader-label">Student's answer</span><span class="pull-right"><a href="#top">(Top)</a></span></div>
<div class="panel-body">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">f_inv_exponential</span><span class="p">(</span><span class="n">lam</span><span class="p">,</span><span class="n">p</span><span class="p">):</span>
<span class="k">return</span> <span class="o">-</span><span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">p</span><span class="p">)</span><span class="o">/</span><span class="n">lam</span>
<span class="n">f_X</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">lam</span><span class="p">:</span> <span class="n">lam</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span><span class="n">lam</span><span class="o">*</span><span class="n">x</span><span class="p">)</span> <span class="k">if</span> <span class="n">x</span> <span class="o">&gt;=</span> <span class="mi">0</span> <span class="k">else</span> <span class="mi">0</span>
<span class="c1"># Input parameters as list for flexibility in testing.</span>
<span class="k">for</span> <span class="n">lam</span> <span class="ow">in</span> <span class="p">[</span><span class="mf">1.5</span><span class="p">]:</span>
<span class="n">pdf</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">f_X</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">lam</span><span class="p">)</span>
<span class="n">samples</span> <span class="o">=</span> <span class="p">[</span><span class="n">inversion_sample</span><span class="p">(</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="n">f_inv_exponential</span><span class="p">(</span><span class="n">lam</span><span class="p">,</span> <span class="n">p</span><span class="p">))</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100000</span><span class="p">)]</span>
<span class="n">compare_plot</span><span class="p">(</span><span class="n">samples</span><span class="p">,</span> <span class="n">pdf</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">30</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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3yz69+/P5MmTGTBgABMnTmT58uVcccUV9OvXjzVr1iT8ekQZuS8ECps4vgUY7u65wP3A/AT0JSLSIn//+9+59dZb2bBhA2eddRbPPvvskWO7du3iueeeY8OGDZSXlzN9+nSGDh3Kddddx0MPPUQ8HufCCy/kxhtv5MEHH6S8vJyBAwfy85//HIBJkyYxb9483nrrLdLT04953rfeeounnnqKV199lczMTJ577jn+/Oc/89prr/HjH//4yL1mKisruf322ykvL+dvf/sbJSUlrFq1itmzZ/OLX/wi4dej2XB395XAriaOv+nun9RtrgayE9SbiEhkffv2JS8vD4Cvf/3rvPvuu0eOnXHGGWRmZjJ58mSWLFlC165dj3v8nj172L17N8OHDwfgpptuYuXKlezevZu9e/cydOhQoParLusbPXo0X/nKV4DaO0Pec8895ObmMmrUKD788EP++c9/Hulv4MCBpKWlcemllzJy5EjMjIEDBx7Ta6Ikes79e8B/J/icIiLNOvXUU4/8OT09/Zg58C5durBmzRq+9a1v8fzzz1NY2NRkxLG+HHmfyJe3EQZ4+umn2bFjB+vWrSMej/PVr36V/fv3H9dfWlrake20tLSkzNcnLNzN7Epqw/2uJmqKzazMzMp27NiRqKcWEWnSvn372LNnD2PHjmXOnDlHvi2q/m17zzzzTM4++2z++Mc/AvDb3/6W4cOHc/bZZ5OVlXXkxmFN3QRsz5499OzZk4yMDF577TXee++95P7FmpCQpZBmlgs8AVzt7jtPVOfu86mbk8/Pz2/65VBEOqQoSxfb2t69exk3bhz79+/H3fnVr34FwA033MCUKVOYO3cuixcv5qmnnuKWW27h888/54ILLuDJJ58E4De/+Q1TpkyhW7duxGIxzjzzzEafZ+LEiVx77bXk5+eTl5dH//792+zv2JA19ysHgJn1AV5w9wGNHOsNvArc6O5vRn3i/Px8Lysra0GrYYrFYqzevDPyF2QPvqA7K1asSH5jIhFt3LiRSy65JNVtJNW+ffs4/fTTAZg1axYfffQRDz/8cNKft7Fra2br3D2/ucc2O3I3s2eAGHCOmVUB9wIZAO4+D5gBdAceq/sqqZooTywi0lG8+OKLPPDAA9TU1HD++eezcOHCVLfUrGbD3d0nNHN8MjA5YR2JiLQzTX0RSHulT6iKSKtF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
"
>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[4]:</div><div class="panel panel-primary nbgrader_cell">
<a name="cell-2022e00546cf1bb0"></a><div class="panel-heading"><span class="nbgrader-label">Grade cell: <code>cell-2022e00546cf1bb0</code></span>
<span class="pull-right">
Score: 5.0 / 5.0 <a href="#top">(Top)</a>
</span></div>
<div class="panel-body">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">nose.tools</span> <span class="kn">import</span> <span class="n">assert_almost_equal</span>
<span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">f_inv_exponential</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">0.6</span><span class="p">),</span><span class="mf">0.916</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.001</span><span class="p">)</span>
<span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">f_inv_exponential</span><span class="p">(</span><span class="mf">0.3</span><span class="p">,</span><span class="mf">0.2</span><span class="p">),</span><span class="mf">0.743</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.001</span><span class="p">)</span>
<span class="c1">### BEGIN HIDDEN TESTS</span>
<span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">f_inv_exponential</span><span class="p">(</span><span class="mf">4.3</span><span class="p">,</span><span class="mf">0.02</span><span class="p">),</span><span class="mf">0.0046983</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.0000001</span><span class="p">)</span>
<span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">f_inv_exponential</span><span class="p">(</span><span class="mf">0.2</span><span class="p">,</span><span class="mf">0.98</span><span class="p">),</span><span class="mf">19.560</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.001</span><span class="p">)</span>
<span class="c1">### END HIDDEN TESTS</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>(b)</strong> Let now $X$ have the <strong>Pareto distribution</strong> of <strong>shape</strong> $\alpha &gt; 0$ on $(b,\infty)$, which has probability density function $f_X(x) = \alpha b^{\alpha} x^{-\alpha-1}$ for $x &gt; b$. Write a function <code>f_inv_pareto</code> that computes $F_X^{-1}(p)$. Compare a histogram with a plot of $f_X(x)$ to verify your function numerically. <strong>(10 pts)</strong></p>
</div>
</div></div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="panel panel-primary nbgrader_cell">
<a name="comment-cell-199713328dcd510d"></a><a name="cell-199713328dcd510d"></a><div class="panel-heading"><span class="nbgrader-label">Student's answer</span><span class="pull-right">
Score: 5.0 / 5.0 <a href="#top">(Top)</a>
</span></div>
<div class="panel-body">
<div class="text_cell_render border-box-sizing rendered_html">
$$
f_X(x) = \alpha b^{\alpha} x^{-\alpha-1}
\\
\implies F_X(x) = \int_{-\infty}^x f_X(t)dt
= \int_{b}^x \alpha{}b^\alpha{}t^{-\alpha-1}dt
= \alpha{}b^\alpha{} \int_{b}^x t^{-\alpha-1}dt
= \alpha{}b^\alpha{} \left[ \frac{-t^{-\alpha}}{\alpha} \right]_{t = b}^x
= b^\alpha (b^{-\alpha} - x^{-\alpha}) = 1 - b^\alpha x^{-\alpha} = p,
$$<p>for $x &gt; b$, otherwise $F_X(x) = 0$.</p>
<p>To find $F_X^{-1}(p)$, we write $p$ as function of $x$.</p>
$$
p = 1 - b^\alpha x^{-\alpha}
\iff b^\alpha x^{-\alpha} = 1 - p
\iff x^{-\alpha} - b^{-\alpha}(1-p)
\iff x = \frac{b}{(1-p)^{1/\alpha}}
$$<p>Thus, $F_X^{-1}(p) = \frac{b}{(1-p)^{1/\alpha}}$ for $p \in [0, 1]$.</p>
</div>
</div>
</div></div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[5]:</div><div class="panel panel-primary nbgrader_cell">
<a name="comment-cell-074f6a1fd6375c22"></a><div class="panel-heading"><span class="nbgrader-label">Student's answer</span><span class="pull-right"><a href="#top">(Top)</a></span></div>
<div class="panel-body">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1">### Solution</span>
<span class="k">def</span> <span class="nf">f_inv_pareto</span><span class="p">(</span><span class="n">alpha</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">p</span><span class="p">):</span>
<span class="k">return</span> <span class="n">b</span><span class="o">/</span><span class="p">(</span><span class="mi">1</span><span class="o">-</span><span class="n">p</span><span class="p">)</span><span class="o">**</span><span class="p">(</span><span class="mi">1</span><span class="o">/</span><span class="n">alpha</span><span class="p">)</span>
<span class="c1"># plotting</span>
<span class="n">f_X</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">alpha</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">x</span><span class="p">:</span> <span class="n">alpha</span><span class="o">*</span><span class="n">b</span><span class="o">**</span><span class="n">alpha</span><span class="o">*</span><span class="n">x</span><span class="o">**</span><span class="p">(</span><span class="o">-</span><span class="n">alpha</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="k">if</span> <span class="n">x</span> <span class="o">&gt;=</span> <span class="n">b</span> <span class="k">else</span> <span class="mi">0</span>
<span class="c1"># Input parameters as list for flexibility in testing.</span>
<span class="k">for</span> <span class="n">params</span> <span class="ow">in</span> <span class="p">[(</span><span class="mf">3.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">)]:</span>
<span class="n">alpha</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="n">params</span>
<span class="n">pdf</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">f_X</span><span class="p">(</span><span class="n">alpha</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
<span class="n">samples</span> <span class="o">=</span> <span class="p">[</span><span class="n">inversion_sample</span><span class="p">(</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="n">f_inv_pareto</span><span class="p">(</span><span class="n">alpha</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">p</span><span class="p">))</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100000</span><span class="p">)]</span>
<span class="n">compare_plot</span><span class="p">(</span><span class="n">samples</span><span class="p">,</span> <span class="n">pdf</span><span class="p">,</span> <span class="n">b</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">30</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
"
>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[6]:</div><div class="panel panel-primary nbgrader_cell">
<a name="cell-726b321246679d28"></a><div class="panel-heading"><span class="nbgrader-label">Grade cell: <code>cell-726b321246679d28</code></span>
<span class="pull-right">
Score: 5.0 / 5.0 <a href="#top">(Top)</a>
</span></div>
<div class="panel-body">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">nose.tools</span> <span class="kn">import</span> <span class="n">assert_almost_equal</span>
<span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">f_inv_pareto</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.5</span><span class="p">,</span><span class="mf">0.6</span><span class="p">),</span><span class="mf">3.75</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.0001</span><span class="p">)</span>
<span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">f_inv_pareto</span><span class="p">(</span><span class="mf">2.0</span><span class="p">,</span><span class="mf">2.25</span><span class="p">,</span><span class="mf">0.3</span><span class="p">),</span><span class="mf">2.689</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.001</span><span class="p">)</span>
<span class="c1">### BEGIN HIDDEN TESTS</span>
<span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">f_inv_pareto</span><span class="p">(</span><span class="mf">0.1</span><span class="p">,</span><span class="mf">3.5</span><span class="p">,</span><span class="mf">0.3</span><span class="p">),</span><span class="mf">123.90</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.1</span><span class="p">)</span>
<span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">f_inv_pareto</span><span class="p">(</span><span class="mf">3.0</span><span class="p">,</span><span class="mf">0.5</span><span class="p">,</span><span class="mf">0.3</span><span class="p">),</span><span class="mf">0.56312</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.0001</span><span class="p">)</span>
<span class="c1">### END HIDDEN TESTS</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>(c)</strong> Let $X$ be a discrete random variable taking values in $\{1,2,\ldots,n\}$. Write a Python function <code>f_inv_discrete</code> that takes the probability mass function $p_X$ as a list <code>prob_list</code> given by $[p_X(1),\ldots,p_X(n)]$ and returns a random sample with the distribution of $X$ using the inversion method. Verify the working of your function numerically on an example. <strong>(15 pts)</strong></p>
</div>
</div></div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[7]:</div><div class="panel panel-primary nbgrader_cell">
<a name="comment-cell-694eb1261c2dc217"></a><div class="panel-heading"><span class="nbgrader-label">Student's answer</span><span class="pull-right"><a href="#top">(Top)</a></span></div>
<div class="panel-body">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">f_inv_discrete</span><span class="p">(</span><span class="n">prob_list</span><span class="p">,</span><span class="n">p</span><span class="p">):</span>
<span class="k">assert</span> <span class="n">np</span><span class="o">.</span><span class="n">isclose</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">prob_list</span><span class="p">),</span> <span class="mi">1</span><span class="p">),</span> <span class="s2">&quot;The probabilities should sum to one.&quot;</span>
<span class="n">p_cum</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">while</span> <span class="n">p_cum</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">:</span>
<span class="n">p_cum</span> <span class="o">+=</span> <span class="n">prob_list</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
<span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
<span class="k">return</span> <span class="n">i</span>
<span class="c1"># plotting</span>
<span class="n">f_X</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">prob_list</span><span class="p">,</span> <span class="n">x</span><span class="p">:</span> <span class="n">prob_list</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">rint</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">int</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">rint</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">prob_list</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="k">else</span> <span class="mi">0</span>
<span class="c1"># Input parameters as list for flexibility in testing.</span>
<span class="k">for</span> <span class="n">prob_list</span> <span class="ow">in</span> <span class="p">[[</span><span class="mf">.1</span><span class="p">,</span> <span class="mf">.3</span><span class="p">,</span> <span class="mf">.2</span><span class="p">,</span> <span class="mf">.4</span><span class="p">],</span> <span class="p">[</span><span class="mf">0.5</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">],</span> <span class="p">[</span><span class="mf">0.7</span><span class="p">,</span> <span class="mf">0.1</span><span class="p">,</span> <span class="mf">0.2</span><span class="p">]]:</span>
<span class="n">alpha</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="n">params</span>
<span class="n">pdf</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">f_X</span><span class="p">(</span><span class="n">prob_list</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
<span class="n">samples</span> <span class="o">=</span> <span class="p">[</span><span class="n">inversion_sample</span><span class="p">(</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="n">f_inv_discrete</span><span class="p">(</span><span class="n">prob_list</span><span class="p">,</span> <span class="n">p</span><span class="p">))</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100000</span><span class="p">)]</span>
<span class="n">compare_plot</span><span class="p">(</span><span class="n">samples</span><span class="p">,</span> <span class="n">pdf</span><span class="p">,</span> <span class="mf">.5</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">prob_list</span><span class="p">)</span> <span class="o">+</span> <span class="mf">.5</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">prob_list</span><span class="p">))</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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Wco5CMzMUs5BYGaWcoftxeJhs3/TrfvbeNdnDty+cSOXXXYZa9as2W/7nDlzGDduHOPHj8857pFHHuH000+npMSPYTCzwuQjgoN02223tRsC0BoE69Z1z+MXWlpaumU/ZmbZHASdsGfPHmbOnMmZZ57JhAkTaG5u5otf/CIPPth6R43Zs2dTUlJCaWkpX//613n++edZtmwZN910E2VlZfzlL3+hvr6eMWPGUFpaypVXXsk//vEPAGprayktLeW8887jpptu4qyzzgLgvvvu43Of+xyXX345EyZMYMeOHVx88cWMHj2aUaNG8etf/xpoPWIZOXIk11xzDWeddRbTp0/nySefZOzYsYwYMYJVq1blZ9LMrOA5CDrhz3/+M9deey1r167l+OOP56GHHtrX9vbbb7N06VLWrl1LQ0MDt956K+effz5XXHEF3/ve96ivr+e0007jqquuYu7cuTQ0NDBq1Ci+853vADBjxgwWLFjACy+8QFFR0X6v+8ILL3D//ffz1FNPUVxczNKlS/njH//I008/zde+9rV99x5qbGzkhhtuoKGhgZdffplFixbx7LPPMm/ePL773e8euokys8OKg6AThg8fTllZGQCf/OQn2bhx4762/v37U1xczDXXXMPDDz/MMccc86Hx27Zt45133uHCCy8E4Oqrr2bFihW88847bN++nfPPPx+AadP2v1P3JZdcwkc/+lGg9Q6kt9xyC6WlpYwfP56//e1v/P3vf99X36hRo+jVqxdnnnkmF198MZIYNWrUfrWamWVzEHTC0UcfvW+5qKhov3P2Rx11FKtWreKzn/0sjzzyCBMnTky8347u97T31tYADzzwAFu2bGH16tXU19dz0kknsXPnzg/V16tXr33rvXr18vUFM2uXg6Cb7Nixg23btnHppZdy991373uCWvatpI877jhOOOEE/vCHPwDwi1/8ggsvvJATTjiBfv36sXLlSgAWL17c7uts27aNgQMH0rt3b55++mlee+21nn1jZnbEO2w/PtrRxz0Pte3bt1NVVcXOnTuJCH7wgx8AMGXKFGbOnMn8+fN58MEHuf/++5k1axbvvfcep556Kvfeey8AP//5z5k5cyZ9+/alsrKS4447LufrTJ8+ncsvv5zy8nLKysoYOXLkIXuPZnZkSnQbakkTgR/S+pSxn0XEXW3aq4DbgQ+AFuDG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
"
>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
"
>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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KtOmTWPPnj0f275o0SImTJjApEmTEr5u06ZNXHbZZeTn5yfc39XoDF9Euqy77767xbCHpsCvqWnpT3u0TWNjY1KOk0oKfBHpEs6cOcO8efO44oormDJlCg0NDXzzm99kw4YNAJSVlZGfn09BQQHf//73ee655ygvL+f222+nsLCQv/3tb1RVVTF27FgKCgqYPn06//jHPwCoqKigoKCAcePGcfvttzNixAgA1qxZw9e//nWuu+46pkyZwokTJ5g4cSKjRo1i5MiR/O53vwOafgMZPnw4N910EyNGjGDOnDls3bqVq666imHDhrFr165z8hkp8EWkS/jrX//Kd77zHfbu3csFF1zAY489dnbfkSNHePzxx9m7dy/V1dXcddddjB8/nuuvv5777ruPqqoqLr30Um644QaWLl1KdXU1I0eO5Cc/+QkAc+fOZeXKlTz//PNkZ2d/7H2ff/55HnnkEZ5++mlyc3N5/PHHeeGFF3jmmWf43ve+d/bZOnV1ddx6661UV1fz0ksvsXbtWnbs2MGyZcv46U9/ek4+IwW+iHQJeXl5FBYWAvDFL36RV1999ey+Pn36kJuby0033cTGjRvp2bPnJ15/7Ngxjh49yjXXXAPAjTfeyPbt2zl69CjHjx9n/PjxQNOf94w3efJkPvOZzwBNT8y88847KSgoYNKkSbzxxhv8/e9/P1vfyJEjycrK4oorrmDixImYGSNHjvxYramkwBeRLqFHjx5nl7Ozsz82p96tWzd27drFV7/6VTZt2kRJSUnk47b2vLGPHrkM8Oijj/L222+ze/duqqqq+NznPsepU6c+UV9WVtbZ9aysrHM2/6/AF5Eu78SJExw7doypU6eyfPnys3+VK/4Rx3379uXCCy/kT3/6EwC//vWvueaaa7jwwgvp3bs3O3fuBGDdunUtvs+xY8cYMGAAOTk5PPPMMxw4cCC1HWsjXZYpIkkV5TLKc+348eOUlpZy6tQp3J2f//znAMycOZN58+axYsUKNmzYwCOPPMKCBQs4efIkl1xyCQ8//DAAv/rVr5g3bx69evWiuLiYvn37JnyfOXPmcN111zF69GgKCwsZPnz4OetjFHo8srSZHo8s8TLt8cjtceLECc4//3wAlixZwptvvskvfvGLlL9vsh+PrDN8EZFWPPHEE9x77700NjZy8cUXs2bNmnSX1C4KfBGRVsyYMYMZM2aku4wO05e2ItJh6Zoa7spS8Zkq8EWkQ3Jzczl8+LBCP4ncncOHD5Obm5vU40aa0jGzEuAXQDbwn+6+JEGbYmA5kAO84+7XJK1KEem0Bg8eTH19PW+//Xa6S+lScnNzGTx4cFKP2Wrgm1k28CAwGagHKsys3N1r4tpcADwElLj7a2Y2IKlVikinlZOTQ15eXrrLkAiiTOkUAXXuvt/dTwPrgNJmbWYDG939NQB3P5TcMkVEpKOiBP4g4PW49frYtniXARea2TYz221mNyQ6kJnNN7NKM6s8c/JY+yoWEZF2iTKHbwm2Nf92phvwRWAicB7wvJntdPeXP/Yi91XAKmi68art5YqISHtFCfx6YEjc+mDgYII277j7e8B7ZrYd+ALwMiIi0ilEmdKpAIaZWZ6ZdQdmAuXN2vwO+Bcz62ZmPYErgX3JLVVERDqi1TN8d280s4XAkzRdlrna3fea2YLY/pXuvs/M/h9QDXxI06Wbe1o+qoiInGuRrsN39y3AlmbbVjZbvw+4L3mliYhIMulOWxGRQCjwRUQCocAXEQmEAl9EJBAKfBGRQCjwRUQCocAXEQmEAl9EJBAKfBGRQCjwRUQCocAXEQmEAl9EJBAKfBGRQCjwRUQCocAXEQmEAl9EJBAKfBGRQCjwRUQCocAXEQmEAl9EJBCRAt/MSsys1szqzKwswf5iMztmZlWxn0XJL1VERDqiW2sNzCwbeBCYDNQDFWZW7u41zZr+yd2npaBGERFJgihn+EVAnbvvd/fTwDqgNLVliYhIskUJ/EHA63Hr9bFtzY0zs7+Y2e/N7IpEBzKz+WZWaWaVZ04ea0e5IiLSXlEC3xJs82brLwAXu/sXgPuBTYkO5O6r3H20u4/O7tm3TYWKiEjHRAn8emBI3Ppg4GB8A3d/191PxJa3ADlm1j9pVYqISIdFCfwKYJiZ5ZlZd2AmUB7fwMwuMjOLLRfFjns42cWKiEj7tXqVjrs3mtlC4EkgG1jt7nvNbEFs/0rga8DNZtYINAAz3b35tI+IiKRRq4EPZ6dptjTbtjJu+QHggeSWJiIiyaQ7bUVEAqHAFxEJhAJfRCQQCnwRkUAo8EVEAqHAFxEJhAJfRCQQCnwRkUAo8EVEAqHAFxEJhAJfRCQQCnwRkUAo8EVEAqHAFxEJhAJfRCQQCnwRkUAo8EVEAqHAFxEJhAJfRCQQCnwRkUAo8EVEAhEp8M2sxMxqzazOzMo+pd0YMztjZl9LXokiIpIMrQa+mWUDDwLXAvnALDPLb6HdUuDJZBcpIiIdF+UMvwioc/f97n4aWAeUJmh3C/AYcCiJ9YmISJJECfxBwOtx6/WxbWeZ2SBgOrDy0w5kZvPNrNLMKs+cPNbWWkVEpAOiBL4l2ObN1pcDP3D3M592IHdf5e6j3X10ds++EUsUEZFk6BahTT0wJG59MHCwWZvRwDozA+gPTDWzRnfflIwiRUSk46IEfgUwzMzygDeAmcDs+AbunvfRspmtATYr7EVEOpdWA9/dG81sIU1X32QDq919r5ktiO3/1Hl7ERHpHKKc4ePuW4AtzbYlDHp3/2bHyxIRkWTTnbYiIoFQ4IuIBEKBLyISCAW+iEggFPgiIoFQ4IuIBEKBLyISCAW+iEggFPgiIoFQ4IuIBEKBLyISCAW+iEggFPgiIoFQ4IuIBEKBLyISCAW+iEggFPgiIoFQ4IuIBEKBLyISCAW+iEggIgW+mZWYWa2Z1ZlZWYL9pWZWbWZVZlZpZlcnv1QREemIbq01MLNs4EFgMlAPVJhZubvXxDX7I1Du7m5mBcB/AcNTUbCIiLRPlDP8IqDO3fe7+2lgHVAa38DdT7i7x1Z7AY6IiHQqUQJ/EPB63Hp9bNvHmNl0M3sJeAL4VqIDmdn82JRP5ZmTx9pTr4iItFOUwLcE2z5xBu/uj7v7cODfgHsSHcjdV7n7aHcfnd2zb5sKFRGRjokS+PXAkLj1wcDBlhq7+3bgUjPr38HaREQkiaIEfgUwzMzyzKw7MBMoj29gZv/LzCy2PAroDhxOdrEiItJ+rV6l4+6NZrYQeBLIBla7+14zWxDbvxL4KnCDmX0ANAAz4r7EFRGRTqDVwAdw9y3AlmbbVsYtLwWWJrc0ERFJJt1pKyISCAW+iEggFPgiIoFQ4IuIBEKBLyISCAW+iEggFPgiIoFQ4IuIBEKBLyISCAW+iEggFPgiIoFQ4IuIBEKBLyISCAW+iEggFPgiIoFQ4IuIBEKBLyISCAW+iEggFPgiIoFQ4IuIBEKBLyISiEiBb2YlZlZrZnVmVpZg/xwzq479PGdmX0h+qSIi0hGtBr6ZZQMPAtcC+cAsM8tv1uwV4Bp3LwDuAVYlu1AREemYbhHaFAF17r4fwMzWAaVAzUcN3P25uPY7gcHJLFJEkmPVqlWsXbs23WVImkQJ/EHA63Hr9cCVn9L+fwO/T7TDzOYD8wGy+3w2Yokikixr165l+85Kug/IS3cpkgZRAt8SbPOEDc2+RFPgX51ov7uvIjbd02PgsITHEJHU6j4gj4tmL0l3GdJOB5ZOa/drowR+PTAkbn0wcLB5IzMrAP4TuNbdD7e7IhERSYkoV+lUAMPMLM/MugMzgfL4Bmb2T8BG4N/d/eXklykiIh3V6hm+uzea2ULgSSAbWO3ue81sQWz/SmAR0A94yMwAGt19dOrKFhGRtooypYO7bwG2NNu2Mm75JuCm5JYmIiLJpDttRUQCocAXEQmEAl9EJBAKfBGRQCjwRUQCocAXEQmEAl9EJBAKfBGRQCjwRUQCocAXEQmEAl9EJBAKfBGRQCjwRUQCocAXEQmEAl9EJBAKfBGRQCjwRUQCocAXEQmEAl9EJBAKfBGRQEQKfDMrMbNaM6szs7IE+4eb2fNm9r6ZfT/5ZYqISEd1a62BmWUDDwKTgXqgwszK3b0mrtkR4LvAv6WiSBER6bhWAx8oAurcfT+Ama0DSoGzge/uh4BDZvavKalSOp2qqiqKi4vTXYa0UVVVFfQZku4yJE2iBP4g4PW49Xrgyva8mZnNB+YDZPf5bHsOIZ1Ar/xi3qvZxs79h9NdirRVnyH0yi9OdxWSJlEC3xJs8/a8mbuvAlYB9Bg4rF3HkPTrXVhC78KSdJchIm0U5UvbeiD+d8DBwMHUlCMiIqkSJfArgGFmlmdm3YGZQHlqyxIRkWRrdUrH3RvNbCHwJJANrHb3vWa2ILZ/pZldBFQCfYAPzew2IN/d301d6SIi0hZR5vBx9y3AlmbbVsYtv0XTVI+IiHRSutNWRCQQCnwRkUAo8EVEAqHAFxEJhAJfRCQQCnwRkUAo8EVEAqHAFxEJhAJfRCQQCnwRkUAo8EVEAqHAFxEJhAJfRCQQCnwRkUAo8EVEAqHAFxEJhAJfRCQQCnwRkUAo8EVEAqHAFxEJhAJfRCQQkQLfzErMrNbM6sysLMF+M7MVsf3VZjYq+aWKiEhHtBr4ZpYNPAhcC+QDs8wsv1mza4FhsZ/5wP9Jcp0iItJBUc7wi4A6d9/v7qeBdUBpszalwP/1JjuBC8xsYJJrFRGRDugWoc0g4PW49XrgyghtBgFvxjcys/k0/QYA8P6BpdP2tKnazNIfeCfdRaSQ+pe5unLfoOv37/PtfWGUwLcE27wdbXD3VcAqADOrdPfREd4/I6l/ma0r968r9w3C6F97XxtlSqceGBK3Phg42I42IiKSRlECvwIYZmZ5ZtYdmAmUN2tTDtwQu1pnLHDM3d9sfiAREUmfVqd03L3RzBYCTwLZwGp332tmC2L7VwJbgKlAHXASmBvhvVe1u+rMoP5ltq7cv67cN1D/WmTun5hqFxGRLkh32oqIBEKBLyISiJQHfoTHMhSb2TEzq4r9LEp1TcliZqvN7JCZJbyfINMfORGhf5k8dkPM7Bkz22dme83s1gRtMnb8IvYvk8cv18x2mdlfYv37SYI2mTx+UfrX9vFz95T90PQl79+AS4DuwF+A/GZtioHNqawjhf2bAIwC9rSwfyrwe5ruUxgL/He6a05y/zJ57AYCo2LLvYGXE/zbzNjxi9i/TB4/A86PLecA/w2M7ULjF6V/bR6/VJ/hR3ksQ8Zy9+3AkU9pktGPnIjQv4zl7m+6+wux5ePAPpruDo+XseMXsX8ZKzYmJ2KrObGf5legZPL4Relfm6U68Ft65EJz42K/uvzezK5IcU3nUtT+Z7KMHzszGwr8M01nUfG6xPh9Sv8gg8fPzLLNrAo4BPzB3bvU+EXoH7Rx/FId+FEeufACcLG7fwG4H9iU4prOpUiPnMhgGT92ZnY+8Bhwm7u/23x3gpdk1Pi10r+MHj93P+PuhTTd2V9kZiOaNcno8YvQvzaPX6oDv9VHLrj7ux/96uLuW4AcM+uf4rrOlS79yIlMHzszy6EpDB91940JmmT0+LXWv0wfv4+4+1FgG1DSbFdGj99HWupfe8Yv1YHf6mMZzOwiM7PYclGspsMprutc6dKPnMjksYvV/Stgn7v/rIVmGTt+UfqX4eP3WTO7ILZ8HjAJeKlZs0wev1b7157xi/K0zHbzaI9l+Bpws5k1Ag3ATI99Bd3ZmdlvafqmvL+Z1QM/ounLlY/61p5HTnQaEfqXsWMHXAX8O/BibJ4U4E7gn6BLjF+U/mXy+A0EHrGmP9CUBfyXu2+2jj/ypbOI0r82j58erSAiEgjdaSsiEggFvohIIBT4IiKBUOCLiARCgS8iEggFvohIIBT4IiKB+B/ROr5S8ESvLwAAAABJRU5ErkJggg==
"
>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[8]:</div><div class="panel panel-primary nbgrader_cell">
<a name="cell-140af6b31464fbef"></a><div class="panel-heading"><span class="nbgrader-label">Grade cell: <code>cell-140af6b31464fbef</code></span>
<span class="pull-right">
Score: 15.0 / 15.0 <a href="#top">(Top)</a>
</span></div>
<div class="panel-body">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">assert</span> <span class="n">f_inv_discrete</span><span class="p">([</span><span class="mf">0.5</span><span class="p">,</span><span class="mf">0.5</span><span class="p">],</span><span class="mf">0.4</span><span class="p">)</span><span class="o">==</span><span class="mi">1</span>
<span class="k">assert</span> <span class="n">f_inv_discrete</span><span class="p">([</span><span class="mf">0.5</span><span class="p">,</span><span class="mf">0.5</span><span class="p">],</span><span class="mf">0.8</span><span class="p">)</span><span class="o">==</span><span class="mi">2</span>
<span class="k">assert</span> <span class="n">f_inv_discrete</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">],</span><span class="mf">0.1</span><span class="p">)</span><span class="o">==</span><span class="mi">3</span>
<span class="c1">### BEGIN HIDDEN TESTS</span>
<span class="k">assert</span> <span class="n">f_inv_discrete</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mf">0.1</span><span class="p">,</span><span class="mf">0.3</span><span class="p">,</span><span class="mf">0.5</span><span class="p">,</span><span class="mf">0.1</span><span class="p">,</span><span class="mi">0</span><span class="p">],</span><span class="mf">0.42</span><span class="p">)</span><span class="o">==</span><span class="mi">5</span>
<span class="k">assert</span> <span class="n">f_inv_discrete</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mf">0.1</span><span class="p">,</span><span class="mf">0.3</span><span class="p">,</span><span class="mf">0.5</span><span class="p">,</span><span class="mf">0.1</span><span class="p">,</span><span class="mi">0</span><span class="p">],</span><span class="mf">0.02</span><span class="p">)</span><span class="o">==</span><span class="mi">3</span>
<span class="c1">### END HIDDEN TESTS</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Central-limit-theorem?">Central limit theorem?<a class="anchor-link" href="#Central-limit-theorem?">&#182;</a></h2><p><strong>(35 Points)</strong></p>
<p>In this exercise we will have a closer look at central limits of the Pareto distribution, for which you implemented a random sampler in the previous exercise. By performing the appropriate integrals it is straightforward to show that</p>
$$
\mathbb{E}[X] = \begin{cases} \infty &amp; \text{for }\alpha \leq 1 \\ \frac{\alpha b}{\alpha - 1} &amp; \text{for }\alpha &gt; 1 \end{cases}, \qquad \operatorname{Var}(X) = \begin{cases} \infty &amp; \text{for }\alpha \leq 2 \\ \frac{\alpha b^2}{(\alpha - 1)^2(\alpha-2)} &amp; \text{for }\alpha &gt; 2 \end{cases}.
$$<p>This shows in particular that the distribution is <strong>heavy tailed</strong>, in the sense that some moments $\mathbb{E}[X^k]$ diverge.</p>
</div>
</div></div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>(a)</strong> Write a function <code>sample_Zn</code> that produces a random sample for $Z_n= \frac{\sqrt{n}}{\sigma_X}(\bar{X}_n - \mathbb{E}[X])$ given $\alpha&gt;2$, $b&gt;0$ and $n\geq 1$. Visually verify the central limit theorem for $\alpha = 4$, $b=1$ and $n=1000$ by comparing a histogram of $Z_n$ to the standard normal distribution (you may use <code>compare_plot</code>). <strong>(10 pts)</strong></p>
</div>
</div></div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[9]:</div><div class="panel panel-primary nbgrader_cell">
<a name="comment-cell-b7186322b09717f8"></a><div class="panel-heading"><span class="nbgrader-label">Student's answer</span><span class="pull-right"><a href="#top">(Top)</a></span></div>
<div class="panel-body">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">sample_Zn</span><span class="p">(</span><span class="n">alpha</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">n</span><span class="p">):</span>
<span class="k">assert</span> <span class="n">alpha</span> <span class="o">&gt;</span> <span class="mi">2</span>
<span class="k">assert</span> <span class="n">b</span> <span class="o">&gt;</span> <span class="mi">0</span>
<span class="k">assert</span> <span class="n">n</span> <span class="o">&gt;=</span> <span class="mi">1</span> <span class="ow">and</span> <span class="nb">type</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">==</span> <span class="nb">int</span>
<span class="n">E_X</span> <span class="o">=</span> <span class="n">alpha</span><span class="o">*</span><span class="n">b</span><span class="o">/</span><span class="p">(</span><span class="n">alpha</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">Var_X</span> <span class="o">=</span> <span class="n">alpha</span><span class="o">*</span><span class="n">b</span><span class="o">**</span><span class="mi">2</span><span class="o">/</span><span class="p">(</span> <span class="p">(</span><span class="n">alpha</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="o">*</span><span class="p">(</span><span class="n">alpha</span> <span class="o">-</span> <span class="mi">2</span><span class="p">)</span> <span class="p">)</span>
<span class="n">inv_pareto_samples</span> <span class="o">=</span> <span class="p">[</span><span class="n">inversion_sample</span><span class="p">(</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="n">f_inv_pareto</span><span class="p">(</span><span class="n">alpha</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">p</span><span class="p">))</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)]</span>
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">n</span><span class="o">/</span><span class="n">Var_X</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">inv_pareto_samples</span><span class="p">)</span> <span class="o">-</span> <span class="n">E_X</span><span class="p">)</span>
<span class="c1"># Plotting</span>
<span class="n">alpha</span> <span class="o">=</span> <span class="mi">4</span>
<span class="n">b</span> <span class="o">=</span> <span class="mi">1</span>
<span class="n">n</span> <span class="o">=</span> <span class="mi">1000</span>
<span class="n">pdf</span> <span class="o">=</span> <span class="n">gaussian</span>
<span class="n">samples</span> <span class="o">=</span> <span class="p">[</span><span class="n">inversion_sample</span><span class="p">(</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="n">sample_Zn</span><span class="p">(</span><span class="n">alpha</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">n</span><span class="p">))</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1000</span><span class="p">)]</span>
<span class="n">compare_plot</span><span class="p">(</span><span class="n">samples</span><span class="p">,</span> <span class="n">pdf</span><span class="p">,</span> <span class="o">-</span><span class="mi">5</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="panel-footer">
<div>
<b>Comments:</b> <p>Use less bins to prevent overfitting</p>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
"
>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[10]:</div><div class="panel panel-primary nbgrader_cell">
<a name="cell-5d16b014bef9d86f"></a><div class="panel-heading"><span class="nbgrader-label">Grade cell: <code>cell-5d16b014bef9d86f</code></span>
<span class="pull-right">
Score: 9.0 / 10.0 <a href="#top">(Top)</a>
</span></div>
<div class="panel-body">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">([</span><span class="n">sample_Zn</span><span class="p">(</span><span class="mf">3.5</span><span class="p">,</span><span class="mf">2.1</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">)]),</span><span class="mi">0</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.3</span><span class="p">)</span>
<span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">std</span><span class="p">([</span><span class="n">sample_Zn</span><span class="p">(</span><span class="mf">3.5</span><span class="p">,</span><span class="mf">2.1</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">)]),</span><span class="mi">1</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.3</span><span class="p">)</span>
<span class="c1">### BEGIN HIDDEN TESTS</span>
<span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">([</span><span class="n">sample_Zn</span><span class="p">(</span><span class="mf">7.5</span><span class="p">,</span><span class="mf">0.7</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">)]),</span><span class="mi">0</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.3</span><span class="p">)</span>
<span class="n">assert_almost_equal</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">std</span><span class="p">([</span><span class="n">sample_Zn</span><span class="p">(</span><span class="mf">7.5</span><span class="p">,</span><span class="mf">0.7</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">)]),</span><span class="mi">1</span><span class="p">,</span><span class="n">delta</span><span class="o">=</span><span class="mf">0.25</span><span class="p">)</span>
<span class="c1">### END HIDDEN TESTS</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>(b)</strong> Now take $\alpha = 3/2$ and $b=1$.
With some work (which you do not have to do) one can show that the characteristic function of $X$ admits the following expansion around $t=0$,</p>
$$
\varphi_X(t) = 1 + 3 i t - (|t|+i t)\,\sqrt{2\pi|t|} + O(t^{2}).
$$<p>Based on this, prove the <strong>generalized CLT</strong> for this particular distribution $X$ which states that $Z_n = c\, n^{1/3} (\bar{X}_n - \mathbb{E}[X])$ in the limit $n\rightarrow\infty$ converges in distribution, with a to-be-determined choice of overall constant $c$, to a limiting random variable $\mathcal{S}$ with characteristic function</p>
$$
\varphi_{\mathcal{S}}(t) = \exp\big(-(|t|+it)\sqrt{|t|}\big).
$$<p><strong>(15 pts)</strong></p>
</div>
</div></div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="panel panel-primary nbgrader_cell">
<a name="comment-cell-b25551eca32c4807"></a><a name="cell-b25551eca32c4807"></a><div class="panel-heading"><span class="nbgrader-label">Student's answer</span><span class="pull-right">
Score: 15.0 / 15.0 <a href="#top">(Top)</a>
</span></div>
<div class="panel-body">
<div class="text_cell_render border-box-sizing rendered_html">
\begin{align}
\phi_{Z_n}(t) &amp;= \mathbb{E}\left[ e^{itZ_n} \right]
\\ &amp;= \mathbb{E}\left[ e^{itcn^{1/3}(\bar{X_n} - \mathbb{E}[X])} \right]
\\ &amp;= \mathbb{E}\left[ e^{itcn^{1/3}(\frac{1}{n}\sum_{i=1}^n X_i - \mathbb{E}[X])} \right]
\\ &amp;= \mathbb{E}\left[ \left( \prod_{i=1}^n e^{itcn^{-2/3}X_i} \right) e^{itcn^{1/3}\mathbb{E}[X])} \right]
\\ &amp;= \left( \prod_{i=1}^n \mathbb{E}\left[ e^{itcn^{-2/3}X_i} \right] \right)\mathbb{E}\left[ e^{itcn^{1/3}\mathbb{E}[X])} \right]
\\ &amp;= \left( \prod_{i=1}^n \phi_X(cn^{-2/3}t) \right)\mathbb{E}\left[ e^{itcn^{1/3}\mathbb{E}[X])} \right]
\\ &amp;= \left( \phi_X(cn^{-2/3}t) \right)^n \mathbb{E}\left[ e^{itcn^{1/3}\mathbb{E}[X])} \right]
\end{align}<p>where we used the identity for products of indepedent expectation values <a href="https://hef.ru.nl/~tbudd/mct/lectures/probability_random_variables.html#equation-product-expectation">https://hef.ru.nl/~tbudd/mct/lectures/probability_random_variables.html#equation-product-expectation</a>, and the definition of $\phi_X(t) := \mathbb{E}\left[ e^{itX} \right]$.</p>
<p>Next, we will use the Taylor expansion around $t = 0$ as is given above, and, for the latter exponential, $\mathbb{E}(X) = 3$ for $\alpha = 3/2, b = 1$ as given.</p>
\begin{align}
\phi_{Z_n}(t) &amp;= \left( \phi_X(cn^{-2/3}t) \right)^n \mathbb{E}\left[ e^{itcn^{1/3}\mathbb{E}[X])} \right]
\\ &amp;= \left( 1 + 3 i cn^{-2/3}t - (|cn^{-2/3}t|+i cn^{-2/3}t)\,\sqrt{2\pi|cn^{-2/3}t|} + \mathcal{O}(t^2) \right)^n e^{3itcn^{1/3}}
\\ &amp;= \left( 1 + \frac{1}{n} \left[ 3 i cn^{1/3}t - (|ct|+i ct)\,\sqrt{2\pi|ct|} \right] + \mathcal{O}(t^2) \right)^n e^{3itcn^{1/3}}
\end{align}<p>Taking the limit $n \to \infty$, the first set of parentheses can be rewritten in terms of an exponential using the identity $\lim_{n\to\infty} (1 + \frac{a}{n})^n = e^{a}$, we find a way to our desired expression.</p>
\begin{align}
\lim_{n\to\infty} \phi_{Z_n}(t) &amp;= \lim_{n\to\infty} \left( 1 + \frac{1}{n} \left[ 3 i cn^{1/3}t - (|ct|+i ct)\,\sqrt{2\pi|ct|} \right] + \mathcal{O}(t^2) \right)^n e^{-3itcn^{1/3}}
\\ &amp;= \lim_{n\to\infty} \exp{({3 i cn^{1/3}t - (|ct|+i ct)\,\sqrt{2\pi|ct|}})} \exp{(e^{-3itcn^{1/3}})}
\\ &amp;= \exp{({-(|ct|+i ct)\,\sqrt{2\pi|ct|}})}
\end{align}<p>This matches $\phi_S(t) = \exp\big(-(|t|+it)\sqrt{|t|}\big)$ for $\sqrt{2\pi} c^{3/2} = 1 \implies c = (2\pi)^{\frac{-1}{3}}$.</p>
</div>
</div>
</div></div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>(c)</strong> The random variable $\mathcal{S}$ has a <a href="https://en.wikipedia.org/wiki/Stable_distribution">stable Lévy distribution</a> with index $\alpha = 3/2$ and skewness $\beta = 1$. Its probability density function $f_{\mathcal{S}}(x)$ does not admit a simple expression, but can be accessed numerically using SciPy's <code>scipy.stats.levy_stable.pdf(x,1.5,1.0)</code>. Verify numerically that the generalized CLT of part (b) holds by comparing an appropriate histogram to this PDF. <strong>(10 pts)</strong></p>
</div>
</div></div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[11]:</div><div class="panel panel-primary nbgrader_cell">
<a name="comment-cell-e08d054985cfa762"></a><a name="cell-e08d054985cfa762"></a><div class="panel-heading"><span class="nbgrader-label">Student's answer</span><span class="pull-right">
Score: 10.0 / 10.0 <a href="#top">(Top)</a>
</span></div>
<div class="panel-body">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">scipy.stats</span> <span class="kn">import</span> <span class="n">levy_stable</span>
<span class="k">def</span> <span class="nf">sample_Zn</span><span class="p">(</span><span class="n">alpha</span><span class="p">,</span> <span class="n">beta</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span>
<span class="k">assert</span> <span class="n">n</span> <span class="o">&gt;=</span> <span class="mi">1</span> <span class="ow">and</span> <span class="nb">type</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">==</span> <span class="nb">int</span>
<span class="n">E_X</span> <span class="o">=</span> <span class="n">alpha</span><span class="o">*</span><span class="n">b</span><span class="o">/</span><span class="p">(</span><span class="n">alpha</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">samples</span> <span class="o">=</span> <span class="p">[</span><span class="n">inversion_sample</span><span class="p">(</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="n">f_inv_pareto</span><span class="p">(</span><span class="n">alpha</span><span class="p">,</span> <span class="n">beta</span><span class="p">,</span> <span class="n">p</span><span class="p">))</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)]</span>
<span class="k">return</span> <span class="n">c</span><span class="o">*</span><span class="n">n</span><span class="o">**</span><span class="p">(</span><span class="mi">1</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">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span> <span class="o">-</span> <span class="n">E_X</span><span class="p">)</span>
<span class="n">alpha</span> <span class="o">=</span> <span class="mi">3</span><span class="o">/</span><span class="mi">2</span>
<span class="n">beta</span> <span class="o">=</span> <span class="mi">1</span>
<span class="n">c</span> <span class="o">=</span> <span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">)</span><span class="o">**</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="o">/</span><span class="mi">3</span><span class="p">)</span>
<span class="n">n</span> <span class="o">=</span> <span class="mi">1000</span>
<span class="n">pdf</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">levy_stable</span><span class="o">.</span><span class="n">pdf</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">alpha</span><span class="p">,</span> <span class="n">beta</span><span class="p">)</span>
<span class="n">samples</span> <span class="o">=</span> <span class="p">[</span><span class="n">sample_Zn</span><span class="p">(</span><span class="n">alpha</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">n</span><span class="p">)</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10000</span><span class="p">)]</span>
<span class="n">compare_plot</span><span class="p">(</span><span class="n">samples</span><span class="p">,</span> <span class="n">pdf</span><span class="p">,</span> <span class="o">-</span><span class="mi">5</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="panel-footer">
<div>
<b>Comments:</b> <p>You are a bit overfitting.</p>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAg/klEQVR4nO3df3BU9b3/8ecbhKamwZ/QdvhR8F4sjRC3NCCiA2sVGq1KnVsLxvZaezXS1nqdufot9VpmrnUsznVaf96LqbX2tkZoVWxGqVq1AbWlENoUEcXSgCUiBWNFUAKi7+8f+4OTZZOchE129+zrMcOwZ8/57H6y4jvvfZ/PD3N3REQkugbluwMiItK/FOhFRCJOgV5EJOIU6EVEIk6BXkQk4o7IdweyOf74433s2LH57oaISNFYu3btG+4+PNu5ggz0Y8eOpbm5Od/dEBEpGmb2alfnVLoREYm4UIHezGrMbKOZbTKzBVnOzzGzdWbWYmbNZnZ64NwWM3shdS6XnRcRkZ71WLoxs8HAXcAsoA1YY2aN7r4hcNnTQKO7u5lVAb8AJgTOn+Hub+Sw3yIiElKYGv1UYJO7twKY2RJgDpAO9O6+J3B9OaB1FUSE9957j7a2Njo6OvLdlcgoKytj1KhRDBkyJHSbMIF+JLA1cNwGnJJ5kZldAHwfGAF8PnDKgSfNzIG73b0+25uYWR1QBzBmzJhQnReRwtbW1kZFRQVjx47FzPLdnaLn7rS3t9PW1sa4ceNCtwtTo8/2X+eQjN3dl7n7BOALwPcCp05z98nA2cA3zWxGtjdx93p3r3b36uHDs44QEpEi09HRwXHHHacgnyNmxnHHHdfrb0hhAn0bMDpwPArY1tXF7r4S+CczOz55vC359w5gGYlSkIiUCAX53OrL5xkm0K8BxpvZODMbCswDGjPe+J8t+e5mNhkYCrSbWbmZVSSfLwdmA+t73UsREemzHgO9ux8ArgSeAF4CfuHuL5rZfDObn7zsX4D1ZtZCYoTOXE8sdP9R4Dkz+zOwGnjM3R/vh59DRKQgtLS0sHz58l63i8fj/TZRNNTMWHdfDizPeG5x4PHNwM1Z2rUCJx9mH6VEjV3wWPrxlkWf7+ZKkcLR0tJCc3Mz55xzTr67kqaZsSISaT//+c+ZOnUqsViMK664gj/84Q9UVVXR0dHBO++8w0knncT69etpampixowZXHDBBVRWVjJ//nw++OADAJ588klOPfVUJk+ezIUXXsiePYkR5WvWrGH69OmcfPLJTJ06lV27drFw4UKWLl1KLBZj6dKlvPPOO3zta19jypQpfPrTn+ZXv/oVAHv37mXevHlUVVUxd+5c9u7d22+fQUGudSMi0XP11VfT0tKS09eMxWLceuutXZ5/6aWXWLp0Kc8//zxDhgzhG9/4Bhs3buT888/n+uuvZ+/evXz5y19m4sSJNDU1sXr1ajZs2MAnPvEJampqePjhh4nH49x444089dRTlJeXc/PNN/ODH/yABQsWMHfuXJYuXcqUKVN4++23OfLII7nhhhtobm7mzjvvBOC6667js5/9LPfeey9vvfUWU6dO5ayzzuLuu+/myCOPZN26daxbt47Jkyfn9LMJUqAXkch6+umnWbt2LVOmTAESWfSIESNYuHAhU6ZMoaysjNtvvz19/dSpUznhhBMAuOiii3juuecoKytjw4YNnHbaaQDs37+fU089lY0bN/Lxj388/drDhg3L2ocnn3ySxsZGbrnlFiAx5PRvf/sbK1eu5KqrrgKgqqqKqqqq/vkQUKAXkQHSXebdX9ydSy65hO9///udnt++fTt79uzhvffeo6Ojg/LycuDQoYtmhrsza9YsHnjggU7n1q1bF2qoo7vz0EMP8clPfvKQcwM19FQ1ehGJrDPPPJMHH3yQHTt2APDmm2/y6quvUldXx/e+9z0uvvhivv3tb6evX716NZs3b+aDDz5g6dKlnH766UybNo3nn3+eTZs2AfDuu+/yyiuvMGHCBLZt28aaNWsA2L17NwcOHKCiooLdu3enX/Nzn/scd9xxB4mBiPCnP/0JgBkzZnD//fcDsH79etatW9dvn4MyehGJrMrKSm688UZmz57NBx98wJAhQ5gzZw5HHHEEtbW1vP/++0yfPp1nnnmGQYMGceqpp7JgwQJeeOGF9I3ZQYMGcd9993HRRRexb98+AG688UZOPPFEli5dyre+9S327t3Lhz/8YZ566inOOOMMFi1aRCwW4zvf+Q7f/e53ufrqq6mqqsLdGTt2LI8++ihf//rXufTSS6mqqiIWizF1av/NJbXUb5lCUl1d7dp4RDS8svi99NJLfOpTn8p3N0Jpamrilltu4dFHH813V3qU7XM1s7XuXp3tepVuREQiTqUbERESM1Pj8Xi+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
"
>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Joint-probability-density-functions-and-sampling-the-normal-distribution">Joint probability density functions and sampling the normal distribution<a class="anchor-link" href="#Joint-probability-density-functions-and-sampling-the-normal-distribution">&#182;</a></h2><p><strong>(30 Points)</strong></p>
<p>Let $\Phi$ be a uniform random variable on $(0,2\pi)$ and $R$ an independent continuous random variable with probability density function $f_R(r) = r\,e^{-r^2/2}$ for $r&gt;0$. Set $X = R \cos \Phi$ and $Y = R \sin \Phi$. This is called the <strong>Box-Muller transform</strong>.</p>
<p><strong>(a)</strong> Since $\Phi$ and $R$ are independent, the joint probability density of $\Phi$ and $R$ is $f_{\Phi,R}(\phi,r) = f_\Phi(\phi)f_R(r) = \frac{1}{2\pi}\, r\,e^{-r^2/2}$. Show by change of variables that $X$ and $Y$ are also independent and both distributed as a standard normal distribution $\mathcal{N}$. <strong>(15 pts)</strong></p>
</div>
</div></div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="panel panel-primary nbgrader_cell">
<a name="comment-cell-4f20e3b730ba0d23"></a><a name="cell-4f20e3b730ba0d23"></a><div class="panel-heading"><span class="nbgrader-label">Student's answer</span><span class="pull-right">
Score: 15.0 / 15.0 <a href="#top">(Top)</a>
</span></div>
<div class="panel-body">
<div class="text_cell_render border-box-sizing rendered_html">
<p>The coordinate transformation $T$ is defined as $T(\Phi, R) = (R\cos{\Phi}, R\sin{\Phi}) = (X, Y)$. As $T$ is invertible differentiable, we can write the equality between the joint probability density in both coordinate pairs as follows, using the Jacobian.
$$
f_{X,Y}(x,y) \Big|\frac{\mathrm{d}x}{\mathrm{d}\phi}\frac{\mathrm{d}y}{\mathrm{d}r}-\frac{\mathrm{d}y}{\mathrm{d}\phi}\frac{\mathrm{d}x}{\mathrm{d}r}\Big|
= f_{X,Y}(T(\phi,r)) \Big|\frac{\mathrm{d}x}{\mathrm{d}\phi}\frac{\mathrm{d}y}{\mathrm{d}r}-\frac{\mathrm{d}y}{\mathrm{d}\phi}\frac{\mathrm{d}x}{\mathrm{d}r}\Big|
= f_{X,Y}(T(\phi,r)) \Big|-r\sin{\phi}\sin{\phi}-r\cos{\phi}\cos{\phi}\Big|
= f_{X,Y}(T(\phi,r)) r
= f_{\Phi,R}(\phi,r)
= \frac{1}{2\pi}\, r\,e^{-r^2/2}
\\ \implies f_{X,Y}(x,y) = \frac{1}{2\pi}\,e^{-r^2/2} = \frac{1}{\sqrt{2\pi}}e^{-x^2/2}\frac{1}{\sqrt{2\pi}}e^{-y^2/2} = f_{X}(x)f_Y(y)
$$
using that $r^2 = x^2 + y^2$ in the second to last step. We conclude that $X$ and $Y$ are independent, and the factorization shows that they are both distributed as a standard normal distribution $\mathcal{N}(0,1)$.</p>
</div>
</div>
</div></div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>(b)</strong> Write a function to sample a pair of independent normal random variables using the Box-Muller transform. Hint: to sample $R$ you can use the inversion method of the first exercise. Produce a histogram to check the distribution of your normal variables. <strong>(15 pts)</strong></p>
</div>
</div></div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>For the sampling of $R$, we take its PDF, calculate its CDF, invert it, and use the function <code>inversion_sample</code> to pull values for $R$.</p>
$$
f_R(r) = re^{-r^2/2}
\\ \implies F_R(r) = \int_{0}^r te^{-t^2/2}dt = 1-e^{-r^2/2}
$$<p>integrating over values $r &gt; 0$ as it cannot be negative, and using a substitution with $z := t^2$.</p>
<p>Now the inversion.</p>
$$
p := F_R(r) = 1-e^{-r^2/2} \implies r = \sqrt{-2\ln{(1-p)}}
$$<p>for $p \in [0, 1]$. Do note that we can also calculate $r = \sqrt{-2\ln{(p)}}$ as $p$ and $1 - p$ are identically distributed, also keeping the argument to $\ln$ positive, saving just one calculation, although I do not use this in the following.</p>
</div>
</div></div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[12]:</div><div class="panel panel-primary nbgrader_cell">
<a name="comment-cell-9bf8873cce1d179c"></a><a name="cell-9bf8873cce1d179c"></a><div class="panel-heading"><span class="nbgrader-label">Student's answer</span><span class="pull-right">
Score: 15.0 / 15.0 <a href="#top">(Top)</a>
</span></div>
<div class="panel-body">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">random_normal_pair</span><span class="p">():</span>
<span class="sd">&#39;&#39;&#39;Return two independent normal random variables.&#39;&#39;&#39;</span>
<span class="n">phi</span> <span class="o">=</span> <span class="n">rng</span><span class="o">.</span><span class="n">random</span><span class="p">()</span><span class="o">*</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span>
<span class="n">r</span> <span class="o">=</span> <span class="n">inversion_sample</span><span class="p">(</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="mi">1</span><span class="o">-</span><span class="n">p</span><span class="p">)))</span>
<span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">r</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">phi</span><span class="p">),</span> <span class="n">r</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">phi</span><span class="p">)</span>
<span class="k">return</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span>
<span class="c1"># Plotting</span>
<span class="n">pdf</span> <span class="o">=</span> <span class="n">gaussian</span>
<span class="n">samples</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">random_normal_pair</span><span class="p">()</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100000</span><span class="p">)])</span>
<span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">]:</span>
<span class="n">compare_plot</span><span class="p">(</span><span class="n">samples</span><span class="p">[:,</span><span class="n">index</span><span class="p">],</span> <span class="n">pdf</span><span class="p">,</span> <span class="o">-</span><span class="mi">5</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
"
>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
"
>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</div>
</div>
</div>
</div>
</div>
</body>
</html>